• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MATCH関数+INDEX関数検索データがずれる)

MATCH関数+INDEX関数検索データがずれる

このQ&Aのポイント
  • 商品コードから検索したMAX値から隣接セルの値を抽出する方法を教えてください。
  • 前回 FORSPORKENさんから教えてもらった関数組み合わせ式で正常にデータを抽出できない箇所があることを確認しました。
  • 特定の商品コードで正常にデータを抽出できない場合の対処方法を教えてください。

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

  • ベストアンサー
  • WAVE2OK
  • ベストアンサー率48% (106/218)
回答No.1

こんにちは😊✨ 新しい式は以下の通りです。 1️⃣最大値を取得する行番号を計算します(この例では、行番号計算という名前で定義します)。 =MATCH(MAX(INDEX(('***oneDrive_URL***/[入出庫帳(20230316).xlsx]qryExport'!$D$2:$D$28000=B6)*('***oneDrive_URL***/[入出庫帳(20230316).xlsx]qryExport'!$J$2:$J$28000),)), INDEX(('***oneDrive_URL***/[入出庫帳(20230316).xlsx]qryExport'!$D$2:$D$28000=B6)*('***oneDrive_URL***/[入出庫帳(20230316).xlsx]qryExport'!$J$2:$J$28000),), 0) 2️⃣次に、行番号計算を使って、該当行の販売店名を取得する式を作成します。 =INDEX('***oneDrive_URL***/[入出庫帳(20230316).xlsx]qryExport'!$M$2:$M$28000, 行番号計算) ※行番号計算は、上記で定義した最大値の行番号を計算する式です。実際には、セル参照に置き換えてください。 この新しい式で、商品コード "06d1100" の問題が解決されることを願っています🙏✨ 何か他にも問題があれば、お気軽にお知らせくださいね!🌟😄

techhouse
質問者

お礼

回答頂きありがとうございます。 返事遅れて申し訳ありません。 正常に販売店の値を抽出できました。 助かりました。

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

