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

セル内のテキスト文字列から最初または最後の単語を削除するには、どうすればよいですか?

著者Xiaoyang変更日

日常的なExcel 作業では、リストや文章を管理する際にテキストデータをクリーンアップする必要が頻繁にあります。その中でも特に多いのが、セル内のテキスト文字列から先頭または末尾の単語を削除する作業です。たとえば、フルネームや詳細な説明が含まれる列で、分析のために先頭または末尾の単語以外の部分だけを残したい場合があります。下図のスクリーンショットのように、Excel にはこうした操作を直接行う標準機能は備わっていません。しかし、数式やExcel の組み込み機能、VBA コードなど、この作業を効率的に実現できる実用的な方法がいくつか存在します。本ガイドでは、この課題を解決するための複数のアプローチをご紹介し、さまざまなシナリオに最適な方法を選びやすくサポートします。

元のテキスト文字列と、最初または最後の単語を削除した結果のテキスト文字列を示すスクリーンショット

目次


数式を使用してテキスト文字列から最初または最後の単語を削除する

Excel の数式を使えば、コード不要でセルから簡単に最初または最後の単語を削除できます。この方法は、元のテキストが変更された際に結果が自動的に更新される動的なアプローチが必要な場面に最適です。ただし、これらの数式は、単語が単一のスペースで区切られており、テキストの前後に余分なスペースや連続するスペースが含まれていないことを前提としています。これらの解決策を適用する前に、データのスペース状況を必ず確認してください。

テキスト文字列から最初の単語を削除する:

1。結果を表示したい空白セル(例:セル B2)に、次の数式を入力してください。

=RIGHT(A2,LEN(A2)-FIND(" ",A2))

ここで、A2は元のテキスト文字列を含むセルです。この数式は最初のスペースの位置を特定し、最初の単語とその後に続くスペースを削除して、残りのテキストのみを返します。

数式を使用してテキスト文字列から最初の単語を削除する方法を示すスクリーンショット

2。数式を確定したら、必要に応じてフィルハンドルを下方向にドラッグして他のセルにも適用しましょう。下図のように、各テキスト文字列から最初の単語が削除されていることが確認できます。

最初の単語が削除されたすべてのテキスト文字列を示すスクリーンショット

ヒント:テキストの先頭に余分なスペースが含まれている可能性がある場合(先行スペース)、上記の数式を適用する前にTRIM 関数でデータをクリーンアップすることをおすすめします。例:

=RIGHT(TRIM(A2),LEN(TRIM(A2))-FIND(" ",TRIM(A2)))

これにより、一部のセルにスペースの不整合があっても、数式の正確性が保たれます。

テキスト文字列から最後の単語を削除する:

セルから最後の単語を削除するには、次の数式をご利用ください。たとえば、セルB2に以下の数式を入力してください:

=LEFT(TRIM(A2),FIND("~",SUBSTITUTE(A2," ","~",LEN(TRIM(A2))-LEN(SUBSTITUTE(TRIM(A2)," ",""))))-1)

この数式は、最後のスペースの位置を特定し、それより前のすべてのテキストを抽出します。単語間に余分なスペースがないことを確認するか、前述のようにTRIM 関数をご利用ください。数式を入力した後、必要な行数までフィルハンドルをドラッグすると、列内のすべての最後の単語が下図のように削除されます。

テキスト文字列から最後の単語を削除するために数式を使用する方法を示すスクリーンショット

エラーに関する注意:セルにスペースを含まない単一の単語のみが含まれている場合、これらの数式はエラーまたは空白値を返します。データにこのようなケースが含まれる可能性がある場合は、エラーを回避するため、数式をIFERROR 関数で囲んでください。例:

=IFERROR(RIGHT(A2,LEN(A2)-FIND(" ",A2)),"")

「テキストを列に分割」機能を使用して最初または最後の単語を削除する(Excel 標準機能)

短いデータセットや静的なデータを処理する際などに、Excel の標準機能であるテキストを列に分割機能を使えば、直感的で視覚的に単語を簡単に分割できます。この方法は、テキスト文字列のすべての単語を列に分離し、その後(最初または最後の単語を除いて)選択的に再結合したい場合に最適です。ただし、この方法は数式のようにソースセルの変更に自動的に追随しないため(非動的)、一度限りのクリーンアップ作業に非常に便利です。

手順:

  • 1。 分割したいテキストデータが含まれる列を選択します。
  • 2。リボンのデータタブに移動し、テキストを列に分割をクリックします。
  • 3。ウィザードで区切り文字付きを選択し、次へをクリックしてください。
  • 4。 区切り文字としてスペースのみをチェックして、次へをクリックします。
  • 5。データの分割の出力先を指定し、完了をクリックします。
  • 6。 分割後、各セルの単語が個別の列に展開されます。最初の単語を削除するには、最初の列を除くすべての列をCONCATENATE 関数またはTEXTJOIN 関数(利用可能な場合)で再結合します。同様に、最後の単語を削除するには、最後の列を除くすべての列を結合します。

次の数式を使用できます(例:元のセルのデータが現在列 B、C、D に分割されていると仮定):

=CONCATENATE(C2," ",D2)

