Excelでは、一覧から名前を選択すると、その名前に対応した画像を自動表示する仕組みを作ることができます。商品管理や人物一覧、図鑑のようなデータベース作成などで便利な方法ですが、名前の定義やリンクされた図の設定を間違えると、画像が切り替わらないことがあります。
特にExcel 2019では、INDIRECT関数を使った名前定義とリンクされた図を組み合わせる方法で、画像表示の仕組みを作成できます。この記事では、画像が表示されない原因や設定時の確認ポイント、2種類の画像を切り替える場合の正しい考え方について解説します。
Excelで選択した項目に合わせて画像を表示する仕組み
Excelでプルダウンから選択した項目に対応する画像を表示する場合、基本的には「名前の定義」と「リンクされた図」を利用します。
例えば、登録用シートに商品名と商品画像を登録しておき、表示用シートで商品名を選ぶと該当する画像が表示される仕組みです。
この方法では、画像そのものをセルの値として扱うのではなく、名前定義によって指定した範囲をリンク図として表示します。そのため、名前の設定が少しでも違うと画像が表示されません。
INDIRECT関数による名前定義で確認すべきポイント
設定例では、名前の定義で「=INDIRECT(出力用!$A$2)」のような参照を作成していますが、ここで注意が必要です。
INDIRECT関数は文字列を参照先として扱う関数です。そのため、セルA2に入力されている文字と、登録用シート側で設定した名前が完全一致している必要があります。
例えば、登録用シートで画像の名前を「りんご」と設定している場合、表示用シートのA2にも「りんご」と表示されていなければ正しく参照されません。全角・半角スペースや記号の違いでもエラーになります。
画像2用の「_sub」設定で起こりやすい問題
画像1と画像2を表示したい場合、画像2用に「商品名_sub」のような名前を付ける方法は有効です。
ただし、「=INDIRECT(出力用!$A2 & “_sub”)」という設定の場合、A2の値に「_sub」を追加した名前が実際に存在している必要があります。
例えばA2が「商品A」の場合、Excelは「商品A_sub」という名前を探します。登録用シート側の名前定義が「商品A_sub」になっていなければ、画像は表示されません。
リンクされた図で画像が切り替わらない原因
リンクされた図を利用する場合、貼り付けた図を選択した状態で数式バーに名前定義を入力する必要があります。
しかし、画像をクリックしたつもりでも、画像ではなくセルを選択している場合があります。この状態で数式を入力しても画像の参照先は変更されません。
正しく設定できている場合、画像をクリックすると数式バーに「=商品A」のような名前定義が表示されます。セル選択時とは表示が異なるため確認できます。
登録用シートの画像が未完成でも問題はあるのか
登録用シートのすべての行に画像が入っていない状態でも、基本的には問題ありません。
ただし、表示しようとしている名前に対応する画像範囲が存在しない場合、当然ながら画像は表示されません。
例えば100件分の登録欄を作成していて、まだ10件分しか画像登録していない場合、11件目以降をプルダウンで選択すると参照先がないためエラーになります。
設定時に確認したいチェックリスト
| 確認項目 | 確認内容 |
|---|---|
| シート名 | 数式内のシート名が実際の名前と一致しているか |
| 名前定義 | 画像ごとの名前が正しく登録されているか |
| プルダウン値 | 登録用画像の名前と完全一致しているか |
| リンク図 | 画像ではなくリンクされた図を使用しているか |
| _sub設定 | 追加した名前が存在しているか |
特に多いミスは、表示用シートのプルダウン表示名と、名前の定義で使用している名前が一致していないケースです。
例えば「商品A 」のように末尾に不要な空白が入っているだけでも、Excelでは別の名前として扱われます。
マクロなしで画像表示を作成する場合のおすすめ構成
マクロを使用できない環境では、名前定義とリンクされた図を使う方法が適しています。
登録用シートには「名称」「画像1」「画像2」を整理して配置し、画像ごとに分かりやすい名前を付けます。表示用シートではプルダウンで名称を選択し、その名称を元に画像を参照する構成にすると管理しやすくなります。
また、商品数が増える場合は、最初から名前の付け方を統一しておくことが重要です。「名称」「名称_sub」のような規則を決めておくと、後から画像を追加するときもトラブルが少なくなります。
まとめ|Excelの画像自動表示は名前定義の一致が重要
Excelでプルダウン選択に連動して画像を表示する仕組みは、マクロを使わなくても作成できます。ただし、INDIRECT関数、名前定義、リンクされた図の3つが正しく連携している必要があります。
画像が表示されない場合は、まずプルダウンの文字と名前定義が完全一致しているか、「_sub」を付けた名前が存在しているかを確認しましょう。
設定手順を一つずつ確認すれば、Excel 2019でも商品一覧や管理表などで利用できる画像切り替え機能を作成できます。


コメント