関連するQ&A

  • 商品コードから検索したMAX値から隣接セルの値

    現在、基板作成時の各部品の入庫時の単価を抽出して、基板一枚当たりの原価を計算をしています。 在庫らくだの入出庫帳の内容をxlsxファイルに出力し、そのファイル内にある”商品コード”を計算し、複数ある場合は入庫時の価格が最大であるものを抽出するため、次のような式を使いました。 =MAX(INDEX('***oneDrive_URL***/[入出庫帳(20230316).xlsx]qryExport'!$J$2:$J$28000*('***oneDrive_URL***/[入出庫帳(20230316).xlsx]qryExport'!$D$2:$D$28000=B6),)) *ファイルがoneDrive上にあり、そのURLを省略するため”***oneDrive_URL***”としています。 この式で、商品コードの最大値の価格を抽出できました。 それで、抽出できた最大値の価格のセルの3つ右側に、その最大値の価格で購入した販売店の名前が記入されており、このデータを抽出するため次のような式を作ってみました。 =VLOOKUP(MAX(INDEX('***oneDrive_URL***/[入出庫帳(20230316).xlsx]qryExport'!$J$2:$J$28000*('***oneDrive_URL***/[入出庫帳(20230316).xlsx]qryExport'!$D$2:$D$28000=$B6),)),'***oneDrive_URL***/[入出庫帳(20230316).xlsx]qryExport'!$J$2:$O$28000,3,FALSE) しかし、ところどころ違うデータを抽出してきてしまいます。 今回のような場合はどのような式を使ったらよいのか、ご教示の程よろしくお願い致します。

  • ExcelのMATCH関数の検査範囲の指定について

    Excelで、指定した値の場所(行番号)を返すというのをMATCH関数を用いてやっているのですが、検査範囲の指定が上手く処理することができないので教えて下さい。 条件---------------------------------------------------------------------------------------------------------------- 2つのExcelファイル、DATA.xlsx と TEST.xlsx を用いる。 DATA.xlsx内に「B19」というシートが存在し、このシート内のB列にある"7777"という値が存在する行番号をTEST.xlsx内のセルに表示させる。 ----------------------------------------------------------------------------------------------------------------------- まず、 =MATCH(7777,[DATA.xlsx]B19!$B:$B,0) で正しい値が返ってくることは理解しています。 この式の中の、B19というシート名について、 この式が存在するシートと同じシートの適当なセル(ここではA33を使うことにします)にB19 という値が存在するとします。このA33のセルにある値を見て値を返す、何がしたいかといいますと、将来参照するシートがB19ではなく例えばB15であったり、B6とした場合、A33のセルの値を変更すればよいというものにしたいのです。 それで、 =MATCH(7777,"[TEST.xlsx]"&$A33&"!$B:$B",0) としてみたのですが、#VALUE!が返ってきます。 何処が間違っているのか?教えてください。 よろしくお願いします。

  • MATCH関数とINDEX関数の組み合わせ方

    あるシートから別ファイルのシートへ、"金額の値"をコピーしたいのですが、 条件セルが元データでは縦2行(地域と商品名)、コピー先では(列)に配置されているため、 どうやって関数を組んだら良いのかわかりません。  関数ではなく、マクロにしないと無理でしょうか? (マクロでもいいのですが、コードがよくわからないので…)  又、地域はコードで番号順に並んでいますが、商品名はアルファベットと数字が混ざっており、 ソートされていない並び(変更不可)になっています。 Sheet1(元データ)    A      B    C 1 地域   商品名  金額 2 (01関東) (AS01) (200) 3 (01関東) (333B) (250) このSheet1の金額データを別ファイル:Sheet2の該当欄に表示させたい。 Sheet2(コピー先)   A           B     C      D 1 地域\ 商品名 (AS0100) (9999B) (AF205) 2 (01関東)       (200)   (300)   (250) 3 (02中部)       (50)    (250)    (290) どなたか、お知恵を拝借できれば幸いです。

  • エクセル 関数でセルの位置を&で指定したい

    セルの位置を&を使って指定したいのですが出来ません。 何か方法はないですか? (例) 同じフォルダに入っているファイル名「商品番号01」~ファイル名「商品番号99」のA1のセルを表示したい。 商品番号を1つ1つ入力は手間なのでA列にある商品番号を & を使って結びつける。 これでは正しく表示されない。    A列  B列 1行 01  ="'[商品"&A1&".xlsx]sheet'!$A$1" 2行 05  ="'[商品"&A2&".xlsx]sheet'!$A$1" 3行 09  ="'[商品"&A3&".xlsx]sheet'!$A$1"  ・  ・  ・  ・  ・  ・

  • INDEX関数とMATCH関数(長文です)

    実は、以前にこの場で質問をしてINDEX関数の利用を勧められた者です。実際、利用してみましたが、なぜか一定の範囲しか抽出しません。 具体的に現状を書きます。 管理表を作っています。 sheet1     A     B        次回予定日 1|   |      |←150日後日付をかえしたい 2|   |      | 3|   |      | 4|   |      | sheet2       A     B      日付   追加補充  1| 05/2/1 |  有り  | 2| 05/3/15 |  無し  | 3| 05/4/1 |  無し  | 4| 05/4/15 |  有り  | 私が作った関数は sheet1のA1のセルにまず次のような式を入れました。 =INDEX(sheet2!A1:A4,MATCH("有り",sheet2!B1:B4)) 次にsheet1のB1セルに次のような数式を入れました。 =DATE(YEAR(A1)+0,MONTH(A1)+0,DAY(A1)+150) これで、sheet1のBの列の表示形式を日付にしたら一応、一部だけ抽出できました。 最終目的はsheet1のB1のセルに【sheet2のB1~B4の間で最新日付の「有り」があった場合、随時150日後の日付を更新、抽出していきたい】ということです。 今回の場合は”05/2/1”と”05/4/15”に「有り」がある訳ですから、最終的に”05/4/15”の150日後がsheet1のB1セルに抽出されればいいのですが… なぜだか、#N/Aのような表示が出てきてしまいます。 現在わかっている事は、仮にsheet2のB2が「有り」にした場合、私の入力した式でsheet1のB1に150日後の日付が抽出されます。 ところが、sheet2のB3およびB4を「有り」とした場合、#N/A表示が出てきてしまい計算しないようなのです。 範囲はすべて指定しているつもりですが、B1とB2は正しく計算して、B3とB4の場合ではエラーになってしまうのはなぜでしょうか… 長々と恐縮ですが、ご教授願います。

  • エクセルMAXIFS関数で別ブック閉じると参照不可

    現在、基板作成で出力された部品表のエクセルファイルで、180種類の部品の各単価を、在庫らくだから出力された入出庫帳のエクセルファイルから抽出するため、MAXIFS関数で複数ある部品コードの入庫時の単価で一番高値時の数値だけを抽出しました。 数値の抽出はできたのですが、再度表示させようと部品表.xlsxファイルを開くと、その単価のセルが #VALUE! と表示されていることに気づきました。 参照先の入出庫帳.xlsxファイルも開くと、再度単価が正常に表示されることを確認しました。 このMAXIFS関数は、別ブックをリンクして抽出する場合は、2つともエクセルで開いている必要があるのでしょうか? また、部品表.xlsxファイルだけを開いても、単価を抽出・表示できるようにする方法もご教示の程よろしくお願い致します。

  • EXcelの関数の1つの数値を一括で変換する方法

    Excelにて次のような関数を作りました。 {=SUM(IF(入出庫管理!$C$5:$C$153=1,IF(入出庫管理!$D$5:$D$153=1,入出庫管理!$G$5:$G$153,0),0))} 入出庫管理表なるものを作ってそのシートに入力した数値をカレンダーに反映させるものです。 入出庫管理!$C$5:$C$153=1は製品番号、入出庫管理!$D$5:$D$153=1は日付、入出庫管理!$G$5:$G$153,0),0は入庫数です。ここでセル一つ一つに入力するのが面倒なので一月分のセルに最初に記述した関数をコピーした後、製品番号や日付を同時に変換する方法は無いでしょうか?ご教授お願い致します。

  • エクセル関数:他と異なる値が入っている行の抽出

    エクセル関数:他と異なる値が入っている行の抽出 商品の注文データがありまして、 同じ商品でも違う価格が入っている場合の注文があります。 この注文について抽出して、セルにフラグを付けたいのですが・・・ 詳しい方がいましたら計算式を教えて頂けないでしょうか? 添付画像のように、 同じネクタイでも、価格が違う(少数派)の行について、 フラグを立てて抽出したいです。 何卒、よろしくお願いしいます。

  • INDEX関数について

    他の人の質問で回答がありましたが、少し私に分からないところがありました。表には、24や33,19,77などの数字があり、この表から偶数の数と奇数の数を求める関数なのですが、 こう回答がありました。 その1 奇数の数 =COUNT(INDEX(0/(MOD(A1:D4,2)=1),)) この関数で奇数の数が求められるそうですが、このINDEX(0/がよく分かりません。INDEX(範囲、行番号、列番号)ですが、 この関数式を詳しく説明してほしいのです。 よろしくお願いします。 偶数は、全体から奇数の数を引くということでいいのですが、

  • エクセルの関数、式教えてください。

    難しくてどうしてもわかりません。 無知で見よう見まねでやっております。 売上管理シートのE列 商品番号を入力すると その商品番号の 入出庫表シートJ列にある価格を 売上管理シートのT列に自動で入力するには どうしたらよいでしょうか??? 売上管理シートのT列に色々やってみたのですが、 できません。どうしてもわかりません((+_+)) 分かる方、教えてください!よろしくお願いいたします。 ≪売上管理シート≫  (E列)       ・・・・省略      (T列) 商品番号   品名   販売価格  仕入価格 1111111    スイカ   500円    200円 22222     メロン    1000円    600円 ≪入出庫表シート≫  (D列)     ・・・・省略     (J列) 商品コード   品名      仕入価格      1111111     スイカ      500円       5555555      メロン       300円   

専門家に質問してみよう