- ベストアンサー
EXCELで別シートのセル内に画像の貼り付けをしたいのですが・・・
基本シートに番号と名前とその顔写真のファイル名を記入させ、表示シートに番号を入力するとその顔写真をそれぞれ表示させたいのです。 たとえば、 (基本シート) 1 なおこ 01.JPG 2 はるこ 02.JPG (表示シート) 番号入力 「2」 02.jpgの画像の表示 という具合です。VLOOKUP関数ではただファイル名が表示されるだけで、どうしたら画像が表示されるようになるのか教えてください。 うまく説明できていないかもしれませんが、 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
2月19日に回答した内容(図で説明したURL)が、当サイトの利用規約・ルールやマナーに反する内容がございましたので、回答を削除いたしました。ということであなたが見ないまま削除されました。 改めて文章で、「5人の会員名簿から選択した人の写真を表示」する設定で、下記のように手順を作成しましたので、No.2さんご紹介のURLを参考にしながら挑戦してください。関数等の取り扱いについては熟知のようですので、要点だけで余り細かい操作は省略しています。 (手 順) 1.検索用画面(A)と、画像リスト(B)を別々のシートに用意する ・ sheet1(A)のタブ名を「会員検索」にsheet1(B)のタブ名を「プロフィール写真」に変更 (A)のB4に「会員名」と入力、C4に「プロフィール写真」と入力 B7~B11に5名の各会員名を入力(リストの作成) 表示する写真の大きさを決めて行5の縦幅を調整するし、列Cも同様に横幅を調整する (B)のA1に「会員名」、B1に「写真」と入力,A2~A6に(A)と同様の「会員名]を入力 し上記と同様挿入写真を貼り付けられるようセル巾を調整し一欄表を作成 (B)の会員名(または番号)と写真を対応させた「一覧表」に、あらかじめ用意していた 5人の会員の(写真)画像を「挿入」メニュから貼り付け、サイズを調整 2.(B)の画像が入ったセル範囲に名前を付ける 任意のセル(例えばB2)が選択された状態でメニューバーの「挿入」→「名前」→「定義」 「名前の定義」画面の「名前」に「写真」と入力 「参照範囲」に下記の式を設定→OK [ =INDEX(プロフィール写真!$B$2:$B$6,MATCH(会員検索!$B$5,プロフィール 写真!$A$2:$A$6,0)) ] (この式は、MATCH関数で「会員検索」シートのB5に行った会員名が一覧表の何行目に あるかを探し、INDEX関数で該当する行のデータを参照するという意味です。) 3.画像をコピーして検索画面に貼り付ける (A)のB5に(B)A2の「会員名」を入力し (B)の一覧表の「写真」(B2)をコピーし、シートを切り替え(A)のC5に貼り付け、写真が綺 麗に枠に入るようサイズを調整する 4.画像に定義した「名前」をつける コピーした画像を選択した状態にする。 数式バーに「=写真」と入力 5.名前をリスト選択できるようにする あらかじめ会員リストを用意(セル:B7:B11) B5のセルを選択し、「データ」→「入力規制」を選択 「設定」タブ→「入力値の種類」で「リスト」を選択 「元の値」→「セル:B7:B11」を選択→OK(=$B$7:$B$11) 6.リストのデータを非表示にする (A)の7行から11行を選択し、右クリック→「表示をしない」をクリック 7.完成(B5を選択して選択ボタンで名前を選択すれば写真が表示されます。) ご質問の番号で選択する場合は、リストの会員名を番号に変更して下さい。 以上です。
その他の回答 (2)
別のQ&Aに回答された方のリンクがまさにピッタリでしたので http://www.officetanaka.net/excel/function/tips/tips14.htm #1の方のご回答の 1と同じような方法だと思います。
- fukuchan7
- ベストアンサー率51% (156/302)
VLOOKUP関数では、セルに画像を貼りこんでも、セルに数字や文字データのような「値」としては入っていないので参照が出来ません。 方法は、2通りあります。 私は、次の1の方法で、万年カレンダーを作成し各月の表示を「月と花を組み合わせたイラスト」が自動的に表示されるようにしています。 1は、「名前の定義」を使い、この「参照範囲」の設定時に関数を使います。設定する数式は、検索値が何行目にあるかをMATCH関数で求め、その行番号を元にINDEX関数で画像を抽出する方法です。 2つは、データのリンク先(保存場所)を指定できるハイパーリンク関数を使って直接画像を参照する方法です。 いずれも、具体的な内容は、このページで書き切れないようですし、今時間的に長文を作成する時間もありませんので、残念ながらヒントにとどめます。あしからず。 時間的な余裕をいただけるなら具体的な回答ができるかもわかりません。
補足
ヒントありがとうございます。 まだVBAの勉強したてな者なゆえ、具体的な回答をお待ちしています。 ヒントをもとに自分で勉強もしてみますが、よろしくおねがいいたします。