メインコンテンツへスキップ

Excelですべての部分一致を抽出する方法は?

列から特定のキーワードを含むすべての一致を抽出し、列または下のスクリーンショットに示すように区切り記号で区切られたセルにリストする場合、Excel でこのタスクをどのように解決できますか?

数式ですべての部分一致を垂直方向に抽出する

ユーザー定義関数を使用してすべての部分一致を単一のセルに抽出する


数式ですべての部分一致を垂直方向に抽出する

部分的なテキストに基づいて列内のすべての一致を垂直方向に抽出するには、次の配列数式を使用すると便利です。

Step1: 以下の数式をコピーして、結果を入力する空白のセルに貼り付けてください。

=INDEX($A$2:$A$14,SMALL(IF(ISNUMBER((SEARCH($C$2,$A$2:$A$14))),MATCH(ROW($A$2:$A$14),ROW($A$2:$A$14)), ""),ROWS($E$1:E1)),COLUMNS($E$1:E1))

Note:上記の式では、 A2:A14 セルには、一致を返したいキーワードが含まれている可能性があります。 C2 というキーワードが含まれており、 E1 数式の上のセルです。

Step2:次に、 Ctrl + Shift + Enter キーを同時に押して最初の結果を取得し、フィル ハンドルを下にドラッグして、エラー値が表示されるまですべての一致を取得します。 最後に、エラー値を削除します。スクリーンショットを参照してください。


ユーザー定義関数を使用してすべての部分一致を単一のセルに抽出する

すべての一致を単一のセルに抽出し、特定の区切り記号で区切る必要がある場合、それを解決できる数式がない可能性があります。 ここでは、以下のユーザー定義関数を適用する必要があります。

Step1: 押す Altキー+ F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。

Step2: の中に アプリケーション向け Microsoft Visual Basic ウィンドウ、クリック インセット > モジュール、次に次のコードをモジュールにコピーします。

VBA コード: すべての部分一致を XNUMX つのセルに抽出する

Function ExtractPartMatch(rngInput As Range, rngSource As Range, Optional sDelimiter As String)
'Updateby ExtendOffice
Dim rng As Range
If sDelimiter = "" Then sDelimiter = ", "
For Each rng In rngSource
    If InStr(1, rng.Value, rngInput.Value, vbTextCompare) > 0 Then ExtractPartMatch = ExtractPartMatch & sDelimiter & rng.Value
Next
If Len(ExtractPartMatch) > 0 Then ExtractPartMatch = Mid(ExtractPartMatch, 2, Len(ExtractPartMatch))
End Function

Step3: コードを貼り付けた後、結果を表示するワークシートに戻り、次の式を入力してください。 =ExtractPartMatch(C2,$A$2:$A$14)を押します。 入力します 以下のスクリーンショットのように結果を取得するためのキー:

最高のオフィス生産性向上ツール

人気の機能: 重複を検索、強調表示、または識別する   |  空白行を削除する   |  データを失わずに列またはセルを結合する   |   数式なしのラウンド ...
スーパールックアップ: 複数の基準の VLookup    複数の値の VLookup  |   複数のシートにわたる VLookup   |   ファジールックアップ ....
詳細ドロップダウン リスト: ドロップダウンリストを素早く作成する   |  依存関係のドロップダウン リスト   |  複数選択のドロップダウンリスト ....
列マネージャー: 特定の数の列を追加する  |  列の移動  |  Toggle 非表示列の表示ステータス  |  範囲と列の比較 ...
注目の機能: グリッドフォーカス   |  デザインビュー   |   ビッグフォーミュラバー    ワークブックとシートマネージャー   |  リソースライブラリ (自動テキスト)   |  日付ピッカー   |  ワークシートを組み合わせる   |  セルの暗号化/復号化    リストごとにメールを送信する   |  スーパーフィルター   |   特殊フィルター (太字/斜体/取り消し線をフィルター...) ...
上位 15 のツールセット12 テキスト 工具 (テキストを追加, 文字を削除する、...)   |   50+ チャート 種類 (ガントチャート、...)   |   40+ 実用的 (誕生日に基づいて年齢を計算する、...)   |   19 挿入 工具 (QRコードを挿入, パスから画像を挿入、...)   |   12 変換 工具 (数字から言葉へ, 通貨の換算、...)   |   7 マージ&スプリット 工具 (高度な結合行, 分割セル、...)   |   ... もっと

Kutools for Excel で Excel スキルを強化し、これまでにない効率を体験してください。 Kutools for Excelは、生産性を向上させ、時間を節約するための300以上の高度な機能を提供します。  最も必要な機能を入手するにはここをクリックしてください...

kteタブ201905


Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作​​業をはるかに簡単にします

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations