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

Kutools for Office — 1つのスイート、5つのツールで、もっと多くのことを成し遂げましょう。

特定の文字の最後の出現以降のテキストを抽出する

Author Xiaoyang Last modified

複雑なテキスト文字列のリストがあり、その中にいくつかの区切り文字(以下のスクリーンショットを例に取ると、ハイフン、カンマ、セルデータ内のスペースなど)が含まれている場合、最後に現れるハイフンの位置を見つけ、その後の部分文字列を抽出したいとします。この記事では、このタスクを処理するためのいくつかの数式を紹介します。

doc-extract-text-after-last-character-1


数式1: 特定の区切り文字の最後の出現以降の部分文字列を抽出する

Excelでは、LEN、SEARCH、SUBSTITUTE関数と組み合わせたRIGHT関数を使用して、この作業を解決するための数式を作成できます。

1. 最後のハイフン文字の後に続く部分文字列を抽出するには、次の数式を空白のセルにコピーまたは入力してください:

=RIGHT(A2,LEN(A2)-SEARCH("#",SUBSTITUTE(A2,"-","#",LEN(A2)-LEN(SUBSTITUTE(A2,"-","")))))

2. 次に、フィルハンドルをドラッグして、この数式を適用したいセルまで移動すると、以下のように結果が得られます。

doc-extract-text-after-last-character-2


数式の説明:

1. LEN(A2)-LEN(SUBSTITUTE(A2,"-","")): この部分は、セルA2内のハイフン文字の数を取得するために使用されます。

  • LEN(A2): このLEN関数は、セルA2内の文字の総数を返します。結果は44になります。
  • SUBSTITUTE(A2,"-",""): このSUBSTITUTE関数は、すべてのハイフンを削除するために使用されます。結果として「InsertDeleterows, sheets, images, formulas」が得られます。
  • LEN(SUBSTITUTE(A2,"-",""): ハイフンを除いたセルA2内の文字列の全長を取得します。
  • LEN(A2)-LEN(SUBSTITUTE(A2,"-","")): ハイフンを除いた文字列の長さを全体の文字列の長さから引いて、ハイフンの数を取得します。結果は2になります。

2. SUBSTITUTE(A2,"-","#",LEN(A2)-LEN(SUBSTITUTE(A2,"-",""))): このSUBSTITUTE関数は、最初の部分の数式で返された最後のハイフンを#文字に置き換えます。結果として「Insert-Delete#rows, sheets, images, formulas」が得られます。

doc-extract-text-after-last-character-3

3. SEARCH("#",SUBSTITUTE(A2,"-","#",LEN(A2)-LEN(SUBSTITUTE(A2,"-",""))))= SEARCH("#", "Insert-Delete#rows, sheets, images, formulas"): このSEARCH関数は、SUBSTITUTE関数によって返された文字列内の#文字の位置を返します。結果は14になります。

4. LEN(A2)-SEARCH("#",SUBSTITUTE(A2,"-","#",LEN(A2)-LEN(SUBSTITUTE(A2,"-","")))): この数式の部分は、最後のハイフンの後に何文字あるかを取得します。結果は30になります。

5. RIGHT(A2,LEN(A2)-SEARCH("#",SUBSTITUTE(A2,"-","#",LEN(A2)-LEN(SUBSTITUTE(A2,"-","")))))= RIGHT(A2, 30): 最後に、RIGHT関数は、ステップ4の数式で返された文字数(30文字)を、セルA2内の文字列の右側から抽出するために使用されます。


注意:

1. 最後の他の区切り文字の後に続くテキストを抽出する必要がある場合は、必要な区切り文字にハイフン文字を変更するだけです。

2. テキスト文字列に指定された区切り文字がない場合、上記の数式はエラー値を返します。スクリーンショットをご覧ください:

doc-extract-text-after-last-character-4

このエラーを修正するには、上記の数式をIFERROR関数で囲むことができます。次の数式を適用してください:

=IFERROR(RIGHT(A2,LEN(A2)-SEARCH("#",SUBSTITUTE(A2,"-","#",LEN(A2)-LEN(SUBSTITUTE(A2,"-",""))))), A2)

doc-extract-text-after-last-character-5


数式2: 特定の区切り文字の最後の出現以降の部分文字列を抽出する

ここでは、TRIM、RIGHT、SUBSTITUTE、REPT、LEN関数を使用して作成された別のシンプルな数式も、このタスクを解決するのに役立ちます。

1. 結果を得たい空白のセルに次の数式をコピーまたは入力してください:

=TRIM(RIGHT(SUBSTITUTE(A2,"-",REPT(" ",LEN(A2))),LEN(A2)))

2. 次に、フィルハンドルをドラッグして、この数式を適用したいセルまで移動すると、最後のハイフン以降のすべての部分文字列が以下のように抽出されます。

doc-extract-text-after-last-character-6


数式の説明:

1. LEN(A2): このLEN関数は、セルA2内の文字の総数を返します。これはRIGHT関数のnum_chars引数として認識されます。結果は44になります。

2. SUBSTITUTE(A2,"-",REPT(" ",LEN(A2))):

  • REPT(" ",LEN(A2): このREPT関数は、セルA2の長さに基づいて複数のスペース文字列を取得するために使用されます。
  • SUBSTITUTE(A2,"-",REPT(" ",LEN(A2))): このSUBSTITUTE関数は、セルA2内のハイフン文字を、REPT関数によって返されたスペース文字列に置き換えます。

この部分の数式は、RIGHT関数のtext引数として認識されます。

3. RIGHT(SUBSTITUTE(A2,"-",REPT(" ",LEN(A2))),LEN(A2)): このRIGHT関数は、SUBSTITUTE関数によって返された文字列の右側からテキストを取得します。

4. TRIM(): このTRIM関数は、すべての余分なスペースを削除し、単語間には1つのスペースのみを残します。


関連する関数:

  • RIGHT:
  • RIGHT関数は、テキスト文字列の右側から指定された数の文字を抽出します。
  • SEARCH:
  • SEARCH関数は、指定されたテキストから特定の文字や部分文字列の位置を見つけるのに役立ちます。
  • LEN:
  • LEN関数は、テキスト文字列内の文字数を返します。
  • SUBSTITUTE:
  • Microsoft ExcelのSUBSTITUTE関数は、テキスト文字列内のテキストや文字を別のテキストや文字に置き換えます。
  • TRIM:
  • TRIM関数は、テキスト文字列からすべての余分なスペースを削除し、単語間には1つのスペースのみを残します。
  • REPT:
  • REPT関数は、指定された回数だけ文字を繰り返すために使用されます。

その他の記事:

  • セルから複数行を抽出する
  • Alt + Enterキーを押しながらテキストを入力した際に改行で区切られたテキスト文字列のリストがあり、これらの行を複数のセルに抽出したい場合、Excelでこれを数式を使って解決する方法は?
  • Excelで部分文字列をテキスト文字列から抽出する
  • 部分文字列をテキスト文字列から抽出する必要がある場合、Excelには直接的な関数はありませんが、LEFT、RIGHT、MID、SEARCH関数を使用することで、必要なさまざまな部分文字列を抽出できます。

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

Kutools for Excel - あなたを群衆から際立たせるツール

🤖 Kutools AI Aide: 次の要素に基づいてデータ分析を革新:インテリジェント実行|コード生成 |カスタム数式の作成|データの分析とチャートの生成 |Kutools機能の呼び出し
人気の機能重複を見つける、ハイライトする、または特定する | 空白行を削除 | データを失うことなく列やセルを結合 | 数式を使わずに丸める...
スーパー VLookup複数条件 | 複数値 | 複数シート間 | ファジーマッチ...
高度なドロップダウンリスト簡単なドロップダウンリスト | 従属ドロップダウンリスト | 複数選択可能なドロップダウンリスト...
列マネージャー指定した数の列を追加 | 列を移動 | 非表示の列の可視化ステータスを切り替え | 列を比較して同じ&異なるセルを選択...
特徴的な機能グリッドフォーカス | デザインビュー | 強化された数式バー | ワークブックとシートマネージャー | リソースライブラリ(オートテキスト) | 日付ピッカー | ワークシートの統合 | セルの暗号化/復号化 | リストによるメール送信 | スーパーフィルター | 特殊フィルタ(太字/斜体/取り消し線のフィルタリング...)...
上位 15 のツールセット: 12 個のテキストツール (テキストの追加, 特定の文字を削除...) | 50以上 チャート タイプ (ガントチャート...) | 40以上の実用的な 数式 (誕生日に基づいて年齢を計算...) | 19 個の挿入ツール (QRコードの挿入, パスからの画像挿入...) | 12 個の変換ツール (単語に変換, 通貨変換...) | 7 個のマージ&分割ツール (高度な行のマージ, Excelセルの分割...) | ... さらに多くのツール
お好みの言語で Kutools を使用可能 - 英語、スペイン語、ドイツ語、フランス語、中国語など、40以上の言語に対応!

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


Office Tab - Microsoft Office(Excel含む)でタブ形式の閲覧と編集を有効にする

  • 数十の開いている文書を1秒で切り替える!
  • 毎日数百回のマウスクリックを減らし、マウス手から解放されます。
  • 複数の文書を閲覧・編集する際、生産性が50%向上します。
  • Chrome、Edge、Firefoxのように、タブ機能をOffice(Excel含む)にもたらします。