特定の文字の最後の出現以降のテキストを抽出する
複雑なテキスト文字列のリストがあり、その中にいくつかの区切り文字(以下のスクリーンショットを例に取ると、ハイフン、カンマ、セルデータ内のスペースなど)が含まれている場合、最後に現れるハイフンの位置を見つけ、その後の部分文字列を抽出したいとします。この記事では、このタスクを処理するためのいくつかの数式を紹介します。
数式1: 特定の区切り文字の最後の出現以降の部分文字列を抽出する
Excelでは、LEN、SEARCH、SUBSTITUTE関数と組み合わせたRIGHT関数を使用して、この作業を解決するための数式を作成できます。
1. 最後のハイフン文字の後に続く部分文字列を抽出するには、次の数式を空白のセルにコピーまたは入力してください:
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」が得られます。
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. テキスト文字列に指定された区切り文字がない場合、上記の数式はエラー値を返します。スクリーンショットをご覧ください:
このエラーを修正するには、上記の数式をIFERROR関数で囲むことができます。次の数式を適用してください:
数式2: 特定の区切り文字の最後の出現以降の部分文字列を抽出する
ここでは、TRIM、RIGHT、SUBSTITUTE、REPT、LEN関数を使用して作成された別のシンプルな数式も、このタスクを解決するのに役立ちます。
1. 結果を得たい空白のセルに次の数式をコピーまたは入力してください:
2. 次に、フィルハンドルをドラッグして、この数式を適用したいセルまで移動すると、最後のハイフン以降のすべての部分文字列が以下のように抽出されます。
数式の説明:
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でN番目の単語をテキスト文字列から抽出する
- テキスト文字列や文のリストがあり、リストから特定のN番目の単語を抽出したい場合、この記事では、Excelでのこの作業を解決するためのいくつかの方法を紹介します。
- 括弧内のテキストをテキスト文字列から抽出する
- テキスト文字列内に括弧で囲まれた部分がある場合、括弧内のすべてのテキスト文字列を抽出したい場合、Excelでこのタスクを迅速かつ簡単に解決するにはどうすればよいですか?
- Excelで部分文字列をテキスト文字列から抽出する
- 部分文字列をテキスト文字列から抽出する必要がある場合、Excelには直接的な関数はありませんが、LEFT、RIGHT、MID、SEARCH関数を使用することで、必要なさまざまな部分文字列を抽出できます。
最高のオフィス生産性ツール
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含む)に効率的なタブをもたらします。