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

Excelで特定の文字で始まる単語を抽出する

たとえば、下のスクリーンショットに示すように、セルごとに特定の文字「=」で始まる単語を抽出する必要がある場合があります。Excelでこのタスクをすばやく簡単に解決するにはどうすればよいでしょうか。


Excelで特定の文字で始まる単語を抽出する

各セルから特定の文字またはテキストで始まる単語を抽出するには、TRIM、LEFT、SUBSTITUTE、MID、FIND、LEN、およびREPT関数を組み合わせた数式を作成できます。一般的な構文は次のとおりです。

=TRIM(LEFT(SUBSTITUTE(MID(text, FIND(char, text), LEN(text))," ",REPT(" ",LEN(text))),LEN(text)))
  • text:単語を抽出するテキスト文字列またはセル値。
  • char:単語を抽出したい文字またはテキストが始まります。

1。 次の数式をコピーするか、空白のセルに入力してください。

=TRIM(LEFT(SUBSTITUTE(MID(A2, FIND("=",A2), LEN(A2))," ",REPT(" ",LEN(A2))),LEN(A2)))

2。 次に、塗りつぶしハンドルを下にドラッグして、使用するセルに数式を適用すると、特定の「=」文字で始まるすべての単語が一度に抽出されます。スクリーンショットを参照してください。


式の説明:

1. MID(A2、FIND( "="、A2)、LEN(A2):

  • LEN(A2):このLEN関数は、セルA2の文字数を返します。 この部分は、MID関数のnum_char引数として認識されます。
  • FIND( "="、A2):このFIND関数は、セルA2の最初の特定の文字「=」の位置を取得するために使用されます。 この部分は、MID関数のstart_num引数として認識されます。
  • MID(A2、FIND( "="、A2)、LEN(A2):このMID関数は、FIND関数によって返される位置とLEN関数によって返される特定の長さでセルA2から部分文字列を抽出するために使用されます。

2. SUBSTITUTE(MID(A2、FIND( "="、A2)、LEN(A2))、 ""、REPT( ""、LEN(A2))):

  • REPT( ""、LEN(A2):REPT関数は、セルA2の空の文字列を、LEN関数によって返される特定の回数繰り返します。
  • 代替():このSUBSTITUTE関数は、すべての空の文字列を別の新しいテキストに置き換えます。MID関数によって返されるテキスト文字列からREPT関数によって返される複数のスペースです。
  • MID(A2、FIND( "="、A2)、LEN(A2):このMID関数は、FIND関数によって返される位置とLEN関数によって返される特定の長さでセルA2から部分文字列を抽出するために使用されます。

3. LEFT(SUBSTITUTE(MID(A2、FIND( "="、A2)、LEN(A2))、 ""、REPT( ""、LEN(A2)))、LEN(A2)):このLEFT関数は、SUBSTITUTE関数によって返されるテキスト文字列の左側からLEN関数によって返される特定の文字数を抽出するために使用されます。

4. TRIM():TRIM関数は、LEFT関数によって返されるテキスト文字列から余分なスペースをすべて削除します。


ノート:

1.上記の式では、「=」文字を必要な他の文字またはテキストに変更できます。

2.特定の文字で始まる単語が複数ある場合は、最初の単語のみが抽出されます。


使用される相対関数:

  • REPT:
  • REPT関数は、指定された回数だけ文字を繰り返すために使用されます。
  • SUBSTITUTE:
  • SUBSTITUTE関数は、テキスト文字列内のテキストまたは文字を別のテキストまたは文字に置き換えます。
  • TRIM:
  • TRIM関数は、テキスト文字列から余分なスペースをすべて削除し、単語間のスペースをXNUMXつだけ保持します。
  • MID:
  • MID関数は、テキスト文字列の途中から特定の文字を返します。
  • LEN:
  • LEN関数は、テキスト文字列の文字数を返します。
  • REPT:
  • REPT関数は、指定された回数だけ文字を繰り返すために使用されます。
  • FIND:
  • FIND関数は、別の文字列内の文字列を検索するために使用され、別の文字列内の文字列の開始位置を返します。

その他の記事:

  • Excelで特定のテキストを含む単語を抽出する
  • 次のスクリーンショットのように、特定の文字またはテキストを含むセルから単語を抽出して、「=」文字を含むすべての単語を抽出したい場合があります。 このタスクをExcelでどのように解決できますか?
  • テキスト文字列から括弧内のテキストを抽出する
  • テキスト文字列内に括弧で囲まれたテキストの一部がある場合は、次のスクリーンショットのように、括弧で囲まれたすべてのテキスト文字列を抽出する必要があります。 このタスクをExcelですばやく簡単に解決するにはどうすればよいですか?
  • セルから複数の行を抽出する
  • 改行で区切られたテキスト文字列のリストがある場合(テキストを入力するときにAlt + Enterキーを押すと発生します)、次に示すスクリーンショットのように、これらのテキスト行を複数のセルに抽出します。 Excelの数式でどのように解決できますか?

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

Kutools forExcel-群衆から目立つのに役立ちます

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

Kutools for Excelは300以上の機能を誇り、 必要なものをワンクリックで手に入れることができます...

説明


Officeタブ-MicrosoftOffice(Excelを含む)でタブ付きの読み取りと編集を有効にする

  • 数十の開いているドキュメントを切り替えるのにXNUMX秒!
  • マウスの手に別れを告げて、毎日何百ものマウスクリックを減らしてください。
  • 複数のドキュメントを表示および編集する際の生産性が 50% 向上します。
  • Chrome、Edge、Firefox と同様に、効率的なタブを Office (Excel を含む) にもたらします。
Comments (2)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
This formula works for a single match only. What if there are multiple matches?
This comment was minimized by the moderator on the site
Hello, Mdhdy,
If you need to extract all matches from a cell, the following User Defined Function may help you:
Note: In the code, please change the "=" character from this sctipt .Pattern = "=\S+" to any other character you need.
Function ExtractEx(Target As Range) As String
    ExtractEx = ""
    If Target.Count > 1 Then Exit Function
    On Error Resume Next
    
    Dim xRetList As Object
    Dim xRegEx As Object
    Dim I As Long
    Dim xRet As String
    Application.Volatile
    Set xRegEx = CreateObject("VBSCRIPT.REGEXP")
    With xRegEx
        .Pattern = "=\S+"
        .Global = True
        .MultiLine = True
        .IgnoreCase = True
    End With
    Set xRetList = xRegEx.Execute(Target.Formula)

    If xRetList.Count > 0 Then
        For I = 0 To xRetList.Count - 1
            xRet = xRet & xRetList.Item(I) & " "
        Next
        ExtractEx = xRet
    Else
        ExtractEx = ""
    End If

End Function

After pasting the code, please apply this formula:=ExtractEx(A2), see the below screenshot:
https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-extract-text-1.png
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations