エクセルでINDEXの使い方について教えてください。
Sheet間で2つの項目がマッチする行の情報を取り出したいと考えています。
例としまして、
いろいろサイトを見ながら考えて以下の構文を使いましたが別の行の情報が取得されてしまいます。
=INDEX(Sheet1!$G:$G,MATCH(E2,Sheet1!$B:$B,0)+MATCH(D2,Sheet1!$C:$C,0))
(E2とD2の項目がマッチする行の情報”Sheet1!$G:$G”を取り出す)
どのようにするのがよいのでしょうか?
よろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
こんばんは!
INDEX関数の使い方ですが、根本的に違っていると思います。
INDEX関数は「INDEX」(列・行の配列の)
○行目・△行目の交差するセルを返す!という関数になります。
今回の場合、INDEXの配列はG列だけですので
Sheet1のB列でE2セルと一致する行番号 と Sheet1のC列でD2セルと一致する行番号 を加えています。
MATCH関数は「数値」を返しますので
仮に
>MATCH(E2,Sheet1!$B:$B,0)で「5」が返り
>MATCH(D2,Sheet1!$C:$C,0)で「10」が返った場合
範囲指定(今回はG列すべて)の15番目、すなわちG15セルの値が返ってしまうと思います。
実際にどのような表の配置になっているのかこちらでは判断できませんので
一般的なINDEX関数の使い方を説明しておきます。
↓の画像で左側がSheet1・右側がSheet2とします。
Sheet2のE4セルに
=INDEX(Sheet1!B2:F10,MATCH(D2,Sheet1!A2:A10,0),MATCH(E2,Sheet1!B1:F1,0))
という数式を入れています。
Sheet1のB2~F10の配列で行方向はD2セルのデータと一致する行・列方向はE2セルのデータと一致する列の交差するセル
すなわち画像ではSheet1のE5セルの「34」が返る!というコトになります。
※ 配列の範囲が1列・1行だけであればINDEX関数の
「行番号」もしくは「列番号」だけの引数を入力するだけで大丈夫です。
質問文から判断できるのはこのくらいです。
この程度でごめんなさいね。m(_ _)m
No.1
- 回答日時:
垢ぬけしませんが参照する側と参照される側の作業列を設けた方が確実のようです。
Sheet1 、Sheet2ともにJ列を作業列とします。
Sheet1のJ2に= B2&C2
Sheet2のJ2に= E2&D2
Sheet2のG列にSheet1のG列の内容を取り出すものとして
Sheet2のG2に =IF(ISERROR(INDEX(Sheet1!G:G,MATCH(J2,Sheet1!$J:$J,0))),"",INDEX(Sheet1!G:G,MATCH(J2,Sheet1!$J:$J,0)))
各関数式は、下へ必要数ドラッグ
お示しの関数式では、目的のデータが例えば2行目にある場合、2+2=4で4行目が参照されることになります。いずれにしてもB列C列を単独にMATCHさせる方法では、列中に重複データがある場合は対応できないようです。
この回答への補足
回答ありがとうございます。
検索側のデータが重複していると正しく値が返せないということなんですね?
サンプルで簡単なデータを作って確認してみましたが、上記関数ではやはり違う値をもってきていました。
もう少し考えてみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【Excel質問】別シートにある複数の同型の表から、同じ行項目にある数字を集計する 4 2023/02/16 00:14
- Excel(エクセル) エクセルでエラーを無視して一番左側のセルの値を返したい 2 2023/07/27 13:06
- Visual Basic(VBA) VBAでvlookup関数から、別シート参照するやり方・・・ 2 2022/11/14 18:49
- Excel(エクセル) フォルダ内のエクセルファイルを開かずにデータ採取する関数式 2 2022/12/22 22:15
- Excel(エクセル) SUMIFSと日付変換 10 2023/04/16 15:38
- Excel(エクセル) エクセルでのコピーペースト 6 2022/09/03 07:14
- Excel(エクセル) この関数の誤りを教えて下さい。 3 2023/08/08 07:36
- Visual Basic(VBA) vbaのvlookup関数エラー原因を教えていただけないでしょうか。 3 2022/04/25 16:16
- その他(プログラミング・Web制作) ZWCAD CUIXとLISPの関係について 1 2022/09/28 03:07
- その他(Microsoft Office) オフィス365のエクセル 3 2023/06/29 13:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでの計算式もしくはシ...
-
6ヶ月経過日を算出する式
-
Excel2003達成率表示
-
受注した数量を最大積載量に応...
-
Excelで四捨・六入がしたいです
-
Excelで時給計算、10:30時間を...
-
【VBA】結合セルの値をoffsetで...
-
ひとつのファイルを一括で複数...
-
拡張子はなぜ、大文字と小文字...
-
フォルダの並び替えの項目を固...
-
softonicという物をダウンロー...
-
Androidアルバムの画像を消去で...
-
ドナルドウズを消す。
-
dirコマンド一文ででフォルダの...
-
DOSコマンドでファイルをコピー...
-
バッチファイルを実行後、終了...
-
XCOPYでネットワーク越しにコピ...
-
Windowsフォルダ内のファイルと...
-
macユーザーです!拡張子「Thum...
-
ユーザーファイルのAppDa...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでの計算式もしくはシ...
-
6ヶ月経過日を算出する式
-
Excelで時給計算、10:30時間を...
-
エクセルで簡単に粗利と利益率...
-
エクセルで行が飛んだセルを一...
-
【VBA】結合セルの値をoffsetで...
-
excel 段階式歩合給与計算につ...
-
一月の連休の求め方
-
excel 顧客人数の年代別集計
-
エクセル 数字並び替え
-
数式条件付き掛け算
-
Androidアルバムの画像を消去で...
-
拡張子はなぜ、大文字と小文字...
-
ひとつのファイルを一括で複数...
-
フォルダの並び替えの項目を固...
-
フォルダの中に1個しかファイ...
-
複数のフォルダへ同時にファイ...
-
ユーザーファイルのAppDa...
-
Windowsフォルダ内のファイルと...
-
softonicという物をダウンロー...
おすすめ情報