最初の部分一致する数値を検索
Excelで数値範囲内に特定の数値を含む最初の部分一致の位置を取得する必要がある場合があります。この場合、任意の文字数に一致するワイルドカードであるアスタリスク(*)を組み込んだMATCH関数とTEXT関数が役立ちます。また、その位置にある正確な値も知りたい場合は、INDEX関数を追加するとよいでしょう。
最初の部分一致する数値の位置を取得
最初の部分一致する数値を取得
最初の部分一致する数値の位置を取得
上記のように「345」を含む最初の部分一致する数値の位置を取得するには、ワイルドカードと一緒にMATCH関数とTEXT関数を使用します。345を含む任意の数値に一致させるためには、345を2つのアスタリスク(*)で囲みます。ただし、この操作により数値はテキスト値に変換されます。したがって、TEXT関数を使用して数値範囲内の数値をテキストに変換する必要があります。これにより、MATCH関数が部分一致の位置を正しく見つけられるようになります。
一般的な構文
=MATCH("*"&数値&"*",TEXT(検索範囲,"0"),0)
√ 注: これは配列数式であり、Ctrl + Shift + Enterで入力する必要があります。
- 数値: 指定された最初の部分一致を検索する数値。
- 検索範囲: 最初の部分一致の位置を取得するための数値範囲。
「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関数についてさらに詳しくはこちらをクリックしてください。 - INDEX("*"&345&"*""*"&345&"*",TEXT(B5:B16,"0"),0) = INDEX("*"&345&"*""*"&345&"*",{"56445";"21354";"84265";"54342";"34545";"45632";"87954";"68546";"34567";"75681";"33587";"16467"},0): 検索値 "*"&345&"*" は、「345」という文字列を含む任意の文字列に一致します。345が文字列内のどの位置にあっても関係ありません。match_type 0 は、MATCH関数に配列内の最初の完全一致の位置を見つけるように指示します。したがって、MATCHは5を返します。
最初の部分一致する数値を取得
以下に示すように、MATCHによって提供される位置に基づいて最初の部分一致する数値を取得するには、INDEX関数に注目しましょう。
一般的な構文
=INDEX(MATCH(戻り範囲,"*"&数値&"*",TEXT(検索範囲,"0"),0))
√ 注: これは配列数式であり、Ctrl + Shift + Enterで入力する必要があります。
- 戻り範囲: 組み合わせた数式が最初の部分一致を返す範囲。
- 数値: 指定された最初の部分一致を検索する数値。
- 検索範囲: 最初の部分一致を取得するための数値範囲。
「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:B16B5:B16,MATCH("*"&E5&"*",TEXT(B5:B16,"0"),0)) = INDEX(B5:B16B5:B16,5): INDEX関数は、戻り範囲B5:B16の5番目の値を返します。それは34545です。
関連する関数
ExcelのMATCH関数は、指定された範囲内で特定の値を検索し、その値の相対的な位置を返します。
TEXT関数は、Excelで指定された形式で値をテキストに変換します。
ExcelのINDEX関数は、指定された範囲または配列から位置に基づいて表示される値を返します。
関連する数式
Excelで範囲内の特定のテキスト文字列を含む最初の部分一致の位置を取得するには、ワイルドカード文字であるアスタリスク(*)や疑問符(?)を使用したMATCH数式を利用できます。
Excelで数値データセット内の検索値の最も近い一致を探すには、INDEX、MATCH、ABS、MIN関数を一緒に使用できます。
場合によっては、複数の条件に基づいて最も近いまたは近似一致値を検索する必要があるかもしれません。INDEX、MATCH、IF関数を組み合わせることで、Excelで迅速にこれを実行できます。
このチュートリアルでは、列と行にリストされた複数の条件に基づいて近似一致を検索する方法について説明します。INDEX、MATCH、およびIF関数の助けを借りて、Excelスプレッドシートでこれを行う方法を解説します。
最高のオフィス生産性ツール
Kutools for Excel - 群衆から一歩抜け出すためのお手伝い
🤖 | KUTOOLS AI アシスタント: 次の基盤でデータ分析を革新: スマート実行 | コード生成 | カスタム数式を作成 | データを分析しチャートを生成 | 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含む)に効率的なタブをもたらします。