エクセルでINDEX関数を使う方法(6つの便利な例)

  • これを共有
Hugh West

があります。 INDEX このチュートリアルでは、この関数がどのように使用されるかを完全に理解することができます。 INDEX 関数は、Excel で単独で、または他の Excel 関数と一緒に機能します。

Excelを取得します。 INDEX 関数を2つの形式で提供します。 配列形式 リファレンスフォーム .

Excel INDEX関数を配列形式で表示する(クイックビュー)。

一つの範囲から複数の値を返したい場合は,配列形式の INDEX 関数を使用します。

ExcelのINDEX関数をリファレンスフォーム(クイックビュー)で表示。

複数の範囲から値(複数可)を返そうとするときは,参照形式の INDEX 関数を使用します。

Excelワークブックをダウンロードする

Excelのワークブックをダウンロードして、ご自身で練習してください。

INDEX関数の使用.xlsx

ExcelのINDEX関数の紹介

機能の目的

指定された範囲内の、特定の行と列の交点にあるセルの値または参照を返す。

配列形式でのINDEX関数の構文。

=INDEX (array, row_num, [column_num])

論拠となる。

議論 必須/任意 価値
勢揃い 必須 セルの範囲、または配列の定数をこの引数に渡す
行番号 必須 セル範囲内の行番号または配列定数を渡す。
col_num オプション セル範囲内の列番号または配列定数を渡す

  • の両方を使用する場合 行番号 列番号 の引数は INDEX の交点にあるセルから値を返す。 行番号 列番号 .
  • を設定した場合 行番号 または 列番号 を 0 に設定すると、列全体の値または行全体の値がそれぞれ配列の形式で取得されます。 これらの値は、配列式を使用してセルに挿入することができます。

INDEX関数の構文(リファレンス形式)。

=INDEX (reference, row_num, [column_num], [area_num])である。

論拠となる。

議論 必須/任意 価値
参照 必須 複数の範囲または配列を渡す
行番号 必須 指定したセル範囲の行番号を渡す
col_num オプション 指定したセル範囲の列番号を渡す
地域番号 オプション 範囲グループから選択したいエリア番号を渡す

  • 配列の値として複数の範囲または配列を渡す場合、area_num も渡す必要がある。
  • もし 地域番号 がない場合は INDEX は,最初の範囲に対して動作します。 地域番号 は、その INDEX 関数は、その特定の範囲内で動作します。
  • 次のステップでは、Excelの「Scope」を使った例をたくさん紹介します。 INDEX を効果的に機能させることができます。

6 INDEX関数を単独で、または他のExcel関数と組み合わせて使用する例

例1: リストから項目を選択する

エクセルの使用 INDEX 関数で、リストから任意の項目を取得することができます。 式では、ハードコードされた行番号や列番号を使用するか、セル参照を使用することができます。

一列の一次元リスト。

例えば、リストから3番目の商品を取得したい場合、以下の数式を セルC13 で行番号(つまりシリアル番号)を指定したこと。 セルC12 .

=index(b5:b10,c12)

あるいは

=index(b5:b10,3)

一行で構成される一次元のリスト。

同様に、1つの行から項目を取り出すには INDEX 機能で、シリアル番号を指定します。 B列 で、以下の式を適用します。 セルC20 :

=index(c17:h17,,b20)

あるいは

=index(c17:h17,3)

セル参照を使用せず、シリアル番号を直接数式に記述することもできますが、よりダイナミックな作業が可能になるため、セル参照を使用することをお勧めします。

多次元リストから項目を取得する。

複数のディメンジョンのリストから項目を取得するには、行番号と列番号を INDEX 関数を使用します。

例えば、項目を取得したい場合は 3列目 第4列 に、以下の数式を挿入する必要があります。 セルC33 .

=INDEX(C26:H29,C31,C32)

  • リストの範囲を超えて行番号を指定した場合、(配列に指定した INDEX 関数) を呼び出すと #REF! .
  • また、配列を参照として参照し、その参照配列に対して INDEX という関数があります。 例えば、式 =INDEX({1,2,3;4,5,6;7,8,9;10,11,12},2,3) は8を返します。 配列定数 {1,2,3;4,5,6;7,8,9;10,11,12} はセミコロンで区切られたカラムを含んでいます。

続きを読む Excel VBAでINDEX MATCHを使用する方法

例2:複数のリストから項目を選択する

もうお気づきかもしれませんが、この INDEX 関数にはもう一つオプションの引数があり、それは [area_num]です。 これにより、INDEX関数に複数の配列や参照範囲を入力し、どの配列から項目や値を返すかを指定することができるようになりました。

例えば、ここに2つのリストがあります。 ウィンドウズ と、もうひとつは MSオフィス を適用して、値を取得することができます。 ウィンドウズ のリストが表示されます。

=INDEX((D5:G9,I5:L9),C11,E11,1)

あるいは

