次の方法で共有

Excel 2つの条件で数値を拾いたい

833-0862 80 評価のポイント
2026-02-26T02:49:22.2933333+00:00

こんにちは。Excelの数式について教えて頂きたいです。

F列 「No.」が一致かつ、質A,B,D→イチゴから数値を拾う/質C,E→リンゴから数値を拾う

上記の2つの条件で、数式を入力したいです。

ご回答のほどよろしくお願いいたします。

ユーザーの画像

バージョン:Microsoft 365 (バージョン 2408)

Microsoft 365 と Office | Excel | ビジネス向け | Windows
0 件のコメント コメントはありません

質問作成者が受け入れた回答

Jade Ng 12,980 評価のポイント Microsoft 外部スタッフ モデレーター
2026-02-26T06:48:42.8366667+00:00

免責事項:このコンテンツは英語から日本語に翻訳されています。翻訳の過程で軽微な誤りが生じる可能性があります。

こんにちは @833-0862,

Microsoft Q&A フォーラムにご質問を投稿いただきありがとうございます。 ご説明とご提供いただいたサンプルに基づくと、このシナリオは、XLOOKUP と条件ロジックを組み合わせて、結果をイチゴ列とリンゴ列のどちらから取得するかを決定することで対応できます。

  • 品質 = A、B、または D の場合 > イチゴの値を返します。
  • 品質 = C または E の場合 > リンゴの値を返します。
  • 検索は、対応する番号を使用して実行されます。

Excel 365 または Excel 2021 をご利用の場合は、次の数式を使用できます。

=XLOOKUP( C4, Sheet2!$I$4:$I$100, IF( ISNUMBER(MATCH(B4,{"A","B","D"},0)), Sheet2!$L$4:$L$100, Sheet2!$M$4:$M$100 ) )

シート1:

X✓ fx=@XLOOKUP (B2, Sheet2!$A$2:$A$100, Sheet2!$B$2:$B$100, "")AB品質番号C値1D値2EFGHJK収穫した果物の値A72523.54500注記:A72523.54500品質A、B、D > イチゴの値を返すB2027256100B202725品質C、E > リンゴの値を返す6100値1と値2は常に番号の一致によって検索されます。C1426245600E223211850D323.521.52250 シート2:番号値1値2イチゴリンゴ122.519.575016002232110001850323.521.52250200042422.530002500524.5233750410072523.5450048001426245200560020272561006600

  • B4: 品質 (A~E)
  • C4: 番号
  • Sheet2!I:I: 番号列
  • Sheet2!L:L: イチゴの値
  • Sheet2!M:M: リンゴの値

この数式は、まず品質に基づいてどの製品列を使用するかを判断し、次に一致する番号に対応する値を取得します。

参照の問題を回避するため、番号の値は両方のシートで同じ形式(数値とテキスト)で保存されていることを確認してください。

これで動作が明確になれば幸いです。もし誤解があればご指摘いただければ幸いです。

貴重なお時間とご協力に感謝いたします。他にご質問やご支援が必要な場合は、お気軽にお問い合わせください。

ご返信をお待ちしております。


回答が役に立った場合は、「回答を受け入れる」をクリックして、ぜひ高評価をお願いします。この回答についてご質問がある場合は、「コメント」をクリックしてください。

注: 以下の手順に従ってください 当社のドキュメント このスレッドに関連する電子メール通知を受信したい場合は、電子メール通知を有効にしてください。

この回答は役に立ちましたか?

1 人がこの回答が役に立ったと思いました。

1 件の追加の回答

並べ替え方法: 最も役に立つ
  1. motosan 3,230 評価のポイント
    2026-02-27T00:00:30.8066667+00:00

    既に承認済ですが、Microsoft 365 なので INDEX 関数を使って下記のようにしてまとめて計算することもできます。

    改行していますが、改行せず、一行で記述してもかまいません。

    このまま数式欄に貼りつけても動作します。(数式欄では Alt+Enter で改行できます)

    Sheet2!$L$3:$M$3 は見出し行の果物名の範囲です。

    =INDEX(
      Sheet2!$L$4:$M$8,
      MATCH(C4:C8,
            Sheet2!$I$4:$I$8,
            0),
      MATCH(IF(ISNUMBER(MATCH(B4:B8,{"A","B","D"},0)),"イチゴ",
            IF(ISNUMBER(MATCH(B4:B8,{"C","E"},0)),"リンゴ","")),
            Sheet2!$L$3:$M$3,
            0)
    )
    

    また、"A"~"E"を "イチゴ"、"リンゴ"に変換する処理は対応表を作成してVLOOKUP関数で変換するのが良いと思います。

    P Q
    1 果物
    2 A イチゴ
    3 B イチゴ
    4 C リンゴ
    5 D イチゴ
    6 E リンゴ

    果物の位置を計算する数式は下記のようにできます。

      MATCH(VLOOKUP(B4:B8,$P$2:$Q$6,2),
            Sheet2!$L$3:$M$3,
            0)
    

    また、見つからなかった場合は #N/A となりますが、空白にしたい場合は IFERROR 関数や IFNA 関数を使用してください。

    以上、ご参考になれば幸いです。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません

お客様の回答

質問作成者は回答に "承認済み"、モデレーターは "おすすめ" とマークできます。これにより、ユーザーは作成者の問題が回答によって解決したことを把握できます。