エクセル2007です。
------------------------------
分類料理名
中華エビチリ
和食お味噌汁
洋食たらこパスタ
------------------------------
と言う表を作り、
D2に「エビチリ」
D3に「=VLOOKUP(D2,A:B,-1,0)」
としました。
しかし、「=VLOOKUP(D2,A:B,-1,0)」が「#N/A」になってしまいます。
「エビチリ」を「A:B」列の中から探して、一個前の列から値を引っ張って、「中華」を表示させたいのですが、何がいけないのでしょうか?
ご回答よろしくお願いします。
No.1ベストアンサー
- 回答日時:
VLOOKUPは、左にあるキー列から右にある値を引っ張ってくる関数です。
-1を指定して右から左を取ってくるみたいなことは、全く出来ません。
配置を入れ替えてA列に「エビチリ」列を配し、B列をVLOOKUPした方が簡単ですが、どうしても配置を動かしたくないときは
=INDEX(A:A,MATCH(D2,B:B,0))
のような関数を使います。
おっしゃるとおり列を入れ替えたらできました!
=INDEX(A:A,MATCH(D2,B:B,0))
でもできました!
VLOOKUPを使わなくてもできるなんて知りませんでした。
ありがとうございました。
No.4
- 回答日時:
「VLOOKUP」がダメなら「LOOKUP」を使って・・・
=LOOKUP(D2,B:B,A:A) の式でも出来ますねぇ~
No.3
- 回答日時:
こんにちは
他の回答者様の言うとおり、VLOOKUPは、列指定に-1というような指定はできません。
理由は、VLOOKUP関数は、指定範囲の最も左の列を検索列として検索し、その列
を1列目として、何列目を取得するかを指定するからです。
検索方法としては、検索列となる料理名を検索範囲の最も左の列にもってくるか
フォームを崩したくないのならば、INDEXとMATCH関数を組み合わせたものを使用します。
=INDEX(A:A,MATCH(D2,B:B,0),1)
INDEX関数は、指定した範囲の指定した行、列を取得します。
=INDEX(検索範囲,行番号,列番号)
検索範囲がA2:B4の場合で =INDEX(A2:B4,3,1)とすると
質問者さんの場合では、"洋食"が返ってきます。
A2:B4を3行2列の配列として、3行目、1列目を返しているのです。
検索列は、A列だけなので、列は1で固定でき、=INDEX(A:A,x,1)とできます。
xは検索したい値が何行目かになりますが、
ここで、MATCH関数を使用します。
MATCH関数は =MACTH(検索値,検索範囲,0または1)です。
最後の0または1は検索の型ですが、0が完全一致です。 詳細は省きます。
MATCH(D2,B:B,0)とすると、B列を検索し、D2の値と一致した時の
何番目にヒットしたかの値を返します。
※B:Bは、B1が先頭(1行目)になりますので、この場合、何行目で一致したか
という情報になります。 もしB2:B12のようにすると、B2が先頭になります。
従って、エビチリと入れると、2行目でヒットするので2が返り、検索したい行を
取得できます。
上記のINDEXとMACTHを組み合わせて
=INDEX(A:A,MATCH(D2,B:B,0),1)
とすると、フォームを崩さずに検索することも可能です。
なにかあれば補足してください。
それでは
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのvlookupについて質問です 3 2023/01/05 15:15
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- Excel(エクセル) Excelの関数についての質問です。(vlookup関数) A列 B列. C 1 大阪 50. 検索 6 2023/08/11 13:35
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
- Excel(エクセル) アウトラインの小計のやり方 1 2023/03/20 11:51
- Excel(エクセル) ExcelにおけるVLOOKUPでの祝日表示について 5 2022/09/18 22:23
- その他(データベース) 伝票番号、品番、在庫としてマクロでもAccessでもデータ表を作りたいのですが、ご指導お願いします 1 2022/11/13 23:48
- Excel(エクセル) エクセル関数のXlookupのフィルハンドル機能(類した機能でも可)を知りたいです。 3 2022/09/20 20:02
- Excel(エクセル) この関数の誤りを教えて下さい。 3 2023/08/08 07:36
- Excel(エクセル) この関数の間違いを教えて下さい 2 2023/08/07 22:40
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VLOOKUPの列番号の最大は?
-
エクセルで離れた列を選択して...
-
「段」と「行」の違いがよくわ...
-
LEFT関数とIF関数の組み合わせ...
-
エクセル 重複したデータを別...
-
エクセルマクロPrivate Subを複...
-
リストからデータを紐付けしたい
-
エクセルマクロの組み方
-
VBA 指定した列にある日時デー...
-
Excel文字列一括変換
-
CSVファイルの「0落ち」にVBA
-
エクセルで複数列の検索をマク...
-
EXCELVBAでリストボックス複数...
-
VBAで別ブックの列を検索し、該...
-
エクセルで住所を県と市・郡と...
-
Excelの行数、列数を増やしたい...
-
エクセルのソートで、数字より...
-
Alt+Shift+↑を一括で行うには、...
-
オートフィルターの複数抽出と...
-
データシートビューのタイトル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで離れた列を選択して...
-
VLOOKUPの列番号の最大は?
-
「段」と「行」の違いがよくわ...
-
LEFT関数とIF関数の組み合わせ...
-
VBA
-
Excelの行数、列数を増やしたい...
-
VBA 指定した列にある日時デー...
-
エクセルで複数列の検索をマク...
-
CSVファイルの「0落ち」にVBA
-
エクセルマクロの組み方
-
エクセルのソートで、数字より...
-
えABのある列って
-
VBAで別ブックの列を検索し、該...
-
Excel文字列一括変換
-
エクセルで住所を県と市・郡と...
-
リストからデータを紐付けしたい
-
Alt+Shift+↑を一括で行うには、...
-
エクセル マクロ 範囲指定で...
-
エクセルで最初の行や列を開け...
-
エクセル 重複 隣の列 一番...
おすすめ情報