ベテランほど知らずに損してるIllustratorの新常識(10)CSVサポートで身近になったデータ駆動グラフィックでアートワークのバリエーションを作成
「変数」機能を使った「データ駆動グラフィック」は、Illustrator 10(2001年リリース)から搭載されています。これを使うためにはXMLファイルの準備が必要なため、使うのに躊躇される方が多いようでした。
しかし、2017年リリースのIllustrator CC 2018からCSVファイルを扱えることになり、一気に使うハードルが下がりました。
今回は、変数とは何か、どんなときに使えるのか、また、使う上での注意点などについてご紹介します。

本記事の内容をベースにCC道場 #212でデモを行っていますので、合わせてご覧ください。
https://www.youtube.com/watch?v=WR0k-bzLhkI&t=22s
データ駆動グラフィックスとは
たとえば、同じ会社の名刺データを作成する場面を想像してみてください。レイアウトやデザインは共通で、名前やメールアドレスなどの情報だけを差し替えて、複数のバリエーションを効率よく作成していく――これが「データ駆動グラフィックス」と呼ばれる手法です。
テキスト情報の入れ替えだけでなく、顔写真の差し替えや、部署ごとに帯の色を変えるといった条件分岐の設定も可能です。
この「変数」機能は、InDesignでの「データ結合」と同様に扱われ、「可変データ」「バリアブル」「差し込み印刷」などと表現されることもあります。
変数とは?
最初におさえておきたいのが、「変数(へんすう)」という用語です。一般的には「データを入れるための箱」と説明されることが多いですが、Illustratorで使う場合はもう少し具体的に、「特定のテキストや画像を差し替え可能にするために設定するもの」と考えるとよいでしょう。
たとえば、10人の名刺データを作成する場合、「名前」という箱や「メールアドレス」という箱に、それぞれの方のデータを格納していくイメージです。
Illustratorでは、[変数]パネルを使って設定します。[変数]パネルを開くには、[ウィンドウ]メニューの[変数]をクリックします。
可変データの作成の基本
差し替えを行いたいアイテムを「変数」として設定し、その集まりを「データセット」として記録する流れを解説します。
まずはテキストのみで進めます。
変数の設定
まずは、各テキストを変数として扱うための設定を行います。
- 新規ドキュメントを作成し、「名前、ふりがな、メールアドレス」を個別のテキストとして入力する
- 「名前」を選択し、[変数]パネルの[テキストを動的に設定]ボタン(歯車とレゴブロックのようなアイコン)をクリック
- [変数]パネルには「変数1、名前」と表示される
- 同様に、「ふりがな」、「メールアドレス」を変数に登録する
ここまでで、変数を設定する作業は終了です。
データセットの作成
次に、変数にデータを入れる作業を行ってみます。
- [データセットをキャプチャ]ボタン(カメラのアイコン)をクリック
- 「データセット1」と表示される
- 各テキストを書き換える
- [変数]パネルには「*データセット1」と表示されるので、改めてカメラアイコンをクリックする
- 「データセット2」と表示される
- [◀]、[▶]ボタンをクリックすると、最初に入れた「名前、ふりがな、メールアドレス」」と、次に入力した「松浦 美咲、まつうら みさき、matsuura@example.com」が切り替わることを確認できる
同様に、異なる人のデータを入力し、データセットをキャプチャ(記録)して、切り替えを行ってみましょう。
変数として設定したテキストを画面上で編集してデータセットを作成することで、テキストの入れ替えが可能になりました。
CSVを使って大量のデータを操作する
数名程度ならがんばれますが、これが100人分となると時間もかかりますし、ミスも生じるでしょう。そこで、別途、Excelなどで作成したデータを読み込む流れを紹介します。
ワークフローとしては、次のような流れです。
- Excel(やGoogle スプレッドシート)でデータベースを作成する
- CSV形式で書き出す
- IllustratorにCSVを読み込む(変数ライブラリの読み込み)
- 各変数と紐付ける(=バインドする)
細かくみていきましょう。
Excelでデータベースを作成する
ExcelやGoogle スプレッドシートを使ってデータベースを作成します。
- 1行目には項目名を設定する
- 1人ずつの情報は行ごとにまとめる(「レコード」と呼びます)
- たとえば「名前」「ふりがな」「アドレス」などの情報は、各項目ごとに、同じ列に沿って入力します。
Excel からCSV形式で書き出す
Excelの[ファイル]メニューの[名前を付けて保存]をクリックして、[ファイル形式]に「CSV UTF-8 (コンマ区切り) (.csv)」を選択します。
\
Google スプレッドシートからCSV
Google スプレッドシートをお使いの場合には、[ファイル]メニューの[ダウンロード]→[カンマ区切り形式(.csv)]を選択します。
IllustratorにCSVを読み込む(変数ライブラリの読み込み)
- Illustratorの[変数]パネルメニューから[変数ライブラリの読み込み]をクリック
すでに変数設定を行っている場合には「現在のドキュメントには、既に変数が含まれています。現在の変数およびデータセットを上書きしますか?」というアラートが表示されますので、[はい]ボタンをクリックします。
この操作によって、前項で行った手入力の情報はクリアされてしまいます。
各変数と紐付ける(=バインドする)
- ドキュメント上のテキストを選択、[変数]パネルの上の対応する変数を選択し、[テキストを動的に設定]ボタン(歯車とレゴブロックのようなアイコン)をクリック
- 同様にほかのテキストも、変数と紐付けると[データセット]のポップアップメニューから読み込んでCSVファイルのデータセットが参照されていることを確認できる
アウトプット
次にデータセットの活用について考えてみましょう。データセットを切り換えることができるようになりましたが、プリントしたり、別のファイルに保存したりする場合、ひとつずつ設定しては面倒です。
そこで、Illustratorでは操作をアクションに登録し、「バッチ」操作によって連続実行します。
次のアウトプットごとにみてきましょう。
- プリント
- ファイル(Illustratorドキュメント、PDF)
- 画像(PNG、JPEG)
プリント
プリントをアクションに登録し、バッチの[ソース]に「データセット」を選択することでデータセットごとにプリントされます。
- 新規アクションを作成し、記録を開始する
- プリントを実行し、アクションを停止する
- [アクション]パネルで[ダイアログボックスを非表示]ボタンをクリックして、非表示にする(これによって、[プリント]ダイアログボックスが表示されずにプリントが実行されるようになります)
- [アクション]パネルメニューの[バッチ]をクリック
- [バッチ]ダイアログボックスが開いたら[ソース]に「データセット」を設定する
- [OK]ボタンをクリックすると、バッチ処理がスタートする(データセットごとに切り替わりながらプリントされる)
ファイル(Illustratorドキュメント、PDF)
[別名で保存]をアクションに登録し、バッチの[ソース]に「データセット」を選択することで、データセットごと別ファイルとして保存します。
- 新規アクションを作成し、記録を開始する
- [別名で保存]を記録する(ファイル名、保存先は実行時に選択するのでどこでもよい)
- [アクション]パネルメニューの[バッチ]をクリックする
- [バッチ]ダイアログボックスで次のように設定する
- [ソース]を「データセット」に設定する
- [アクションの「保存」コマンドを無視]オプションをオンにする(❶)
- [選択]ボタンをクリックして、書き出し先のディレクトリを指定(❷)
- [ファイル名]を指定する(❸)
- [OK]ボタンをクリックすると、バッチ処理がスタートする(データセットごとに切り替わりながら別名で保存される)
手順1、手順2でのアクションの作成を省略できそうですが、必要です。ただし、保存先やファイル名の設定は、[バッチ]ダイアログボックス内で行うため、アクション作成時には緻密に行う必要はありません。
なお、[バッチ]ダイアログボックスの[アクションの「保存」コマンドを無視]は、「保存」そのものを無視するのではなく、アクションで設定した保存のファイル名と保存先を無視し、[バッチ]ダイアログボックス内で指定する、という意味合いです。
ちなみに、英語版では[Override Action “Save” Commands]となっており、「無視」ではなく、「上書き」と記述されています。
ファイル名
ファイル名のオプションによって、次のようにネーミングされます。
- 「ファイル名 + データセット名」を選択すると、データセット名の前にアンダースコア(_)が入る。しかし、「ファイル名 + 番号」の場合には入らないので、あらかじめ「namecard-.ai」のように保存しておくとよいでしょう。
- 「ファイル名 + 番号」を選択したときには「001000」のように「3桁の連番」+「000」のように設定される。「000」は省略できない
注意点
Illustrator形式(.ai)、PDF(.pdf)ともに、拡張子が付かないことがあります。付かない場合には、自分で拡張子を付けてください。
画像(PNG、JPEG)
[書き出し]をアクションに登録し、バッチの[ソース]を「データセット」を選択することで、データセットごと別ファイルとして書き出します。
- 新規アクションを作成し、記録を開始する
- [ファイル]メニューの[書き出し]→[書き出し形式]をクリックする
- [ファイル形式]に「PNG(png)」を選択し、[書き出し]をクリック
- PNGの書き出しオプションを設定する
- アクションの記録を停止する
- [アクション]パネルメニューの[バッチ]をクリックする
- [バッチ]ダイアログボックスで次のように設定する
- [ソース]を「データセット」に設定する
- [アクションの「書き出し」コマンドを無視]オプションをオンにする(❶)
- [選択]ボタンをクリックして、書き出し先のディレクトリーを指定する(❷)
- [ファイル名]を指定する(❸)
- [OK]ボタンをクリックすると、バッチ処理がスタートする
スクリーン用に書き出し
[ファイル]メニューにある[スクリーン用に書き出し]はアートボードごと、登録したアートワークごとに書き出せる優れた機能ですが、今のところ、アクションに登録することができません。
そこで、従来からある[書き出し形式]を選択します。
画像の扱いと表示のコントロール
Illustratorの変数で扱えるのはテキストだけではありません。テキストのほか、次の3つを扱うことができます。
- リンク画像
- グラフの元データ
- 表示・非表示のコントロール
リンク画像と、表示・非表示のコントロールについてご紹介します。
テンプレートの作成
次のような名刺を作ることを想定します。
このサンプルでは、次の2点を新しく設定してみます。
- 画像の差し替えを行う
- 上部の帯のカラーを性別で変更する(実際には2つの帯を同じ座標に配置し、人によって表示・非表示をコントロールする)
まずは、サンプルとなるデータを作成します。
- 名前、メールアドレス、電話番号を入力
- 変更する必要のないメールアドレス、電話番号のアイコンはパスのまま
- 画像は埋め込まずにリンク
- 上部の帯は同じ座標に配置する
データソースファイルの準備
次のようにデータベースを作成します。
- 名前
- メールアドレス
- 携帯電話
- @画像
- #blue
- #orange
リンクファイルの設定
リンクファイルを設定する場合、データフィールド名(見出し)に@を付けます。
しかし、Excelは「@画像」と入力すると、「その関数は正しくありません。」というアラートが表示されるので「'@画像」のように「@」の前に「'」を入力します。
また、リンクファイルのパスは、次のように設定します。
- Mac:/Users/takano/Documents/cat.jpg
- Windows:C:¥MyDocuments¥cat.jpg
表示・非表示のコントロール
人によって表示する/しないをコントロールするには、データフィールド名(見出し)に#を付けます。
- #blue
- #orange
その他の注意点
- データフィールド名はリンクファイル名にはスペースを含めない
IllustratorにCSVを読み込み、各変数と紐付ける
- [変数]パネルの[読み込み]ボタンをクリック([変数]パネルメニューから[変数ライブラリの読み込み]をクリックしてもよい)
- ドキュメント上のテキストを選択、[変数]パネルの上の対応する変数を選択し、[テキストを動的に設定]ボタン(歯車とレゴブロックのようなアイコン)をクリック
- 配置されたリンク画像を選択、[変数]パネルの上の「画像」を選択し、[リンクファイルを動的に設定]ボタン(テキスト設定と同じボタン)をクリック
- 上部のバーを選択し、[変数]パネルの上の「blue」を選択し、[表示を動的に設定]ボタン(歯車と目玉のアイコン)をクリック
- 青い四角形を非表示にし、背面にあるオレンジのバーを選択し、[変数]パネルの上の「orange」を選択し、[表示を動的に設定]ボタン(歯車と目玉のアイコン)をクリック
- データセットを切り換えると、テキストやリンク画像、上部のバーが変更される
まとめ
今回は「変数」機能を使った「データ駆動グラフィック」を取り上げました。基本的なフォーマットはほぼ同じで、少し内容が異なるグラフィックを作成するときに利用することで、短時間にミスを少なく実装することができます。ぜひ、トライしてみてください。

Illustratorの変数機能は、現在、InDesignと同様の「データ結合」という名称が用いられるようになっていますが、主にアウトプット面で異なります。
Illustratorではアクションを作成してバッチ機能で実行しますが、InDesignでは[結合ドキュメントを作成]機能でデータソースを使って別ドキュメントを作成します。
なお、CSVの準備にはExcel(やGoogle スプレッドシート)が不可欠です。単純にテキストを並べるだけでなく、ソートしたり、ルールにしたがって整形したり、また、“検算”として整合性をチェックするなど、さまざまな局面で必要になりますので、クリエイティブ畑の方も、Excel(やGoogle スプレッドシート)の扱いを身に付けられるとよいでしょう。