「StiLL」Excel情報496 オブジェクト--セル内容に応じて画像を切り替える方法
【テーマ】
今回は、セル内容に応じて画像を切り替える方法をご紹介します。
【方法】
セルと画像に名前の定義を関連付けることで実現します。
【参考】
ドロップダウンリストに関しては「バックナンバー275 リストからの入力」、INDIRECT関数については「バックナンバー291 シートの特定セルの値をとる」をご参照ください。
VLOOKUP関数を使うと、セルの内容に応じてセルの値を変えることができますが、
画像を変えることはできません。
今回は、セルの内容に応じて画像を切り替える方法をご紹介します。
■考え方
1.元になる画像
    画像が貼り付けてあるセルに名前をつける
      例:パソコン、キーボードなど
2.入力セルに名前をつける
      例:製品名
3.名前を定義する
      例:画像
    参照範囲は=INDIRECT(「2」でつけた名前)とする
      例:=INDIRECT(製品名)
4.画像に「3」で設定した名前をリンクさせる
      例:画像
例として下図を使用します。
データシート:「製品画像」欄(E列)には画像が貼り付けてあります。
検索画面シート:製品情報を表示します。
■設定方法
1.画像を貼り付けたセルに名前をつける
   「製品画像」項目(E列)の画像があるセルに名前をつけます。
   例では、E2 セルに「パソコン」という名前をつけました。
   E7 セルまで画像が貼り付けてありますので、E7 セルまでそれぞれ名前をつけていきます。
   ポイントは画像ではなく、画像を貼り付けたセルに名前をつけることです。
2.「製品名」欄をドロップダウンリストにする
   今回は、ドロップダウンリストに表示された名前を選ぶと画像が変わるという仕様にしたいと思います。
   例では B3 セルにドロップダウンリストの設定をします。
    ※ドロップダウンリストの設定については、以下のバックナンバーをご参照ください。
【バックナンバー275】セル--入力規則第一弾 リストからの入力
3.ドロップダウンリストを設定したセルに名前をつける
   例では、B3 セルに「製品名」という名前をつけています。
4.「名前の管理」から新規で名前の定義を作成する
   プルダウンリストで選択した製品名の画像に切り替える設定をするため、
   [数式]-[名前の管理]-[新規作成]で名前の定義を設定します。
   「名前」には任意の名前を設定します。(例では、画像という名前を設定しています。)
   「参照範囲」にはINDIRECT関数を使用し、「3」で設定した名前を指定します。
   (例では、=INDIRECT(製品名)を設定しています。)
   INDIRECT関数に「=INDIRECT(B3)」というようにセル番地を設定しても
     画像を切り替えることはできません。
     名前を付けて参照する必要があります。
    ※INDIRECT関数については、以下のバックナンバーをご参照ください。
【バックナンバー291】関数--シートの特定セルの値をとる
5.画像を表示させる枠を作成する
   プルダウンリストから任意の「製品名」を選択後、画像を表示するスペースに任意の画像を貼り付け、
   大きさを調整します。
   画像を貼り付ける際は、として貼り付ける必要があります
     画像やオブジェクトなどをコピーして貼り付ける場合は、
      「貼り付けのオプション」で「図」を選択して貼り付けてください
   その後、貼り付けた画像を選択した状態で、数式バーに「4」で設定した名前を入力します。
   (例では、「製品名」は「パソコン」を選択し、「プリンター」の画像を貼り付け、
   数式バーには「=画像」を入力しています。)
   上記を設定後、「製品名」を「USBメモリ」の選択をすると、画像も「USBメモリ」に変わります。
   (「メーカー名」「発売日」「重量(kg)」はVLOOKUP関数で検索しています。)
    ※VLOOKUP関数については、以下のバックナンバーをご参照ください。
【バックナンバー242】関数--検索機能 VLOOKUP
本件は、リストのセル一つ一つに名前を付ける為、リストが多い場合には向きません。
その場合、StiLLを使って、もっと簡易的に作ることができます。
Copyright(C) アイエルアイ総合研究所 無断転載を禁じます