=INDEX((D5:G9,I5:L9),C11,E11,2)

から項目を取得します。 エムエスオフィス のリストが表示されます。

この数式で数値を指定しない場合、Excelはデフォルトで、領域1を考慮して値を返します。

例3:MATCH関数とINDEXを組み合わせて、複数の条件をマッチングして値を返す

があります。 MATCH機能 は、配列の中で指定した値と一致する項目の相対位置を、指定した順序で返します。 指定した範囲の行と列の番号を簡単に取得するには MATCH 関数を使用します。

次の例を見てみましょう。 セル C12 C13.

ステップス

  • で以下の式を適用します。 セルC14 :
=index(b5:e10,マッチ(c13,b5:b10,0),マッチ(c12,b4:e4,0))です。

  • プレス ENTER.

続きを読む INDEX Excelの行と列で複数の条件を一致させる

🔎 このフォーミュラはどのように機能するのですか?

この式の仕組みを一部ずつ見ていきましょう。

  • マッチ(c12,b4:e4,0)

出力します。 3

説明する。 があります。 MATCH 関数は、以下の入力を受け取ります。 セルC12 の範囲内で完全一致を行います。 B4:E4 最後の引数の0桁は完全一致を意味します。 最後に C12 の3列目です。 B4:E4 の範囲にある場合、この関数は 3 を返します。

  • マッチ(c13,b5:b10,0)

出力します。 3

説明 : 1と同じ MATCH しかし、この関数は行単位で動作し、範囲 B5:B10です。 というのは、項目は異なる行にあるが、1つの列になっていることを意味します。

  • インデックス(b5:e10,マッチ(c13,b5:b10,0),マッチ(c12,b4:e4,0))。

出力します。 1930

説明 つまり、INDEX(B5:E10,3,3)となります。 INDEX関数は、B5:E10の範囲内で3行目と3列目に移動し、行と列の交差点から、その値を返します。

続きを読む エクセルでINDEX MATCH式を使う方法(9例)

例4:INDEX関数、MATCH関数、IF関数を組み合わせて、2つのリストから複数の条件をマッチングさせる場合

さて、2つのリストがあり、1つを選択した後に複数の条件を照合したい場合、どうすればよいでしょうか。 ここでは、数式を提供します。

ここにデータセットがあり、Salesのデータがあります。 ウィンドウズ エムエスオフィス を、国や年によって変えています。

3つの基準を設定します。 製品 という名前を付けます。 年です。 国名 を作成し、対応する販売データを取得します。

ステップス

  • 基準セットは以下の通りであるとする。 年:2019年 , 製品:MSオフィス そして 国名:カナダ .
  • セルにセットする C11, C12, C13 を、それぞれご紹介します。
  • では、次の式を適用してください。 セルC14 を打つと ENTER.
=INDEX(INDEX((D5:G9,I5:L9),,,IF(C12="Windows",1,2)),MATCH(C13,B5:B9,0),MATCH(C11,INDEX((D5:G5,I5:L5),,IF(C12="Windows",1,2)),0)))

  • に該当する販売データが表示されます。 セルC14
  • この数式をよりダイナミックにするために データの有効性 .

🔎 このフォーミュラはどのように機能するのですか?

  • IF(C12="Windows",1,2))

出力 : 2

説明 : 以降 セルC12 を含む ウィンドウズ の場合、条件にマッチせず IF機能 は2を返します。

  • INDEX((D5:G9,I5:L9),,,IF(C12="Windows",1,2))

出力 : {2017,2018,2019,2020;8545,8417,6318,5603;5052,8052,5137,5958;9590,6451,3177,6711;5126,3763,3317,9940}

説明 : 以降は IF(C12="Windows",1,2) の部分は2を返すので、この式は次のようになります。 index((d5:g9,i5:l9),,,2) .さて、その INDEX 関数は、それに割り当てられた2番目の範囲を返します。

  • MATCH(C11,INDEX((D5:G5,I5:L5),,,IF(C12="Windows",1,2)),0)

出力 : 3

説明 : 以降 IF(C12="Windows",1,2) の部分は2を返すので、この部分は次のようになります。 match(c11,index((d5:g5,i5:l5),,,2),0)。 今すぐ index((d5:g5,i5:l5),,,,2) パートリターン I5:G5 というのは {2017,2018,2019,2020} .そこで MATCH という式になります。 MATCH(C11,{2017,2018,2019,2020},0) .そして、その MATCH の値2019は3なので、関数は3を返します。 セルC11 は{2017,2018,2019,2020}の配列の3番目の位置にあります。

  • match(c13,b5:b9,0)です。

出力 : 4

説明 : その MATCH の値と一致します。 セルC13 において B5:B9 の文字列 "Canada "の位置であるため、4 を返します。 B5:B9 の範囲である。

  • =INDEX({2017,2018,2019,2020;8545,8417,6318,5603;5052,8052,5137,5958;9590,6451,3177,6711;5126,3763,3317,9940},4,3)

