KutoolsforOffice— 1 つのソリューション、5 つの強力なツール。少ない労力で大きな成果。

INDEX で n 番目の一致を取得する

著者アマンダ・リー変更日

範囲からある値の n 番目に一致するものを検索し、その対応するデータを取得するには、INDEX 関数、ROW 関数、SMALL 関数、およびIF 関数を組み合わせた数式を使用できます。

インデックス1でn番目の一致を取得

INDEX を使ってある値の n 番目の一致に関連する情報を取得する方法は?

上記の表からウサイン・ボルトの3 番目の一致に関する情報を取得するには、ROW 関数と IF 関数を組み合わせて、「ウサイン・ボルト」のすべての該当行の行番号からなる配列を作成します。その後、SMALL 関数で n 番目に小さい行番号(=n 番目の一致)を抽出し、その結果を INDEX 関数に渡して、対応する行の情報を取得します。

汎用構文

=INDEX()return_range,SMALL(IF())lookup_array=lookup_value,ROW()lookup_array-ROW(INDEX())lookup_array,1,1))+1),n))

√ 注意:これは配列数式であり、入力時にCtrlShiftEnterを押す必要があります。

  • return_range:n 番目の一致に対応する情報を返す範囲を指定します。ここでは、年または時間の範囲を指します。
  • lookup_array:n 番目の一致の行位置を検索する範囲を指定します。ここでは優勝者(winner)の範囲を指します。
  • lookup_value:n 番目の一致を検索する際に指定する値です。ここでは「ウサイン・ボルト」を指します。
  • n:n 番目の一致を示します。nを1 に設定すると、値の1 番目の一致を検索します。2 番目の一致を検索するには、nを2 に設定します。

ウサイン・ボルトの3 番目の一致に関する情報 を取得するには、以下の数式をセル G8 および G9 にコピーまたは入力し、Ctrl Shift Enter を押して結果を取得してください: to get the results:

年(セル G8)
=INDEX()B6:B12,SMALL(IF())C6:C12=G5,ROW()C6:C12-ROW(INDEX())C6:C12,1,1))+1),G6))
タイム(セル G9)
=INDEX()D6:D12,SMALL(IF())C6:C12=G5,ROW()C6:C12-ROW(INDEX())C6:C12,1,1))+1),G6))

インデックス2でn番目の一致を取得

数式の説明

ここでは以下の数式を例として使用します:

=INDEX(B6:B12,)SMALL()IF(C6:C12=G5,)ROW(C6:C12)-ROW(INDEX(C6:C12,1,1))+1),G6))

  • ROW(C6:C12):ROW 関数は、範囲 C6:C12 内の各セルの行番号を、次のような配列で返します:{6;7;8;9;10;11;12}
  • ROW(INDEX(C6:C12,1,1)):INDEX 関数と ROW 関数を組み合わせることで、このExcel ワークシート内の検索範囲 C6:C12の最初の行番号が取得されます。その値は6です。
  • IF(C6:C12=G5,)ROW(C6:C12)-ROW(INDEX(C6:C12,1,1))+1)=IF(C6:C12=G5,){6;7;8;9;10;11;12}-6+1):IF 関数は、範囲 C6:C12 内の各値がセルG5(つまり)ウサインボルト)と一致するかどうかをチェックします。一致した場合は「対応する行番号-6+1」の計算結果を返し、一致しない場合は FALSE を返します。その結果、次のような配列が得られます:{FALSE;2;3;4;FALSE;FALSE;FALSE}
  • SMALL()IF(C6:C12=G5,)ROW(C6:C12)-ROW(INDEX(C6:C12,1,1))+1),G6)=SMALL(){FALSE;2;3;4;FALSE;FALSE;FALSE},G6):この式は、配列からG6セルで指定された3 番目に小さい値として4を返します。
  • INDEX(B6:B12,)SMALL()IF(C6:C12=G5,)ROW(C6:C12)-ROW(INDEX(C6:C12,1,1))+1),G6))=INDEX(B6:B12,4)INDEX 関数は、年範囲の4 番目の値をB6:B12から返します。その値は北京2008です。

