重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

テーブル上で、構造化参照でのINDEX・MACH関数を設定するとなかなかうまくいきません。
行番号を取り出すMATCH関数は

MATCH(売上!$B2,商品マスタ![[商品ID]:[商品ID]],0) と指定していますが

見出しも含まれてしまうため、上記関数の結果は1つ前の行のセル番号を返します。

正しい行番号を出すために、MATCH(売上!$B2,商品マスタ![[商品ID]:[商品ID]],0)+1
としないといけないのですが、見出し行を含めずにデータ範囲のみ指定するには構造化参照ではどのように記載すればよいでしょうか?

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

  • うーん・・・

    式は以下です。
    =INDEX(テーブル2[#すべて],MATCH(M売上11月!$B2,テーブル2[[商品ID]:[商品ID]],0)+1,MATCH(M売上11月!C$1,テーブル2[#見出し],0))

    M売上11月のB列:商品ID
    テーブル2:商品マスタ
    M売上11月のC列:商品名

    列の指定では、見出し「商品名」を、テーブル「商品マスタ」の見出しから引っ張ってきています。(こちらは関数を他の列に適応しても正しい列番号を返してくれます)

      補足日時:2021/10/07 07:52

A 回答 (3件)

=INDEX(テーブル2,MATCH(M売上11月!$B2,テーブル2[[商品ID]:[商品ID]],0),MATCH(M売上11月!C$1,テーブル2[#見出し],0))



でいいんじゃないですか?
    • good
    • 0
この回答へのお礼

ありがとうございます!できました。テーブル2[#すべて]→教えて頂いた通り、テーブル2だけにしたら、正しく機能しました。構造参照なかなか慣れず、よくわからないです><

お礼日時:2021/10/08 09:53

=INDEX(テーブル2[#すべて],MATCH(M売上11月!$B2,テーブル2[[商品ID]:[商品ID]],0)+1,MATCH(M売上11月!C$1,テーブル2[#見出し],0))


の中の「MATCH(M売上11月!$B2,テーブル2[[商品ID]:[商品ID]]」の中の「テーブル2[[商品ID]:[商品ID]]」が変じゃありませんか。
「テーブル2[[#すべて],[商品ID]」ではありませんか。
見出し行を含めた行数(+1)がmatch関数で応答されると思います。
    • good
    • 0
この回答へのお礼

ありがとうございます!すみません、わたしが構造参照をよくわかっておらず、教えて頂いた通り、テーブル2[[#すべて],[商品ID]としたところエラーが出てしまいました。( テーブル2[[#すべて]:[商品ID]]でもやってみましたが、こちらもだめでした。。)

お礼日時:2021/10/08 10:03

INDEXの指定はどうなっているのですか?

    • good
    • 0
この回答へのお礼

ありがとうございます。関数の説明が足りておらず失礼しました。補足に記載いたしました。

お礼日時:2021/10/07 07:53

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