出力 : 3177

説明 そして、4行目と3列目が交差する値を返します。

続きを読む ExcelのIFとINDEX-MATCH (3つの適切な方法)

例5:範囲から行や列をまるごと返す

を使用しています。 INDEX 関数では、範囲から完全に行または列を返すこともできます。 そのためには、次の手順を実行します。

ステップス

  • から最初の行を返したいとします。 ウィンドウズ リストで、次の数式を任意のセル(ここでは セルF11 )を押してください。 ENTER.
=index(d6:g9,1,0)

  • なお、ここでは列番号を0としていますが、列番号を指定せず、引数row_numの後にカンマを入れて、そのまま以下の式で行全体を取得することもできます。
=index(d6:g9,1,)

  • しかし、ただ書くだけでは =index(d6:g9,1) を打つと ENTER, を実行すると、行全体ではなく、最初の行の最初の値だけが取得されます。
  • 最初の列を全体として取得するには、次の式を適用します。 行全体を返す場合に考慮すべきことは、この場合にも当てはまります。
=index(i6:l9,,1)

  • よりも古いバージョンのExcelを使用している場合 Microsoft 365 を使用して範囲から行または列を返すには、Array 式を使用する必要があります。 INDEX 機能です。
  • 例えば、このデータセットでは、売上範囲の各行が4つの値で構成されているので、水平方向に4つのセルを選択し、入力する必要があります。 INDEX 関数を使用します。
  • を押してください。 Ctrl + Shift + Enter を入力すると、数式が配列式になります。
  • 同じように、Entire Columnを表示することができます。
  • 範囲全体を返すには、reference引数に範囲を代入し、列と行の番号に0を入れればよい。 以下に、例として数式を示す。
=index(d6:g9,0,0)

続きを読む Excelで異なる配列から複数の条件をマッチングさせる方法

類似の読み物

  • ExcelでINDEX MATCHの複数条件(配列式を使用しない場合)
  • Excel INDEX 単一/複数の条件と単一/複数の結果を一致させる
  • Excel INDEX MATCHで1つのセルに複数の値を返す
  • Excelでワイルドカードを使用したINDEX MATCHの複数条件 (完全ガイド)
  • エクセルで特定のデータを選択する方法(6つの方法)

例6:INDEX関数はセル参照としても使える

例題5では INDEX 関数を使って、ある範囲から行全体を返すことができます。 また、任意のセルで次の簡単な数式を使っても同じことができます。

=D6:G6

私が言いたいのは、このようなことです。 INDEX 関数は、セル値の代わりにセル参照を返すこともできます。 インデックス(d6:g9,1,4) 代わりに G6 であるため、次のような式になります。

=d6:インデックス(d6:g9,1,4)

🔎 この計算式の評価

  • まず、数式があるセルを選択します。
  • に行ってみてください。 計算式 tab>> フォーミュラ・オーディティング グループ>> をクリックします。 数式を評価する コマンドを使用します。
  • があります。 数式を評価する のダイアログボックスが表示されます。

  • 評価欄には、次のような数式が表示されます。 =d6:インデックス(d6:g9,1,4) .
  • をクリックします。 評価する .
  • 数式がセル範囲を表示するようになりました D$6:$G$6 .
  • だから、全体の INDEX 式は、セル値ではなくセル参照を返しました。

ExcelでINDEX関数を使用する際によくあるエラー

REF!のエラー。

発生する

  • 渡されたrow_num引数が、範囲内の既存の行番号よりも大きい場合。
  • 渡された col_num 引数が、範囲内の既存の列番号より大きい場合。
  • 引数で渡されたarea_numが既存のエリア番号より大きい場合。

VALUE!エラー。

row_num、col_num、area_numに数値以外を指定した場合に発生します。

結論

INDEX 関数は、Excelで最も強力な関数の1つです。 セルの範囲を移動し、セルの範囲からデータを取得するには、多くの時間を使用しますExcelの INDEX Excelの関数で、ユニークな使い方をご存知の方は、ぜひ教えてください。 INDEX 機能については、コメント欄でお知らせください。 当社の ブログ は、このようなExcel関連のコンテンツをもっと見ることができます。

Hugh West は、業界で 10 年以上の経験を持つ、非常に経験豊富な Excel トレーナー兼アナリストです。彼は会計と財務の学士号と経営管理の修士号を取得しています。ヒューは教えることに情熱を持っており、理解しやすい独自の教育アプローチを開発しました。彼の Excel に関する専門知識は、世界中の何千人もの学生や専門家がスキルを向上させ、キャリアで優れた成果を上げるのに役立ってきました。 Hugh はブログを通じて知識を世界に共有し、個人や企業が潜在能力を最大限に発揮できるよう無料の Excel チュートリアルとオンライン トレーニングを提供しています。