メインコンテンツへスキップ

INDEXを使用してn番目の一致を取得する

Author: Amanda Li Last Modified: 2025-08-06

範囲から値のn番目の一致を見つけ、それに対応するデータを取得するには、INDEXROW、SMALL、およびIF関数に基づいた数式を使用できます。

retrieve nth match with index 1

INDEXを使用して値のn番目の一致に関連する情報を取得するにはどうすればよいですか?

上記の表でUsain Boltの3番目の一致に関する情報を取得するには、ROW関数とIF関数を組み合わせて、すべてのUsain Bolt値の行番号で構成される配列を取得できます。次に、SMALL関数を使用して指定したn番目の一致値の行番号を取得します。最後に、その結果をINDEX関数に渡して、同じ行に対応する情報を取得します。

汎用構文

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

√ 注: これは配列数式であり、Ctrl + Shift + Enterで入力する必要があります。

  • return_range: n番目の一致に対応する情報を返す範囲。ここでは年または時間の範囲を指します。
  • lookup_array: n番目の一致の行位置を探す範囲。ここでは勝者の範囲を指します。
  • lookup_value: n番目の一致を検索するために指定した値。ここではUsain Boltを指します。
  • n: n番目の一致を示します。値の最初の一致を見つけるには、nを1に設定します。2番目の一致を見つけるには、nを2に設定します。

Usain Boltの3番目の一致に関する情報を取得するには、以下の数式をセルG8およびG9にコピーまたは入力し、Ctrl + Shift + Enterを押して結果を得てください:

年(セル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))

retrieve nth match with index 2

数式の説明

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

=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,IF(C6:C12=G5,ROW(C6:C12)--ROW(INDEX(C6:C12,1,1))+1)+1) = IF(C6:C12=G5,IF(C6:C12=G5,{6;7;8;9;10;11;12}--6+1)+1): IF関数は、範囲C6:C12の各値がセルG5の値(Usain Bolt)と一致するかどうかを確認します。一致する場合、関数は「対応する行番号-6+1」を返します。そうでない場合はFALSEを返します。結果は次のような配列になります:{FALSE;2;3;4;FALSE;FALSE;FALSE}
  • SMALL(SMALL(IF(C6:C12=G5,ROW(C6:C12)-ROW(INDEX(C6:C12,1,1))+1),G6),G6) = SMALL(SMALL({FALSE;2;3;4;FALSE;FALSE;FALSE},G6),G6): このスニペットは、配列から3番目(セルG6の値)に小さい値を返します。この場合、それは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関数は、範囲B6:B12内の4番目の値を返します。この場合、それは北京2008です。

関連する機能

Excel INDEX関数

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

Excel IF関数

IF関数は、Excelワークブックで最もシンプルで有用な関数の一つです。単純な論理テストを行い、比較結果に基づいてTRUEの場合にはある値を、FALSEの場合には別の値を返します。

Excel ROW関数

ExcelのROW関数は、参照の行番号を返します。


関連する数式

VLOOKUPを使用してn番目の一致を取得する

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

最小のn個の値に関連する情報を取得する

Excelのリスト、テーブル、または行の中で、最小、2番目に小さい、またはn番目に小さい値に対応するデータを取得するには、INDEXとMATCHの数式をSMALL関数と一緒に使用できます。

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

Excelのリスト、テーブル、または行の中で、最大値に対応するデータを取得するには、INDEXとMATCHの数式をMAX関数と一緒に使用できます。

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

テーブル内の最小値に対応するデータを取得するには、INDEXとMATCHの数式をMIN関数と一緒に使用できます。


最高のオフィス生産性ツール

Kutools for Excel - 群衆から一歩抜け出すためのお手伝い

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

Kutools for Excelは300以上の機能を誇り、必要なものがクリック一つで利用可能です...


Office Tab - Microsoft Office(Excel含む)でタブ形式の読み書きを可能に

  • 数十の開いている文書間を1秒で切り替え!
  • 毎日数百回のマウスクリックを減らし、マウス疲れとはおさらば!
  • 複数の文書を閲覧・編集する際の作業効率を50%向上します。
  • Chrome、Edge、Firefoxのように、Office(Excel含む)に効率的なタブをもたらします。