• ベストアンサー

EXCELで別シートのセル内に画像の貼り付けをしたいのですが・・・

基本シートに番号と名前とその顔写真のファイル名を記入させ、表示シートに番号を入力するとその顔写真をそれぞれ表示させたいのです。 たとえば、 (基本シート) 1 なおこ 01.JPG 2 はるこ 02.JPG (表示シート) 番号入力 「2」  02.jpgの画像の表示 という具合です。VLOOKUP関数ではただファイル名が表示されるだけで、どうしたら画像が表示されるようになるのか教えてください。 うまく説明できていないかもしれませんが、 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • fukuchan7
  • ベストアンサー率51% (156/302)
回答No.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)

  • NNAQ
  • ベストアンサー率56% (104/184)
回答No.2

別のQ&Aに回答された方のリンクがまさにピッタリでしたので http://www.officetanaka.net/excel/function/tips/tips14.htm #1の方のご回答の 1と同じような方法だと思います。

全文を見る
すると、全ての回答が全文表示されます。
  • fukuchan7
  • ベストアンサー率51% (156/302)
回答No.1

VLOOKUP関数では、セルに画像を貼りこんでも、セルに数字や文字データのような「値」としては入っていないので参照が出来ません。 方法は、2通りあります。 私は、次の1の方法で、万年カレンダーを作成し各月の表示を「月と花を組み合わせたイラスト」が自動的に表示されるようにしています。 1は、「名前の定義」を使い、この「参照範囲」の設定時に関数を使います。設定する数式は、検索値が何行目にあるかをMATCH関数で求め、その行番号を元にINDEX関数で画像を抽出する方法です。 2つは、データのリンク先(保存場所)を指定できるハイパーリンク関数を使って直接画像を参照する方法です。 いずれも、具体的な内容は、このページで書き切れないようですし、今時間的に長文を作成する時間もありませんので、残念ながらヒントにとどめます。あしからず。 時間的な余裕をいただけるなら具体的な回答ができるかもわかりません。

turtle-h
質問者

補足

