KutoolsforOffice— 1 つのソリューション、5 つの強力なツール。少ない労力で大きな成果。

Excel で逆方向の検索(リバース検索)機能を適用するには、どうすればよいですか?

著者Xiaoyang変更日

標準の検索またはSearch 関数は、文字列内のテキストを左から右に検索するように設計されており、データの先頭付近にある情報を簡単に抽出できます。しかし、ログエントリや住所など、重要な情報が末尾に記載されているデータを処理する際には、特定の区切り文字に基づいて最後の項目を特定・抽出するために、このアプローチを逆転させる必要があります。たとえば、リスト内で特定の文字以降に現れる最後の単語、数値、またはフレーズを抽出したい場合があるでしょう(下記スクリーンショット参照)。

 逆検索または検索機能

数式を使用してテキスト文字列の右端から単語を検索する逆方向検索機能を適用する
VBA を使用して任意の区切り文字で逆方向検索を実行する


数式を使用してテキスト文字列の右端から単語を検索する逆方向検索機能を適用する

Excel では、指定した区切り文字を使ってテキスト文字列から最後の単語やセグメントを抽出する実用的な数式ベースの手法が提供されています。区切り文字は多くの場合スペースであり、この手法は氏名や説明文、単語リストを扱う際に特に役立ちます。

以下に、セルから最後の単語を抽出する方法を示します(区切り文字がスペースであることを前提とします)。

空白セル(例:B2)に次の数式を入力し、Enter キーを押して確定してください。複数行に適用するには、フィルハンドルを下にドラッグすれば、各テキスト文字列の最後の単語が即座に抽出されます。スクリーンショットをご確認ください:

=TRIM(RIGHT(SUBSTITUTE(TRIM(A2), " ", REPT(" ",99)),99))

 数式を使用した逆検索または検索機能

注:この数式はスペースを区切り文字として使用している場合にのみ有効です。データがダッシュやカンマなど、他の文字を区切り文字として使用している場合は、数式を調整する必要があります。

=TRIM(RIGHT(SUBSTITUTE(TRIM(A2), "|", REPT(" ",99)),99))

VBA を使用して任意の区切り文字で逆方向検索を実行する

可変長の区切り文字を使用する場合や、空の値を無視する、入れ子になった区切り文字を処理する、非常に長いテキスト文字列を扱うなど、より複雑な条件に基づいて単語や項目を抽出する高度なシナリオでは、カスタム VBA マクロが効率的で柔軟な解決策となります。VBA を使えば、任意の区切り文字とカスタムルール(右から左へのパターン検索を含む)に基づく抽出タスクを自動化できます。

1。VBA を使用するには、まず開発者ツール>Visual Basicをクリックして VBA エディターを開きます。Microsoft Visual Basic for Applicationsウィンドウが表示されたら、「挿入>標準モジュール」をクリックし、以下のコードを新しいモジュールにコピーしてください。

Sub ReverseFindLastItem()
    Dim rng As Range
    Dim inputRange As Range
    Dim delimiter As String
    Dim cell As Range
    Dim splitArray() As String
    Dim i As Integer
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set inputRange = Application.Selection
    Set inputRange = Application.InputBox("Select range to process", xTitleId, inputRange.Address, Type:=8)
    
    delimiter = Application.InputBox("Enter your delimiter (e.g., comma, pipe, dash)", xTitleId, ",", Type:=2)
    
    For Each cell In inputRange
        If cell.Value <> "" Then
            splitArray = Split(cell.Value, delimiter)
            cell.Offset(0, 1).Value = splitArray(UBound(splitArray))
        End If
    Next cell
End Sub

2。「実行ボタン実行
エラー時の注意:区切り文字が指定されていない場合やセルが空の場合は、マクロがそのセルをスキップし、変更を行いません。特に特殊または複雑なデータでは、必ず抽出結果をご確認ください。


最高の Office 業務効率化ツール

🤖KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行   |  コード生成|  カスタム数式作成  |  データ分析とチャート生成|  拡張機能呼び出し…
人気の機能:検索・ハイライト、または重複をマーキング   |  空白行を削除する   |  データを失うことなく列の結合またはセルを   |  数式を使用しない四捨五入...
スーパー LOOKUP:複数条件 VLookup  |  複数値 VLookup  |   複数シート間 VLookup   |   ファジーマッチ....
高度なドロップダウンリスト:ドロップダウンリストをすばやく作成   |  連動型ドロップダウンリスト   |  複数選択可能なドロップダウンリスト....
列マネージャー:指定した数の列を追加|列の移動|非表示列の表示状態を切り替え|範囲および列の比較...
注目の機能:グリッドフォーカス   |  デザインビュー   |強化された数式バー   | ワークブックとシートマネージャー   |  リソースライブラリ(オートテキスト)|  日付ピッカー   |  ワークシートの統合  |  暗号化/セルの復号化   | リストからメール送信   |  スーパーフィルター   |   特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。
トップ15 ツールセット:12 テキストツール(テキストの追加、特定の文字を削除、...)|   50+チャートタイプ(ガントチャート、...)|   40+実用的関数(誕生日に基づいて年齢を計算します、...)|   19 挿入ツール(QR コードを挿入、パスから画像を挿入、...)|   12 変換ツール(単語に変換する、為替レートの変換、...)|   7 結合と分割ツール(高度な行のマージ、セルの分割、...)|さらに多数
Kutools はお好みの言語でご利用いただけます。英語、スペイン語、ドイツ語、フランス語、中国語、および40+の他の言語をサポートしています!

Kutools for Excel でExcel スキルを強化し、これまでにない効率を体験しましょう。Kutools for Excel は、生産性を高め、時間を大幅に節約できる高度な機能を300 以上提供します。最も必要な機能を今すぐ入手するにはこちらをクリック。。。


Office Tab は Office にタブインターフェースをもたらし、作業を大幅に簡単にします

  • Word、Excel、PowerPoint でタブを使った編集と閲覧を有効にします。Publisher、Access、Visio、Project でもご利用いただけます。
  • 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
  • 日々の生産性を50%も向上させ、毎日数百回ものマウスクリックを削減します!

すべてのKutools アドインが、たった1 つのインストーラーで完結。

Kutools for Officeスイートには、Excel ・Word ・Outlook ・PowerPoint 用のアドインと Office Tab Pro が含まれており、複数の Office アプリを横断して作業するチームに最適です。

ExcelWordOutlookTabsPowerPoint
  • オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
  • インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
  • 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
  • 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
  • 最高のお得感— 個別アドイン購入よりお得