関連関数

Excel INDEX 関数

Excel の INDEX 関数は、指定された範囲または配列から、指定位置に基づいて値を返します。

Excel IF 関数

IF 関数は、Excel ワークブックで最もシンプルかつ有用な関数の一つです。単純な論理テストを実行し、その比較結果が TRUE であれば指定した値を、FALSE であれば別の値を返します。

Excel ROW 関数

Excel の ROW 関数は、指定した参照セルの行番号を返します。


関連数式

VLOOKUP で n 番目の一致を取得する

値とそれに対応する情報のリストがある場合、ある値の n 番目に一致するものに関連する情報を取得するには、VLOOKUP 関数に基づいた数式を使用できます。

最小値上位 n 件に対応する情報を取得する

Excel のリスト、テーブル、または行で、最小値、2 番目に小さい値、または n 番目に小さい値に対応するデータを取得するには、INDEX 関数と SMALL 関数を組み合わせて使用できます。

最大値に対応する情報を取得する

Excel のリスト、テーブル、または行において、最大値に対応するデータを取得するには、INDEX 関数と MATCH 関数を MAX 関数と組み合わせて使用できます。

最小値に対応する情報を取得する

テーブルにおいて最小値に対応するデータを取得するには、INDEX 関数と数式を区別するを MIN 関数と組み合わせて使用できます。


最高の Office 生産性ツール

Kutools for Excel - あなたを群衆の中から際立たせます

🤖KUTOOLS AI アシスト:次に基づいてデータ分析を革新します:インテリジェント実行     コード生成  カスタム数式作成    データ分析とチャート生成  拡張機能呼び出し
人気機能検索・ハイライト・重複をマーキング    空白行を削除する    データを失うことなく列の結合またはセルを    数式を使用しない四捨五入...
スーパー VLookup複数条件    複数値    複数シート間    ファジーマッチ...
高度なドロップダウンリスト簡単なドロップダウンリスト    連動型ドロップダウンリスト    複数選択可能なドロップダウンリスト...
列マネージャー指定した数の列を追加    列の移動   非表示列の表示状態を切り替え  列を比較して同じ/異なるセルを選択...
注目の機能グリッドフォーカス    デザインビュー    強化された数式バー    ワークブックとシートマネージャーリソースライブラリ(オートテキスト)  日付ピッカー    ワークシートの統合    暗号化/セルの復号化   リストからメール送信    スーパーフィルター    特殊フィルタ(太字のフォントを持つセルをフィルタリング/イタリック/取り消し線。。。) 。。。
トップ15 ツールセット12 テキストツールテキストの追加特定の文字を削除...)  50+チャートタイプガントチャート...)  40+実用的な数式誕生日に基づいて年齢を計算します...)  19 挿入ツールQR コードを挿入パスから画像を挿入...)  12 変換ツール単語に変換する為替レートの変換...)  7 結合と分割ツール高度な行のマージExcel セルを分割...)。。。他にも多数
Kutools を好みの言語でお使いいただけます。英語、スペイン語、ドイツ語、フランス語、中国語、および40+言語以上をサポートしています!

Kutools for Excel は300 以上の機能を備えており、必要な機能が常にワンクリックで利用できます…


Office Tab - Microsoft Office(Excel を含む)でタブを使った閲覧・編集を可能にします

  • 数十もの開いているドキュメントを1 秒で切り替えられます!
  • 毎日何百回ものマウスクリックを削減して、マウス手の悩みともさよならしましょう。
  • 複数のドキュメントを閲覧・編集する際の生産性が50%も向上します。
  • Office(Excel を含む)に、Chrome、Edge、Firefox のような効率的なタブ機能をもたらします。