セルに画像を表示するにはどうするか?
後編では、INDIRECT関数を使って名前のついたセルを参照します。

EXCEL技BEST
セルに画像を表示するにはどうするか?後編
前編では 表示するための画像の準備をしました。
ここからが、 実際に ドロップダウンリストと 画像をリンクさせてセルに画像を表示させるための後編となります。
(サンプルファイルは、こちらから 2013基本技19回サンプルデータ)
画像表示用のシートにドロップダウンリスト
17. こちらは画像表示用のシートです。 C 3セルに入力規則を設定して 国名をリストで選べるようにします。データタブの データツールからデータの入力規則をクリックして、 データの入力規則を表示させます。

18. データの入力規則ダイアログで入力値の種類をリストにします。

19.そして元の値を、 データシートから 国名の列を選択してやります。

20. これで ドロップダウンリストから国の名前を選択することができるようになります。

21. 画像を表示させたいセルD1に「=C3」を 入力します。

データシートのセルに名前
22.国旗とその国名が書いてある データシートに移動します。 国旗が貼り付けてあるセルと国名が書いてあるセル範囲全体を選択してから 数式タブの 定義された名前グループから選択範囲から作成をクリックします。

23. これによって 国旗を貼り付けたセルには国名の名前が付けられたことになります。 これが非常に 大切なポイントです。 もし これが国旗ではなく社員の写真ならば、その社員の写真を貼り付けたセルには社員の 氏名を セルの名前 とするわけです。

24.今 A 2セルを選択すると、名前ボックスにはフィリピンと表示されていますね。 このセルには名前が付いていることを利用して、画像付きセルを呼び出すわけです。

画像表示用のシート
25. 画像表示用のシートのD1セルに イメージしやすいように 国旗を一つコピーして貼り付けました。

26. 貼り付けた画像とC3セルをリンクさせるために、=$C$3 と入力します。

27. すると、画像にブータンと表示されて、リンクしたことがわかります。

INDIRECT関数で文字参照する
28. INDIRECT関数を使うために、名前を作成します。

29. 数式タブから定義された名前を選択して名前の管理をクリックします。

30. 新しい名前を作成します。新しい名前ダイアログが表示されたら、ふさわしい名前(イメージしやすいという意味で)を付けます。

31. そして参照範囲に「 =INDIRECT($C$3)」と入力します。 INDIRECT関数を使うことで、この名前は、C3セルに表示された文字列をセル指定とみなすものになります。

32. まだ、画像には文字列の国名ブータンと表示されたままです。

33. ここからが、皆さんが魔法のように感じるところです。「=$C$3」を「=kokki」と書き換えます。

34. すると、kokki という名前は、「=INDIRECT($C$3)」で文字列の表す、 セル範囲つまり、同じ名前のついたセルを参照しますから、データシートのブータンと名前のついたセルを表示することになります。

35. ドロップダウンリストで、国名を変更すれば、図のように国旗も変更されます。

画像とセル幅を合わせる
36. 表示される国旗の画像が、参照しているセル範囲より小さいので、余白も表示されてしまいます。

37. そこで、セルの幅を画像の横幅に合わせて調節しておきます。

38. 画像サイズとセルの大きさがほぼピッタリのサイズに調整されたので、国旗のまわりに表示された余白が消えました。

39. 画像のサイズを合わせると、気持ちよくきれいに表示されます。
