- ベストアンサー
エクセル で VLOOK UP で写真をひろうには?
最近エクセル勉強中なんですが、 VLOOK UPで 数字、文字はひろえるのですが、写真がひろません。 写真をひろうにはVLOOK UPでは無理なんでしょうか? また他のやり方があれば教えてください。 仕事でどうしても必要な作業なため、大変困っています。
- みんなの回答 (9)
- 専門家の回答
質問者が選んだベストアンサー
おはようございます。 休日は、early bird のonlyromです。(^^;;; 先のサンプルでB列に全部の場合はなぜ拙いかというと 検索シートのセルC1から最終行のセルまで、 回答5の説明(1)~(10)を繰り返さないといけないからです。 面倒でしょう?? ひとつふたつなら簡単ですけどね。 ある意味裏技みたいなものですから。。。 22日までなら余裕がありますからゆっくり確実にやっていきましょう。 以上。
その他の回答 (8)
- onlyrom
- ベストアンサー率59% (228/384)
何回目でしょう、onlyromです。 回答2,3で、質問者が実際に作成している表のレイアウトの補足を求めましたが、実際のレイアウトの提示はなく、また、当方のサンプルで説明すれば応用はできるか、できるなら当方のサンプルで説明する、との問いに対してサンプルでの説明を要求されましたしよね。 ということは応用が利くと思ったのですが。。。そうではなかったみたいですね。 ま、愚痴はこれくらいにして。。。(^^;;; 先ず、追加質問(2)ですが B列全部というのは普通の計算式でも実用的ではありません ましてや今回ののは画像ですからブックのサイズが大きくなりすぎ使い物にならないと思いますよ。 やるとしたら、今回の方法ではなくてVBAになります。 さてさて、実際にはどんなことをしたいのでしょうか? 小出しにされては終りが見えませんので 実際に作成しようとしているシートのレイアウトを回答2を参考に提示してください。 追加質問(3)ももちろんできます。 何れにしろ追加質問の件は、VBAでなければ実用的ではありません。 VBAはどれくらいスキルがありますか? これもはっきりと提示してください。 ということで、追加質問(1)の式はいらないということになりますね。 質問者にやる気があれば途中で船を降りることはしませんので。。 ではでは。
お礼
すみません、やる気があるのですが頭がなかなかついていかなくて。 (^^; 本当にごめんなさい
補足
すみません。VBAの知識はまるでないです。 2年ほどプログラミングの会社で働いていましたが、AS400だったので、ほぼど素人と思って下さい。
- onlyrom
- ベストアンサー率59% (228/384)
またまた、onlyromです。 上手くいったようで、何よりです。(^o^)。。 早速ですが、先の回答で書きましたように、式についての重要な説明をちょっと。 現在の式では次のようになるはずです。 (以下は商品検索シートについて) (1)式をセットした段階では、画像表示セルには何も表示されてない (2)番号を入力すると、ヒットした画像が表示される (3)その状態で、番号を消すか、商品一覧にない番号を入れると 画像は(2)で表示された画像がそのまま残っている 場合によっては上記のようになるのは拙い場合があると思いますが、質問者の場合はどうでしょう。 もし、上記(3)で画像を消したいということであれば、ちょっと長い式になりますが提示します。 (式の説明) =INDEX(商品一覧!$D:$D, MATCH(商品検索!$B$3,商品一覧!$A:$A,0)) ●INDEX(範囲、行、列) 範囲の中で、行、列が交差したセルの値を取得する関数 ●MATCH(検索値、検査範囲、検査方法) 検査範囲の中から検査値を探し、ヒットした行又は列番号を返す関数 (ヒットした行又は列番号とは、飽くまでも検査範囲の中) =INDEX(商品一覧の画像列, 商品検索!$B$3が商品一覧の番号列でヒットした行、列は1列なので省略) なので、例えば、番号88が商品一覧のセルA5にあるとして 番号88の画像抽出するために、検索シートのセルB3に88と入れた場合 =INDEX(商品一覧の画像列D列, 5、列は1列なので省略) よって、商品一覧の画像列D列の5行目、セルD5の画像を取得できる 但し通常はセルD5に入力されている値(文字列、数値)を取得するが 今回のようにすると画像を取得できる 上記説明と合わせヘルプを参照することをお勧めします。 それでも、う~ん?という感じの時は、 画像を取得するときは今回のようにするんだ、 と覚えておけばいいでしょう >関数、VBAの勉強方法について 関数は、関数貼り付けダイアログに表示される関数を片っ端からやってみるしかありません。 もちろん使い方が分からないものは、ヘルプを参照、及び掲示板等に質問しながら VBAは、最低でも、入門編、応用編の2冊を購入何度も読み返す、また、掲示板などを常に覗いてみること。 本はどの本でもいいと思いますが、本気でやるなら詳しく載っている厚めの本がいいでしょう。 要は粘りと根性です。(^^;;;
お礼
なにからなにまで本当にありがとうございます。 ( 質問1 ) >場合によっては上記のようになるのは拙い場合があると思いますが、質問者の場合はどうでしょう。 もし、上記(3)で画像を消したいということであれば、ちょっと長い式になりますが提示します ↑ 画像を消す式も教えてもらえますか? ( 質問2 ) 現在、商品検索のB3に商品番号が入力された時のみ写真を検索しにいくかんじになってると思うんですが、 B列全部に商品番号を入力された時という書き方にするにはどうすればいいでしょうか? ( 質問3 ) 商品検索のE列に商品色というものをつくり、商品番号と商品色で写真をひっぱるようにしたいのですが可能ですか? *同じ商品番号でも、商品の色によって表示する写真が異なるもので、すみませんがまたよろしくお願いします。
- onlyrom
- ベストアンサー率59% (228/384)
onlyromです。 >=INDEX(商品一覧!$D:$D,MATCH(商品検索!$B$3,商品一覧!$A:$A,0)) >これはD2のセルのfxのところに入力していいんですよね? そんなことはどこにも書いてませんが。。。(^^;;; 式はセルにセットするわけではありません。 式は 説明(4)で、名前定義ダイアログの参照範囲ボックスに入れなさい、と書いてあるはずですが。 >写真はすでにD2のセルにはりつけておいていいんですか? 写真を抽出するときは、商品一覧から持ってくるわけですから 商品一覧は、ちゃんと完成したものでないと拙いのではありませんか。 A列に商品番号、D列に写真がちゃんと入った状態でなければいけません。 説明のため、商品一覧の1行目の見出しが重要でしたので、 回答では商品一覧は見出しだけにしただけです。 何れにしろ、 回答の説明を順番にしていけばちゃんと写真を抽出できますので D2のセルとか回答に書いてないことは考えずに ●回答を紙にでも打ち出して● 素直な気持ちで、再度挑戦してみてください。 ■で、今晩は何時までトライされますか?
お礼
こんばんわ 今から再度チャレンジしてみます。 今晩はできるまでやるつもりです。
補足
できました!!! 感激です。 本当にありがとうございます。 できればこの関数の意味などを説明をきかせてもらいたいんのですが。 また、エクセルの関数、マクロを今後勉強するにあたって、お勧めの本などありますか? また、どのような勉強の仕方がいいでしょうか?
- onlyrom
- ベストアンサー率59% (228/384)
またまたまた、登場、onlyromです。 ちょときついことを言ってしまいました。 が、それもこれも早期解決の為、ということで。。(^^;;; ----------------------------------------------- ●シート名: 商品一覧 ___A___B___C____D____E__ 1__番号__品名__型番__商品画像__単価_ ●シート名: 商品検索 ___A____B_______C____D_ 1______________________ 2______________________ 3_____【番号入力】__【画像表示】___ 4______________________ 表は上記のようなレイアウトとします。 (1)シート商品一覧を選択 (2)セルD1(項目:商品画像)をクリック (3)「挿入」メニュー > 「名前」 > 「定義」 と進む (4)表示される「名前定義」ダイアログで 名前ボックスに”商品画像”と表示されてるか確認 (表示されていなかったら、”商品画像”と入力する) 次に下部の参照範囲に次の式を入力する (コピーして、参照範囲ボックスに、Ctrl+V で貼り付けても可) =INDEX(商品一覧!$D:$D,MATCH(商品検索!$B$3,商品一覧!$A:$A,0)) (5)OKボタンをクリックする(ダイアログが閉じられる) --------------------------------------------- (6)シート商品検索を選択 (7)セルA1をクリック > 右クリック > コピー と進む (8)セルC3(画像表示のセル)をクリック (9)Shiftキーを押したまま、「編集」メニューをクリック 表示されるサブメニューで「図のリンク貼り付け」をクリック C3に□が選択された状態で表示されるはず (10)数式バーに、"=$A$1" と表示されてるはずなので それを、"=商品画像" に修正する( "" は除く) (11)これで準備OK ■シート商品検索のセルB3に、商品番号を入力すると セルC3に画像が表示されるはずです。 もし上手くいかなかったら質問者が上記のとおりしていないことになりますので 再度設定しなおしてください。 そしてどうしても分からないときは再質問のこと。 また上手くいってもその由お知らせください。 (4)の式について重要な追加説明がありますので。 以上。
お礼
すみませんが理解できるまでお付き合いおねがいします。 上記の手順でつくりましたが、どうしてもうまくいきません。復習の為もう一度確認させてください ●シート名: 商品一覧 =INDEX(商品一覧!$D:$D,MATCH(商品検索!$B$3,商品一覧!$A:$A,0)) これはD2のセルのfxのところに入力していいんですよね? その際なんですけど、写真はすでにD2のセルにはりつけておいていいんですか? 写真とD2のセルとの関係が特になさそうなんですけど。 とりあえず、私はD2のセルに数式を入れました。 そしたら#N/Aとなりましたがいいでしょうか? 私はそのD2のセルの上にオートシェイプタイプの写真をのせてひろえるかと思ったのですが、ひろえませんでした。 商品検索の方で番号入力してひろおうとしても、何もおこりません。何度も上記どおり確認しながらやりましたどうしても、商品画像の写真を拾って表示してくれません。 ご指導のほどおねがいします。
- onlyrom
- ベストアンサー率59% (228/384)
またまた登場、onlyromです。 最初の質問に >仕事でどうしても必要な作業なため、大変困っています。 とありましたので 少しでも迅速に回答するように心がけているつもりですが どうも質問者の返答は遅いように感じます。 実のところ、あまり困ってないのではありませぬか? ということで回答も気が向いたときにさせていただきます。(^^;;;
お礼
返答おそくなりすみませんでした。 毎日帰宅できるのが22時ぐらいなのでご迷惑をおかけしました。 申し訳ないのですが、やはりどうしても必要なので、回答2を用いて説明してもらえないでしょうか? よろしくお願いします。
- onlyrom
- ベストアンサー率59% (228/384)
回答の文言がちょと悪かったみたいでこちらの意図が伝わらなかったようですね。 【実際の表】について回答2のようなかんじで補足してくださいということでした。 回答2は飽くまでも補足するための例です。 回答2の表で説明すれば【実際の表】に応用できますか? 応用できるということでしたら、回答2の表で説明します。 ま、応用といっても大したことはないのですが。。(^^;;; 至急、返答願います。
- onlyrom
- ベストアンサー率59% (228/384)
ちょと試してみたところVlookupでは無理なようですが、 代わりにIndexとMatch関数を使うことで上手くいきました。 ただちょっとした前準備がいりますので、 そしてまた、最近エクセル勉強中ということなので 一発で上手くいくように以下のことを補足してください。 仮に、商品関連の表で、検索キーは商品番号だとします。 ●写真の配置してある表のレイアウトとシート名 シート名_: 商品一覧 見出し行_: 1行目 データ行_: 2行目以降 使用列__: A~E列の5列 キー文字列: A列(例えば商品番号) 写真配置列: D列 ●写真を呼び出したいシート名とセル、キーを入力するセル シート名__: 商品検索 キー入力セル: B3 写真表示セル: C3 ●正確を期すために現在使用しているVlookupの式を どれでもいいですから、ひとつアップしてください。
お礼
ありがとうございます。上記の補足をエクセルにてつくりました。 現在使用しているVlookupの式ですが、=IF(A4="","",VLOOKUP(A4,データ!$A:$C,2,FALSE)) こんなかんじです。 再びご指導のほどお願い澄ます。
- temtecomai2
- ベストアンサー率61% (656/1071)
VLOOKUP 関数は条件に一致した表中の特定列のセル値を返す関数ですので、シート上に貼り付けている図などは対象外です。 "シート上に貼り付けてある図" ということは "シートの上に乗せてあるだけの図" とも言えるわけで、セルの値とは無関係です。 たとえ図の大きさをセルの大きさに合わせて貼り付けても、です。