- ベストアンサー
VLOOKUP関数で検索結果が違うのは何故?
- VLOOKUP関数を使用して検索結果を表示していますが、結果が正しく表示されない問題が発生しています。具体的には、D2のセルに正常な数字と正常でない数字が入る場合で、結果が異なっています。この原因について教えてください。
- 私は現在、買掛帳および売掛帳を作成しています。その中でVLOOKUP関数を使用して検索結果を出力したいのですが、結果が正しく表示されません。具体的には、D2のセルに異なる数字が入力された場合、E2のセルの値も変わってしまいます。原因を教えてください。
- VLOOKUP関数を使用して検索結果を表示していますが、正常な数字と正常でない数字が入力された場合で、結果が異なってしまいます。具体的には、D2のセルの値によってE2のセルの値も変わってしまう現象が発生しています。この原因はなぜでしょうか。ご教授願います。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
(念のため確認。C2やD2の式にある「A2」は「B2」(「前途繰越金」等の文字列)の誤記ですよね?) EXCEL(少なくとも手元の 2003 )では、質問で示された使い方の LOOKUP 関数と VLOOKUP 関数のどちらも、 検索範囲の部分(D2の式では$E$44:$E$56、E2の式では$C$44:$C$56)は昇順に並べ替えておかないと、正しく検索できません。 E2の式のVLOOKUP 関数は、並べ替えをしなくても正しく検索できる方法がありますが、$C$44:$C$56はもともと番号順に並べているでしょうから、このままでかまわないでしょう。 D2の式のLOOKUP 関数の方にはそのような方法がないので、代わりに MATCH 関数と INDEX 関数で次のように書き直してみてください。 =IF(B2="","",INDEX($C$44:$C$56,MATCH(B2,$E$44:$E$56,0),1)) VLOOKUPのヘルプ http://office.microsoft.com/ja-jp/excel/HP052093351041.aspx LOOKUPのヘルプ http://office.microsoft.com/ja-jp/excel/HP052091631041.aspx 既定の並べ替え順序 のヘルプ http://office.microsoft.com/ja-jp/excel/HP051996691041.aspx MATCH のヘルプ http://office.microsoft.com/ja-jp/excel/HP052091681041.aspx INDEX のヘルプ http://office.microsoft.com/ja-jp/excel/HP052091381041.aspx もし $C$44:$C$56 も番号順に並んでいない場合は、E2 の式を次のどちらかにすればいいでしょう。 =IF(D2="","",VLOOKUP(D2,$C$44:$E$56,3,false)) =IF(D2="","",INDEX($E$44:$E$56,MATCH(D2,$C$44:$C$56,0),1))
お礼
できました!!!すごいですね! INDEX関数やMATCH関数も使って、試行錯誤してみたのですが、きっと使い方が違っていたのですね。この計算式でバッチリ検索してくれました。この表作成に1週間も悩んでいました。分かりにくい説明で、良く理解してくれました。感謝致します。ありがとうございました。今夜は、良く寝れそうです。