• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MATCH関数とINDEX関数の組み合わせ方)

MATCH関数とINDEX関数の組み合わせ方についての質問

このQ&Aのポイント
  • シートから別ファイルの該当欄に金額データを表示する方法について質問です。
  • 元データの条件セルが縦2行に配置されているため、関数の組み合わせ方に困っています。
  • 地域は番号順に並び、商品名はアルファベットと数字が混ざり、ソートされていない状態です。

質問者が選んだベストアンサー

  • ベストアンサー
noname#204879
noname#204879
回答No.1

Sheet2!B2: =IF(SUMPRODUCT((Sheet1!$A$2:$A$10=$A2)*(Sheet1!$B$2:$B$10=B$1)),INDEX(Sheet1!$C$2:$C$9,SUMPRODUCT((Sheet1!$A$2:$A$10=$A2)*(Sheet1!$B$2:$B$10=B$1),ROW(A$2:A$10)-1)),"")

nekonote19
質問者

補足

ご回答ありがとうございます。この方法で上手くいきました! ただ、最後の ROW(A$2:A$10)-1 の記述は なぜ必要なのかよくわかりませんでした。 後々のためにも、教えて頂ければうれしいです。

すると、全ての回答が全文表示されます。

その他の回答 (2)

noname#204879
noname#204879
回答No.3

[ANo.1この回答への補足]に対するコメント、 「なぜ必要なのか」に対する答えは、それがないと所望の値が得られないからです。 ただし、ROW(A$2:A$10)-1 の代わりに ROW($2:$10)-1 でもOKです。 INDEX(配列,行番号,列番号)の「行番号」に相当する部分を算出するために必要、と言えばお分かりでしょうか?

nekonote19
質問者

お礼

理解しました! ご丁寧にありがとうございます。

すると、全ての回答が全文表示されます。
回答No.2

Sheet1の金額の前に1列足して、「地域&商品名」を作れば、 Sheet2!C3: =vlookup($A3&C$1, Sheet1!C:C, 2, FALSE) でおしまい。

nekonote19
質問者

お礼

ご回答ありがとうございます。 確かにこの方法が一番シンプルなのですが、 Sheet1にあたるファイルは書式を変更してはいけない ということと、商品欄の並び(これも変更不可)が 必ずしも昇順ではなかったので VLookupは使えないかと思うのです。 関数だけでやりくりするには、限界があるのかもしれません。

すると、全ての回答が全文表示されます。

関連するQ&A