ヒントありがとうございます。 まだVBAの勉強したてな者なゆえ、具体的な回答をお待ちしています。 ヒントをもとに自分で勉強もしてみますが、よろしくおねがいいたします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルで次々と画像を表示させたい

    例えば、Sheet1に、支店番号、支店名、住所、電話番号、地図(jpgファイル名)等の項目を作り、100件以上のレコードが入っている表があります。 Sheet2に、上記の1レコード(=1支店)分のデータをA4用紙に見やすく配置したフォーム(?)を作り、VLOOKUP関数を使って、データを表示させるようにしました。(つまりA支店の支店番号を選ぶとA支店のデータが、B支店の支店番号を選ぶとB支店のデータが表示) ★この時、それぞれのレコードのjpgファイルの画像も表示させたいのですが、どのようにすればできるのでしょうか? ハイパーリンクのように他に飛んで表示させるのではなく、エクセルのその場所に表示させたいのです。(1支店分をA4用紙で印刷したいので) 別のシートで、実際に画像を貼付たものとその名前のデータベースを作り、それとリンクを貼る。という方法を知ったのですが、レコード件数がかなりあるので、この方法はちょっと使えません。 他に何かいい方法をご存知の方がいらっしゃいましたら、どうか教えて下さい!関数、Visual Basicの使用でも構いません。 ちなみに画像は、エクセルファイルの置いてある下(サブフォルダ)にまとめて入れております。宜しくお願い致します。

  • 関数式内で参照するシート名をセルで代用したい

    失礼します。 最終ゴールは、シート名にもなっている、バラバラに記入された個々人の目標達成状況を 班ごとに1つのシートにまとめて一目瞭然としたいのです。 この時に、参照するシートからデータを引っ張ることになりますが、 そこで困っていることが、シート名にもなっている個々人の名前の代わりに、 あらかじめ名前を順番に入力したセルを用いたいのです。 しかし、この希望に合致する関数の存在を知りません。 また、どのようなユーザー関数を作ればいいかもわかりません。 そこで、私なりにVLOOKUP関数を用いてサンプルを作り、画像添付いたしましたので、 このサンプルを通して妙案を教えていただけましたら幸いです。 ちなみに第一希望は上述の通りなのですが、第二希望もあります。  (1)一方で、名簿表を作り、番号を割り振る  (2)この番号をVLOOKUP関数の検索値とし、個々人名を名簿表から、    個々人の目標達成状況をその個々人のシートから引っ張ってくる  (3)他方で、そのシートの名を個人名にできるようなユーザー関数を作って入力する    (それぞれの表の特定のセルに番号を入力すれば、その番号を振った個々人の名前を引っ張ってそれをシート名にするような関数) という方法も考えたのですが、(3)がどうしても作れません。

  • エクセルで、条件にあう複数の行を別のシートに抽出する

    《どなたか、お教え下さい》   エクセルで、条件にあう複数の行を別のシートに抽出してまとめる。 「sheet1」の下記の基本データを「sheet2」に「得意先」ごと「日付」の早い順にまとめたいのでが。関数を使ってできないものか、どなたかお教え下さい。「マクロ」や「Access」は使用したことがないので、関数を使ってやりたいと思いますが、できるものでしょうか。よろしくお願いします。 sheet1 番号 得意先 日付 商品名 商品詳細 金額 備考 1   A 2   B 2   B 4   D 5   E 6   F 2   B 3   C 5   E   A    B  番号  得意先   1   A      2   B   得意先名は、番号を入力することで表示されるように   3   C   関数「VLOOKUP」を使って表示させるようにしていま   4   D   す。    5   E   6   F  

  • エクセルの空白セルにリンクする別シートにゼロと表示

    エクセル2010を使用しています。 ひとつのシート(1)のセルが空白になっている場合に別のシート(2)でリンクしているセルにはゼロを表示したいのですが、どうもシート(1)のセルに関数(IFやVLOOKUP)が入力されているのでうまくシート(2)のセルに「0」と表示されません。 関数がないセルを指定すると「0」になります。 シート(2)のセルに「=IF(シート(1), "" ,0,シート(1))」のように強制的にゼロを表示させることもやってみましたが、表示はされますがその結果がグラフなどに反映するように設定してあるので、最終的にはこのやり方では全体的にうまく作動しません。 ですので、関数が入っているセルで空白になっている場合でも、自動的にゼロが反映されるやり方はあるでしょうか? よろしくお願いします。

  • Excelの画像をセルとして参照する

    Excelでセルに画像を割り当て、他のシートで参照することはできますか。 例えば、「基本データ」のシートに名前、住所、電話、顔写真などのデータの入った名簿があり、「名前・写真一覧」シートで名前と顔写真を参照するというイメージです。 つくりたいのは単純な名簿ですので、オートフィルで入力できるだけでよいのですが、「基本データ」シートの名前や写真が変更されたときに「名前・写真一覧」シートにも反映されるようにしたいのです。 何か方法がありましたらよろしくお願いいたします。

  • エクセルの関数で複数のシートにまたがって範囲指定する方法

    VLOOKUP関数の、[範囲]の項目の入力方法について質問です。複数のシートにまたがって同一範囲のセルを指定したいときはどうるれば良いですか?通常は=VLOOKUP(検索値,'[ファイル名]シート名'!範囲,列番号,検索の型)ですが、シートは複数にまたがり範囲が同一の場合は式はどうなりますか?

  • EXCEL LOOKUP関数で別シートをセルから参照したい

    シート:集計表・4月・5月・6月・・・・3月 (4月~3月までは売上表が入っていて、表の形式はまったく同じです。) 集計表のシートにおいて、 A1にシート名を入力することによって、そのシートを使った範囲を取得したいと思ってます。 B2に =vlookup(B1,'A1'!A:B,2,0) この場合、'A1'! は有効しませんが、何かの関数を使ってこれと同じ結果を得たいと考えています。 いろいろ検索しましたが、(検索の仕方も悪いかもしれません。) VLOOKUP関数を使って複数列を範囲としたいので、よく出てくるINDIRECT関数はセル番地を指定する以上、無理だと判断しました・・・。 よろしくお願いします。

  • エクセルで参照する別シート名をセルに入力したい

    エクセルで参照する別シート名をセルに入力したいです。 (1) sheet2とsheet3にそれぞれA1:B10の表があります。    A列には氏名がB列には数値が入力してあります。    (同じ表で月度が違います。) (2) vlookup関数を使ってsheet1のA列に氏名を入力して対応する数値を    B列に求めたいです。 (3) この時、sheet1のC1に「sheet2」「sheet3」と入力することで    参照するシートを変えたいのですが、方法が解りません。 そもそも可能かどうかも解らず、悩んでいます。 ご教授お願いいたします。   

  • エクセルで、2つの選択から、別シートの数字表示する

    恐れ入りますが、 エクセルで、2つの選択から、別シートの数字を 表示させたいのですが。  作業シート 1  番号 氏名 コード名  資格 取得日 2  112 阿部 A001    免許   参照シート 1  番号 氏名 コード名 資格 取得日 2  112 阿部 A001   免許 20130728 番号を入力しかつコード名を入力すると別シート の取得日が表示させるようにしたいのですが。 (コード名、資格は別の参照資格コード表より 表示させております(VLOOKUP)) 大変恐縮ですが、こちらが解決できないために、 業務が滞っております。 恐れ入りますが、ご回答のほう、よろしくお願い 致します。

  • セルの内容を別のシートのセルに呼び出す。

    Sheet1のあるセルを「セルの書式設定」の表示形式の「ユーザー定義」で [=1]"○";[=2]"◎";"有"  と設定し、  1や2や3で「○」 「◎」 「有」 を呼び出すように定義し、 1を入力すると○、2を入力すると◎・・・ が問題なく返って来ているのを確認した上で、 =IF(ISERROR(VLOOKUP(A2,Sheet1!$A$4:$C$33,3,FALSE)),"",IF(VLOOKUP(A2,Sheet1!$A$4:$C$33,3,FALSE)=0,"",VLOOKUP(A2,Sheet1!$A$4:$C$33,3,FALSE))) 以上のような式を入れて、そのセルの内容をSheet2のセルに呼び出したところ、 帰って来た値が「○」 「◎」 「有」ではなく、入力した1,2、3しか返って来ません。 解決方法があれば、どなたかご教授願えないでしょうか。 よろしく、お願い致します。

専門家に質問してみよう