INDEXを使用してn番目の一致を取得する
範囲から値のn番目の一致を見つけ、それに対応するデータを取得するには、INDEX、ROW、SMALL、およびIF関数に基づいた数式を使用できます。
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))
数式の説明
ここでは、以下の数式を例として使用します:
=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関数は、範囲または配列からの指定された位置に基づいて表示される値を返します。
IF関数は、Excelワークブックで最もシンプルで有用な関数の一つです。単純な論理テストを行い、比較結果に基づいてTRUEの場合にはある値を、FALSEの場合には別の値を返します。
ExcelのROW関数は、参照の行番号を返します。
関連する数式
値とその対応する情報のリストがある場合、値のn番目の一致に関連する情報を取得するには、VLOOKUP関数に基づいた数式を使用できます。
Excelのリスト、テーブル、または行の中で、最小、2番目に小さい、またはn番目に小さい値に対応するデータを取得するには、INDEXとMATCHの数式をSMALL関数と一緒に使用できます。
Excelのリスト、テーブル、または行の中で、最大値に対応するデータを取得するには、INDEXとMATCHの数式をMAX関数と一緒に使用できます。
テーブル内の最小値に対応するデータを取得するには、INDEXとMATCHの数式をMIN関数と一緒に使用できます。
最高のOffice生産性ツール
Kutools for Excel - あなたを群衆から際立たせるツール
🤖 | Kutools AI アシスタント: 次の要素に基づいてデータ分析を革新:インテリジェント実行 | コード生成 | カスタム数式の作成 | データの分析とチャートの生成 | Kutools 拡張機能の呼び出し… |
人気の機能:重複の検索、ハイライト、または識別 | 空白行の削除 | データを失うことなく列やセルを結合 | 数式なしで丸める ... | |
スーパーフィルター:複数条件 | 複数値 | 複数シート間 | ファジーマッチ... | |
高度なドロップダウンリスト:簡単なドロップダウンリスト | 依存するドロップダウンリスト | 複数選択可能なドロップダウンリスト... | |
列マネージャー:特定の数の列を追加 | 列の移動 | 非表示列の可視性ステータスの切り替え | 列を比較して同じおよび異なるセルを選択 ... | |
注目機能:グリッドフォーカス | デザインビュー | 強化された数式バー | ワークブックとシートの管理 | オートテキスト ライブラリ (Auto Text) | 日付ピッカー | データの統合 | セルの暗号化/復号化 | リストによるメール送信 | スーパーフィルター | 特殊フィルタ(太字/斜体/取り消し線のフィルタリング...) ... | |
トップ15のツールセット: 12 のテキストツール(テキストの追加、特定の文字を削除 ...) | 50 以上 のグラフタイプ(ガントチャート ...) | 40 以上の実用的な数式(誕生日に基づいて年齢を計算 ...) | 19 の挿入ツール(QRコードの挿入、パスからの画像挿入 ...) | 12 の変換ツール(単語に変換する、通貨変換 ...) | 7 つの結合と分割ツール(高度な行のマージ、Excelセルの分割 ...) | ... さらに |
Kutools for Excelは300以上の機能を誇り、必要なものがワンクリックで手に入ります...
Office Tab - Microsoft Office(Excel含む)でのタブ形式の閲覧と編集を有効にする
- 数十の開いている文書間を1秒で切り替え!
- 毎日数百回のマウスクリックを減らし、マウス手にさよならを告げる。
- 複数の文書を閲覧・編集する際に、生産性が50%向上します。
- Chrome、Edge、Firefoxのように、Office(Excel含む)に効率的なタブをもたらします。