最初の部分一致する数値を検索する
Excel で、数値の範囲内に含まれる特定の数値を部分一致で検索し、その最初に見つかった位置を取得したい場合があります。そんなときは、任意の文字数にマッチするワイルドカード「アスタリスク(*)」を使ったMATCH 関数とTEXT 関数を組み合わせた数式が大活躍します。さらに、その位置にある正確な値も取得したい場合は、この数式にINDEX 関数を追加すれば OK です。

最初の部分一致する数値の位置を取得する
最初の部分一致する数値を取得する
最初の部分一致する数値の位置を取得する
上記の数値範囲から「345」を含む最初に部分一致する数値の位置を取得するには、ワイルドカードを使った MATCH 関数と TEXT 関数を組み合わせるのが効果的です。「345」を含む任意の数値に一致させるには、「345」の前後にアスタリスク(*)を配置します。ただし、この操作では数値がテキスト値に変換されるため、数値範囲内の各数値をあらかじめ TEXT 関数でテキストに変換しておく必要があります。これにより、MATCH 関数が部分一致の位置を正確に検出できるようになります。
一般的な構文
=MATCH(「*」&)number&「*」,TEXT()lookup_array,"0"),0)
√ 注:これは配列数式であり、入力時にCtrl+Shift+Enterを押す必要があります。
- number:部分一致で検索する対象の数値を指定します。
- lookup_array:最初に部分一致が見つかる位置を特定するための数値範囲を指定します。
「345」を含む最初の一致する数値の位置を取得するには、以下の数式をセル E6 にコピーまたは入力し、Ctrl+Shift+Enterを押して、結果を取得してください。
=MATCH(「*」&)345&「*」,TEXT()B5:B16,"0"),0)
または、数式を動的にするにはセル参照を使用します:
=MATCH(「*」&)E5&「*」,TEXT()B5:B16,"0"),0)
√ 注:セル参照/数値とテキストを連結するには、間にアンパサンド(&)を挿入する必要があります。また、テキストは二重引用符で囲む必要があります。

数式の説明
=INDEX()「*」&345&「*」,TEXT(B5:B16,"0"),0)
- TEXT(B5:B16,"0"):TEXT 関数は、B5:B16 内のすべての数値を、書式コード“0”を使ってテキストに変換します。その結果、次のようなテキスト配列が得られます:{"56445";"21354";"84265";"54342";"34545";"45632";"87954";"68546";"34567";"75681";"33587";"16467"}。
TEXT 関数の詳細についてはこちらをクリックしてください。TEXT 関数の詳細については、こちらをクリックしてください。 - INDEX()「*」&345&「*」,TEXT(B5:B16,"0"),0) = INDEX(「*」&345&「*」 検索値 「*」&345&「*」は、「345」を含む任意の文字列に一致します(「345」が文字列中のどの位置にあってもマッチします)。match_type 0を指定すると、MATCH 関数は配列内で最初に完全一致する検索値の位置を探します。そのため、MATCH 関数は5を返します。
最初の部分一致する数値を取得する
MATCH 関数が提供する位置に基づいて最初の部分一致する数値を取得するには、以下のように INDEX 関数を使用します。

一般的な構文
=INDEX(MATCH())return_range,「*」&number&「*」,TEXT()lookup_array,"0"),0))
√ 注:これは配列数式であり、入力時にCtrl+Shift+Enterを押す必要があります。
- return_range:組み合わせた数式で、最初に部分一致した結果を返す範囲を指定します。
- number:部分一致の検索対象となる数値を指定します。
- lookup_array:最初に部分一致する値を検索する数値範囲を指定します。
「345」を含む最初の一致する数値を取得するには、以下の数式をセル E7 にコピーまたは入力し、Ctrl+Shift+Enterを押して、結果を取得してください。
=INDEX(MATCH())B5:B16,「*」&345&「*」,TEXT()B5:B16,"0"),0))
または、数式を動的にするにはセル参照を使用します:
=INDEX(MATCH())B5:B16,「*」&E5&「*」,TEXT()B5:B16,"0"),0))

数式の説明
=INDEX()B5:B16,MATCH(「*」&E5&「*」,)TEXT(B5:B16,"0"),0))
- MATCH(「*」&E5&「*」,)TEXT(B5:B16,"0"),0)=5:詳細な処理手順を見るにはここをクリックしてください。詳細な処理手順を確認するには、ここをクリックしてください。
- INDEX()B5:B16,MATCH(「*」&E5&「*」,)TEXT(B5:B16,"0"),0)) = INDEX(B5:B16INDEX 関数は、範囲 B5:B16 内の5 番目の値()34545)を返します。
関連関数
Excel の MATCH 関数は、セル範囲内で特定の値を検索し、その相対位置を返します。
TEXT 関数は、Excel で指定された書式を使用して値をテキストに変換します。
Excel の INDEX 関数は、指定された範囲または配列から、指定位置に基づいて値を返します。
関連数式
Excel で数値範囲内に含まれる特定の文字列と部分一致する最初のセルの位置を取得するには、「区別する」オプションを使用し、アスタリスク(*)や疑問符(?)などのワイルドカード文字を含む数式を利用できます。
Excel で数値データセット内から検索値に最も近い値を見つけるには、INDEX 関数、MATCH 関数、ABS 関数、および MIN 関数を組み合わせてご活用ください。
場合によっては、複数の条件に基づいて最も近い値や近似値を検索する必要があります。そんなときは、INDEX 関数、MATCH 関数、IF 関数を組み合わせれば、Excel で素早く対応できます。
このチュートリアルでは、Excel スプレッドシートの行と列にそれぞれリストされた複数の条件に基づいて近似一致を検索する方法を、INDEX 関数、MATCH 関数、および IF 関数を活用して解説します。
最高の 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 のような効率的なタブ機能をもたらします。