[[20210514085603]] 『VLOOKUPについて』(のり) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『VLOOKUPについて』(のり)

 =VLOOKUP(D2,INDIRECT(C2&".csv!$A:$B"),2,FALSE)を教えて頂き、
(toraさんありがとうございます。)
表やグラフを作っていたのですが、ファイルを落とすと表の数字も消える事を今更ながら気づきました。(どうもすいません。)

自分なりに作ってみました。C2に入っている管理1が正ならばD2の管理番号を探して、E2に商品名を表示し、違う場合は管理2で探してD2の管理番号を探して、
E2に商品名を表示し違う場合は管理3で探してD2の管理番号を探して、E2に商品名を表示 を作ったつもりですが#NAME?と表示されます。

=IF(C2=管理1,VLOOKUP(D2,管理1.csv!$1:$1048576,2,FALSE),IF(C2=管理2,VLOOKUP(D2,管理2.csv!$1:$1048576,2,FALSE),IF(C2=管理3,VLOOKUP(D2,管理3.csv!$1:$1048576,2,FALSE)))
  C2=管理1ここの表現が違うのかなと思っています。        
  C2=管理2ここの表現が違うのかなと思っています。        
  C2=管理3ここの表現が違うのかなと思っています。

どこを修正すれば良いか教えて下さい。

< 使用 Excel:Excel2016、使用 OS:Windows10 >


 管理1とか管理2は文字列ですか?
 名前を定義している"値"ですか?

 文字列なら、"管理2"としなければ#NAME?エラーが出ると思います。

(jjj) 2021/05/14(金) 09:19


 #NAME?は(jjj) さんの回答の通りですが
数式で参照するのなら、対象ファイルがCSVならファイルを開いていないとエラーになります
(はまちゃん) 2021/05/14(金) 09:49

 csv!となっていたので、csvという名前のシートだと思いましたが・・・

(jjj) 2021/05/14(金) 10:07


(jjj)さん(はまちゃん)さん大変ありがとうございます。
=IF(C2="管理1",VLOOKUP(D2,管理1.csv!$1:$1048576,2,FALSE),IF(C2="管理2",VLOOKUP(D2,管理2.csv!$1:$1048576,2,FALSE),IF(C2="管理3",VLOOKUP(D2,管理3.csv!$1:$1048576,2,FALSE))))
FALSEと表示されました。拡張子を変えないとダメなんですね。ありがとうございます。
(のり) 2021/05/14(金) 10:14

 IFERRORでネストしていってもよさそうですけどね。
 3つともにない場合はどのように表示したいのでしょうか?
 (存在しないというケースはない?)
(コナミ) 2021/05/14(金) 10:20

(コナミ)さんありがとうございます。
=IFERROR(C2="管理1",VLOOKUP(D2,管理1.xlsx!$1:$1048576,2,FALSE),
IFERROR(C2="管理2",VLOOKUP(D2,管理2.xlsx!$1:$1048576,2,FALSE),
IFERROR(C2="管理3",VLOOKUP(D2,管理3.xlsx!$1:$1048576,2,FALSE),""),""),"")

この関数に対して、多すぎる引数が入力されています と表示されました。

IFERRORの入れる場所を間違えたのかもしれません。 教えていただけたら幸いです。
(のり) 2021/05/14(金) 10:58


 その前に、VLOOKUPの範囲指定が大きすぎませんか?
 列数は2列目だし、シート全部を指定しなくてもできますよね?
(コナミ) 2021/05/14(金) 11:08

 横から失礼します。

 =IF(C2="","",IFERROR(IF(C2="管理1",VLOOKUP(D2,[管理1.xlsx]Sheet1!A:B,2,FALSE),IF(C2="管理2",VLOOKUP(D2,[管理2.xlsx]Sheet1!A:B,2,FALSE),IF(C2="管理3",VLOOKUP(D2,[管理3.xlsx]Sheet1!A:B,2,FALSE)))),""))

 コナミさんからも指摘があるように範囲が広すぎるので勝手に修正してみました。
(bi) 2021/05/14(金) 11:38

 C2はブック選択の為だと思うので

 =IFERROR(VLOOKUP(D2,[管理1.xlsx]Sheet1!$A:$B,2,FALSE),IFERROR(VLOOKUP(D2,[管理2.xlsx]Sheet1!$A:$B,2,FALSE),IFERROR(VLOOKUP(D2,[管理3.xlsx]Sheet1!$A:$B,2,FALSE),"")))

 でいいんじゃないかと思ってます。
(コナミ) 2021/05/14(金) 11:46

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.