それもChatGPT!?と驚いた使用方法を教えてください

左右の表は全くの別シートで、抜粋したものです

上記の質問の件でお尋ねします
C2セルから下へVLOOKUP関数で複数条件をつけた結果、希望は青森県・・・としたいところですが

C2=VLOOKUP(A2&B2,$E$2:$G$13,3)

茨城県
茨城県
茨城県
茨城県
千葉県
千葉県
千葉県
千葉県
茨城県
北海道

となってしまいました。
原因を教えていただけると嬉しいです。
よろしくお願いいたします。

「VLOOKUP関数で複数条件を設定につい」の質問画像

質問者からの補足コメント

  • どう思う?

    条件1 くだもの
    条件2 最大値
    を一緒に満たすというのが複数条件(A2&B2)だと解釈しております

      補足日時:2024/12/14 08:37
  • はい。
    その通りです。

    原因がわかれば教えていただけると嬉しいです。

    No.2の回答に寄せられた補足コメントです。 補足日時:2024/12/14 09:00
  • うーん・・・

    申しわけありません
    再現できなかったのですが、解釈としては

    上の表に空白のG列を挿入して
    G列(G2セル)に「みかん」「6」「なし」「2」という「=A2&B2&E2&F2」の式を入れ
    =VLOOKUP(G2,$G$2:$H$12,4,0)
    とした関数をC2セルに入れるということでしょうか

    No.3の回答に寄せられた補足コメントです。 補足日時:2024/12/14 09:46

A 回答 (5件)

こんにちは



>原因を教えていただけると嬉しいです。
原因は関数の意味をほとんど理解していないからとしか言えません。

ご提示の
 >=VLOOKUP(A2&B2,$E$2:$G$13,3)
の場合の意味は
『E列(E列の値は昇順に並べられているものとする)から「みかん6」(=A2&B2)という文字列に近い値を検索し、そのG列の値を返す』
となります。
https://support.microsoft.com/ja-jp/office/vlook …

ご提示の場合、E列が文字列なので、昇順にすると
 なし < みかん < りんご
の順になるはずなのにそうはなっていませんし、その状態から近似値を検索しろという意味になるので、何が返されるのかはエクセルに聞いてみないとわからないと言えます。


そもそもですが、検索する内容が違っていると思われますので、作業列に「E列 & F列」の意味になるものを作成しておいて、そこから「一致」で検索するのが簡単な方法と考えられます。
例えば、D列を作業列として、D2セルに「=E2&F2」を入力し、下方にフィルコピーした上で、これを検索対象範囲として、C2セルに
 =VLOOKUP(A2&B2,D$2:G$13,4,0)
のような式を入力すれば、完全一致での検索が可能になります。
(一致するものが無ければ、エラー表示になります)

スピル機能が使えるバージョンをお使いなら、作業列を用いなくても計算してくれるので、C2セルに
 =INDEX(G2:G13,MATCH(A2:A11&B2:B11,E2:E13&F2:F13,0))
の式を入力すれば、C11セルまで自動でスピルされます。

旧いバージョンでも作業列なしで計算することは可能ですが、VLOOKUP関数よりも更に複雑なものになります。
ちなみに、その場合はC2セルに
=IFERROR(INDEX(G:G,AGGREGATE(15,6,ROW(E$2:E$13)/(A2&B2=E$2:E$13&F$2:F$13),1)),"")
といった感じでしょうか。
    • good
    • 0
この回答へのお礼

ありがとう

ご返答ありがとうございます
問題点を指摘していただいた上、3つの式を提示していただきありがとうございました。
スピル機能がないバージョンのExcelなので3つ目の式を使わせて頂きます

お礼日時:2024/12/14 10:20

VLOOKUPは、検索対象となる範囲の一番左側の列を検索します。


C2=VLOOKUP(A2&B2,$E$2:$G$13,3)
なら、E列が検索されます。
従って、A2&B2で検索はできません。
対策としては、D列に、E列とF列を結合した
E2=D2&F2
を作成し
C2=VLOOKUP(A2&B2,$D$2:$G$13,4,0)
とすれば、OKです。(最後の0を忘れずにつけてください。検索時、完全一致の条件で検索します)
「VLOOKUP関数で複数条件を設定につい」の回答画像4
    • good
    • 0
この回答へのお礼

ありがとう

助かります
ありがとうございました!

お礼日時:2024/12/14 10:27

F列とG列の間にくだものAのとくだものE列と最大値B列と最大値F列の最大値を足した列を作ってVLOOKUP関数を使えばOKです。

この回答への補足あり
    • good
    • 0
この回答へのお礼

助かりました

お礼日時:2024/12/17 21:38

A列くだものがみかんで最大値6でB列くだものみかんで最大値6の場合青森県としたいと言う事でしょうか?

この回答への補足あり
    • good
    • 0

具体的な複数条件を教えてください。

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A