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関数と一緒に使用できます。
最高のオフィス生産性ツール
Kutools for Excel - あなたを群衆から際立たせるツール
🤖 | Kutools AI Aide: 次の要素に基づいてデータ分析を革新:インテリジェント実行|コード生成 |カスタム数式の作成|データの分析とチャートの生成 |Kutools機能の呼び出し… |
人気の機能:重複を見つける、ハイライトする、または特定する | 空白行を削除 | データを失うことなく列やセルを結合 | 数式を使わずに丸める... | |
スーパー VLookup:複数条件 | 複数値 | 複数シート間 | ファジーマッチ... | |
高度なドロップダウンリスト:簡単なドロップダウンリスト | 従属ドロップダウンリスト | 複数選択可能なドロップダウンリスト... | |
列マネージャー:指定した数の列を追加 | 列を移動 | 非表示の列の可視化ステータスを切り替え | 列を比較して同じ&異なるセルを選択... | |
特徴的な機能:グリッドフォーカス | デザインビュー | 強化された数式バー | ワークブックとシートマネージャー | リソースライブラリ(オートテキスト) | 日付ピッカー | ワークシートの統合 | セルの暗号化/復号化 | リストによるメール送信 | スーパーフィルター | 特殊フィルタ(太字/斜体/取り消し線のフィルタリング...)... | |
上位 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含む)にもたらします。