結合する列が多い場合で、Excel 2016 以降をお使いの場合は、次のようにします:

=TEXTJOIN(" ",TRUE,C2:E2)

注意点:テキストを列に分割機能を使用する際は、注意が必要です。選択範囲の右側にあるデータが上書きされてしまう可能性があります。必ず隣接する列が空であることを確認するか、安全のため事前にデータを空白エリアにコピーしておいてください。この方法は自動更新ではなく、手動での迅速な処理に最適です。

適用可能なシナリオ分析:短いリストで素早く手動作業を行う場合や、結果を視覚的に確認・修正したい場合に最適です。大規模で頻繁に変動するデータセットには不向きで、こうしたケースでは自動化が望ましいでしょう。


VBA マクロを使用してテキスト文字列から最初または最後の単語を削除する

大規模なデータセットのクリーンアップ、繰り返しの削除作業の自動化、複雑なシナリオの処理など、高度で反復的な一括操作には、VBA マクロが非常に効率的です。VBA を使えば、選択範囲内のすべてのセルから最初または最後の単語を、わずか数回のクリックで簡単に削除できます。ただし、マクロを実行する前に、データ内に異常なスペースや特殊なノーブレークスペースが含まれていないことを必ず確認してください。これらは分割の正確性に影響を及ぼす可能性があります。

この VBA コードの使用方法:

1。リボンの開発Visual Basicをクリックして、Microsoft Visual Basic for Applicationsエディターを開きます。表示された新規ウィンドウで、挿入標準モジュールをクリックし、次のいずれかのコードをモジュールに貼り付けます。

選択したセルから最初の単語を削除する:

Sub RemoveFirstWord()
    Dim WorkRng As Range
    Dim Rng As Range
    Dim arr As Variant
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    Set WorkRng = Application.Selection
    Set WorkRng = Application.InputBox("Select range to remove first word", xTitleId, WorkRng.Address, Type:=8)
    For Each Rng In WorkRng
        If InStr(Rng.Value, " ") > 0 Then
            arr = Split(Rng.Value, " ")
            Rng.Value = Mid(Rng.Value, InStr(Rng.Value, " ") + 1)
        End If
    Next
End Sub

2。F5キーを押すか、実行をクリックしてコードを実行します。マクロは、処理対象のセルを選択するダイアログボックスを表示します。OKをクリックすると、選択した各セルから最初の単語が即座に削除され、内容が更新されます。

選択したセルから最後の単語を削除する:

選択したセルの末尾から最後の単語を削除するには、次の VBA コードを適用してください。

Sub RemoveLastWord()
    Dim WorkRng As Range
    Dim Rng As Range
    Dim arr As Variant
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    Set WorkRng = Application.Selection
    Set WorkRng = Application.InputBox("Select range to remove last word", xTitleId, WorkRng.Address, Type:=8)
    For Each Rng In WorkRng
        If InStr(Rng.Value, " ") > 0 Then
            arr = Split(Rng.Value, " ")
            Rng.Value = Left(Rng.Value, Len(Rng.Value) - Len(arr(UBound(arr))) - 1)
        End If
    Next
End Sub

注意事項:これらのマクロは、選択範囲内の各セルでスペース区切りの最初または最後の単語のみを削除します。セルにスペースを含まない単一の単語しかない場合は、そのセルは変更されません。VBA コードを実行する際は、変更が元に戻せませんので、必ず事前にデータのコピーを作成するか、ブックを保存してから行ってください。

メリット:VBA を使えば一括処理がスピーディに実行でき、特に大規模なテーブルデータの繰り返しクリーンアップ作業を自動化するのに抜群の効果を発揮します。

トラブルシューティング:「実行時エラー」メッセージが表示された場合は、選択範囲内のすべての値がテキスト形式であることをご確認ください。空白セルやエラーを含むセルがあると、マクロがスキップされたり、停止したりする可能性があります。


使用する方法(数式、テキストを列に分割、VBA など)にかかわらず、結果のデータの一貫性は常に確認することをおすすめします。特に、テキストに余分なスペースや句読点、予期しない語順が含まれている場合には注意が必要です。一括編集や不慣れなマクロを適用する際には、必ず元のデータをバックアップしてください。Excel でテキストのクリーニングや分割により柔軟で強力なソリューションをお探しの方には、Kutools for Excel が複雑な数式やコードを使わずとも、さまざまなテキスト分割および書式設定の課題に対応できる包括的なユーティリティセットを提供しています。


特定の区切り文字でセルの値を複数の列および行に分割する:

Kutools for Excelセルの分割ユーティリティを使えば、セル内のテキストをスペースやコンマ、改行、その他任意の区切り文字で簡単に複数の列または行に分割できます。

Kutools for Excel を使用して、特定の区切り文字でセルを簡単に複数の行または列に分割する方法を示すスクリーンショット

Kutools for Excel:300 以上の便利なExcel アドインを搭載し、30 日間制限なく無料でお試しいただけます。今すぐダウンロードして無料トライアル!


関連記事:

Excel でテキストの先頭、末尾、または特定の文字を削除するにはどうすればよいですか?


最高の 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 日間のフル機能トライアル— 登録不要、クレジットカード不要
  • 最高のお得感— 個別アドイン購入よりお得