複数条件に基づく二次元近似一致
このチュートリアルでは、Excel スプレッドシートの行と列にリストされた複数の条件に基づいて近似一致を検索する方法を、INDEX、MATCH、およびIF 関数を活用してわかりやすく解説します。

Excel で複数の条件に基づいて二次元の近似一致を実行するには、どうすればよいですか?
上記の表に基づき、女性で身長が165.5cm、体重が55kg の場合の衣類のサイズを調べるには、数式に MATCH 関数を2 つ追加します。1 つは IF 関数と組み合わせて行番号(性別と身長)を取得し、もう1 つは列番号(体重)を取得します。その後、INDEX 関数がその座標に基づいて対応するサイズを検索します。(INDEX 関数の数式では、行番号が列番号より前に来る点にご注意ください。)
一般的な構文
=INDEX()return_range,MATCH()lookup_value1,IF()lookup_array2=lookup_value2,lookup_array1),match_type),MATCH(lookup_value3,lookup_array3,match_type))
√ 注意:これは配列数式であり、入力後にCtrl+Shift+Enterを押す必要があります。
- return_range:組み合わせの数式がサイズを返す範囲を指定します。ここでは、サイズの範囲を指します。
- lookup_value:数式が対応するサイズの位置を特定するために使用する値です。ここでは、指定された性別、身長、体重の情報を指します。
- lookup_array:lookup_valueと比較する値のセル範囲です。ここでは、性別・身長・体重の範囲を指します。
- match_type:1 または -1。
1 または省略時(デフォルト)は、MATCH 関数がlookup_value 以下の最大値を検索します。この場合、lookup_array 内の値は昇順に並べられている必要があります。
-1は、MATCH 関数がlookup_value 以上の最小値を検索します。この場合、lookup_array 内の値は降順に並べられている必要があります。
身長が衣類のサイズ女性で、165.5cm、体重が55kg の場合の衣類サイズを調べるには、以下の数式をセル M9 にコピーまたは入力し、Ctrl+Shift+Enterを押して結果を取得してください。
=INDEX()D5:J16,MATCH()M6,IF()B5:B16=M5,C5:C16),1),MATCH(M7,D4:J4,1))

数式の説明
=INDEX()D5:J16,MATCH(M6,)IF(B5:B16=M5,C5:C16),1),MATCH(M7,D4:J4,1))
- IF(B5:B16=M5,C5:C16):IF 関数は、B5:B16の各値がセルM5(女性)の値と一致するかをチェックします。一致した場合、対応するC5:C16の身長値を返し、一致しない場合はFALSEを返します。この数式が生成する配列は次のとおりです:{157;160;162.5;165;167.5;170;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}。
- MATCH(M6,)IF(B5:B16=M5,C5:C16),1)=MATCH(M6,){157;160;162.5;165;167.5;170;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE},1):このmatch_type 1により、MATCH 関数は配列内でセルM6の値である165.5 以下となる最大値の位置を返します。したがって、MATCH 関数は値 165の位置である4を返します。
- MATCH(M7,D4:J4,1):MATCH 関数は3を返します。これは、M7の値 55 以下の最大値が、範囲 D4:J4 内の3 番目の位置にあるためです。
- INDEX()D5:J16,MATCH(M6,)IF(B5:B16=M5,C5:C16),1),MATCH(M7,D4:J4,1)) = INDEX(D5:J16:INDEX 関数は、範囲 D5:J16 内の4 行目と3 列目の交点にある値を取得します。この値はセルF8(M)です。
関連関数
Excel の INDEX 関数は、指定された範囲または配列から、指定された位置に基づいて表示される値を返します。
Excel の MATCH 関数は、指定したセル範囲内で特定の値を検索し、その値が範囲内で何番目に位置しているかを返します。
IF 関数は、Excel ワークブックで最もシンプルで使い勝手のよい関数の一つです。簡単な論理テストを実行し、その比較結果に基づいて、TRUE なら指定した値を、FALSE なら別の値を返します。
関連数式
Excel で行と列を横断して特定の値、つまり指定した行と列の交点にあるセルの値を検索するには、INDEX 関数と MATCH 関数を組み合わせて使うのがおすすめです。
Excel では、数値データセット内から検索値に最も近い値を見つけるために、INDEX 関数、MATCH 関数、ABS 関数、および MIN 関数を組み合わせて使用できます。
場合によっては、複数の条件に基づいて最も近い値や近似値を検索する必要があります。そんなときは、INDEX 関数、MATCH 関数、IF 関数を組み合わせることで、Excel ですばやく実現できます。
Excel スプレッドシートで、列や行の見出しが多数ある大規模なデータベースを扱う際、複数の条件を満たすデータを検索するのは常に難しい作業です。こうしたケースでは、INDEX 関数と MATCH 関数を組み合わせた配列数式が非常に有効です。
従業員のパフォーマンス評価、学生の成績評価、重量に基づく郵便料金の計算など、Excel で近似一致を活用したいシーンはさまざまです。このチュートリアルでは、正確な結果を得るために INDEX 関数と MATCH 関数を組み合わせる方法をわかりやすく解説します。
最高の Office 生産性ツール
Kutools for Excel - あなたを群衆の中から際立たせます
| 🤖 | KUTOOLS AI アシスト:次に基づいてデータ分析を革新します:インテリジェント実行 | コード生成| カスタム数式作成 | データ分析とチャート生成| 拡張機能呼び出し… |
| 人気機能:検索・ハイライト・重複をマーキング | 空白行を削除する | データを失うことなく列の結合またはセルを | 数式を使用しない四捨五入... | |
| スーパー VLookup:複数条件 | 複数値 | 複数シート間 | ファジーマッチ... | |
| 高度なドロップダウンリスト:簡単なドロップダウンリスト | 連動型ドロップダウンリスト | 複数選択可能なドロップダウンリスト... | |
| 列マネージャー:指定した数の列を追加 | 列の移動 | 非表示列の表示状態を切り替え |列を比較して同じ/異なるセルを選択... | |
| 注目の機能:グリッドフォーカス | デザインビュー | 強化された数式バー | ワークブックとシートマネージャー|リソースライブラリ(オートテキスト)| 日付ピッカー | ワークシートの統合 | 暗号化/セルの復号化 | リストからメール送信 | スーパーフィルター | 特殊フィルタ(太字のフォントを持つセルをフィルタリング/イタリック/取り消し線。。。) 。。。 | |
| トップ15 ツールセット:12 テキストツール(テキストの追加、特定の文字を削除...)| 50+チャートタイプ(ガントチャート...)| 40+実用的な数式(誕生日に基づいて年齢を計算します...)| 19 挿入ツール(QR コードを挿入、パスから画像を挿入...)| 12 変換ツール(単語に変換する、為替レートの変換...)| 7 結合と分割ツール(高度な行のマージ、Excel セルを分割...)|。。。他にも多数 |
Kutools for Excel は300 以上の機能を備えており、必要な機能が常にワンクリックで利用できます…
Office Tab - Microsoft Office(Excel を含む)でタブを使った閲覧・編集を可能にします
- 数十もの開いているドキュメントを1 秒で切り替えられます!
- 毎日何百回ものマウスクリックを削減して、マウス手の悩みともさよならしましょう。
- 複数のドキュメントを閲覧・編集する際の生産性が50%も向上します。
- Office(Excel を含む)に、Chrome、Edge、Firefox のような効率的なタブ機能をもたらします。