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

Excel: テキスト文字列から文字、単語、数字を削除

Author: Xiaoyang Last Modified: 2025-05-26

Excel に不要な文字、数字、または記号を含むテキスト文字列のリストがある場合、それらの位置やタイプに基づいて特定の要素を削除する必要が生じることがあります。左側、右側、または中央から文字をトリミングしたり、特定の文字や数字を削除したりする場合でも、Excel にはデータを整理するための複数の方法が用意されています。このチュートリアルでは、数式、ユーザー定義関数 (UDF)、および組み込み機能を使用して、不要な文字、単語、および数字をテキスト文字列から簡単に削除するためのステップバイステップの方法を紹介します。

目次:

1. テキスト文字列の左、右、または中央から文字を削除する

2. テキスト文字列から不要な特殊文字を削除

3. 特定の文字の前または後にある文字 / テキストを削除

 4. テキスト文字列からの単語の削除


 文字列の左、右、または中央から文字を削除

Excelワークシート内のテキスト文字列の左、右、または中央から特定の文字を削除することは、私たち大多数にとって一般的な作業かもしれません。このセクションでは、このタスクを解決するためのいくつかの簡単で便利な方法を紹介します。

1.1 テキスト文字列から最初のn文字を削除

テキスト文字列のリストから最初のn文字を削除する必要がある場合、次の方法が役立つかもしれません。

数式を使用して

通常、テキスト文字列の先頭から文字を削除するには、REPLACE 関数または RIGHT 関数と LEN 関数を組み合わせて使用できます。

最初のN文字を削除するためのREPLACE関数:

=置換(文字列, 1, 文字数, "")
  • "string": 文字を削除したいテキスト文字列;
  • "num_chars": 削除したい文字数。

例えば、セルから最初の2文字を削除するには、以下の数式を使用し、その後、フィルハンドルをドラッグして数式を他のセルにコピーしてください。スクリーンショットをご覧ください:

=REPLACE(A4, 1, 2, "")

最初のN文字を削除するためのRIGHT関数とLEN関数:

=RIGHT(文字列, LEN(文字列) - 文字数)
  • "string": 文字を削除したいテキスト文字列。
  • "num_chars": 削除したい文字数。

セルから最初の2文字を削除するには、次の数式を適用してください。

=RIGHT(A4,LEN(A4)-2)


 ユーザー定義関数を使用して

セルから最初のn文字を削除するには、ユーザー定義関数を作成してこのタスクを解決することもできます。以下の手順で行ってください:

1. 「Alt + F11」キーを押したままにすると、「Microsoft Visual Basic for Applications」ウィンドウが開きます。

2. 「挿入」>「モジュール」をクリックし、次のコードをモジュールウィンドウに貼り付けます。

VBAコード: テキスト文字列から最初のn文字を削除

Function removeFirstx(rng As String, cnt As Long)
'Updateby Extendoffice
removeFirstx = Right(rng, Len(rng) - cnt)
End Function

3. その後、ワークシートに戻り、この数式「=removefirstx(A4,2)」を空白のセルに入力し、フィルハンドルを下にドラッグして必要な結果を得てください。スクリーンショットをご覧ください:

注: この数式では、「A4」は文字を削除したいセルです。「2」という数字は、テキスト文字列の先頭から削除したい文字数を示します。

A screenshot showing the result of using a custom VBA function to remove characters from text in Excel


1.2 テキスト文字列から最後のn文字を削除

テキスト文字列の右側から特定の数の文字を削除するには、数式またはユーザー定義関数を使用することもできます。

 数式を使用して

テキスト文字列から最後のn文字を削除するには、LEFT関数とLEN関数に基づいた数式を使用できます。

LEFT 関数と LEN 関数を使用して最後の N 文字を削除:

=LEFT(文字列, LEN(文字列) - 文字数)
  • "string": 文字を削除したいテキスト文字列;
  • "num_chars": 削除したい文字数。

テキスト文字列の末尾から3文字を削除するには、この数式を使用し、その後、フィルハンドルをドラッグして数式を他のセルにコピーしてください。スクリーンショットをご覧ください:

=LEFT(A4, LEN(A4) - 3)


ユーザー定義関数を使用して

ユーザー定義関数を使用して、セルのリストから最後のn文字を削除することもできます。以下の手順に従ってください:

1. 「Alt + F11」キーを押して「Microsoft Visual Basic for Applications」ウィンドウを開きます。

2. 「挿入」>「モジュール」をクリックし、次のコードをモジュールウィンドウに貼り付けます。

VBAコード: テキスト文字列から最後のn文字を削除

Function removeLastx(rng As String, cnt As Long)
'Updateby Extendoffice
removeLastx = Left(rng, Len(rng) - cnt)
End Function

3. その後、ワークシートに戻り、この数式「=removelastx(A4,3)」を空白のセルに入力し、フィルハンドルを下にドラッグして必要な結果を得てください。スクリーンショットをご覧ください:

注: この数式では、「A4」は文字を削除したいセルです。「3」という数字は、テキスト文字列の末尾から削除したい文字数を示します。

A screenshot showing the result of using a custom VBA function to remove characters from the end of text in Excel


1.3 強力な機能を使用して、最初、最後のn文字または特定の位置の文字を削除

さまざまな数式を覚えて、文字列の左側、右側、または特定の位置から文字を削除するのは大変かもしれません。「Kutools for Excel」は、「特定の位置の文字を削除」という強力な機能をサポートしています。この小さなツールを使えば、数式を一切覚える必要なく、数回のクリックでこれらのタスクを処理できます。

Kutools for Excelは、300以上の高度な機能を提供し、複雑なタスクを簡素化し、創造性と効率を向上させます。 AI機能と統合され、Kutoolsは正確にタスクを自動化し、データ管理を容易にします。Kutools for Excelの詳細情報...無料トライアル...

1. 文字を削除したいセルを選択し、次に「Kutools」>「テキスト」>「特定の位置の文字を削除」をクリックします。スクリーンショットをご覧ください:

2. 「特定の位置の文字を削除」ダイアログボックスで、次の操作を行ってください:

2.1 セルから最初のn文字を削除:

  • 「文字数」テキストボックスに、文字列から削除したい文字数を入力します。この例では、最初の2文字を削除します。
  • 「位置」セクションで「左から開始」オプションを選択します。
  • 次に、「OK」または「適用」ボタンをクリックして、下のスクリーンショットに示す結果を得ます。

2.2 セルから最後のn文字を削除:

  • 「文字数」テキストボックスに、文字列から削除したい文字数を入力します。この例では、最後の3文字を削除します。
  • 「位置」セクションで「右から開始」オプションを選択します。
  • 次に、「OK」または「適用」ボタンをクリックして、以下のスクリーンショットに示す結果を得ます。

2.3 特定の位置のセルからn文字削除:

特定の位置から指定された数の文字をテキスト文字列から削除する必要がある場合、例えば、文字列の3番目の文字から始まる3文字を削除する場合があります。

  • 「文字数」テキストボックスに、文字列から削除したい文字数を入力します。この例では、特定の位置から3文字削除します。
  • 「指定」オプションを選択し、「位置」セクションのテキストボックスに削除を開始したい文字の番号を入力します。ここでは、3番目の文字から削除を行います。
  • 次に、「OK」または「適用」ボタンをクリックして、以下のスクリーンショットに示す結果を得ます。

Kutools for Excel - 必要なツールを300以上搭載し、Excelの機能を大幅に強化します。永久に無料で利用できるAI機能もお楽しみください!今すぐ入手


1.4 数式を使用してテキスト文字列から最初のn文字と最後のn文字を削除

Excelでテキスト文字列の両端にある特定の文字を削除する必要がある場合、MID関数とLEN関数を組み合わせてこのタスクに対処するための数式を作成できます。

=MID(文字列, 左の文字数 + 1, LEN(文字列) - (左の文字数 + 右の文字数))
  • "string": 文字を削除したいテキスト文字列。
  • "left_chars": 左から削除する文字数;
  • "right_chars": 右から削除する文字数。

例えば、テキスト文字列から最初の7文字と最後の5文字を同時に削除する必要がある場合は、次の数式を空白のセルに入力してください。

=MID(A4, 7+1, LEN(A4) - (7+5))

注: この数式では、「A4」は文字を削除したいセルです。「7」は左側から削除したい文字数、「5」は右側から削除したい文字数を表します。

そして、フィルハンドルをドラッグして、この数式を適用したい場所まで下に移動させると、以下のスクリーンショットに示すような結果が得られます。


 テキスト文字列から不要な特殊文字を削除

他の場所からExcelにデータをインポートする際、多くの特殊文字や不要な文字がワークシートに貼り付けられることがあります。これらの不要な文字(例: #@$%^&、スペース、数字、非数値、改行など)を削除するために、このセクションでは役立ついくつかの方法を提供します。

2.1 テキスト文字列から特定の特殊文字を削除

テキスト文字列内に %^&*() などの特殊文字が含まれている場合、このような文字を削除するために、以下の3つの方法を適用できます。

 SUBSTITUTE関数を使用してテキスト文字列からいくつかの特殊文字を削除する

通常、Excel では、特定の文字を何も置き換えずに削除するために、いくつかの SUBSTITUTE 関数をネストすることができます。一般的な構文は次のとおりです:

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(文字列セル, 文字1, ""), 文字2, ""), 文字3, "")
  • "string_cell": 特殊文字を削除したいテキスト文字列が含まれるセル;
  • "char1, char2, char3": 削除したい不要な文字。

次に、以下の数式を空白のセルにコピーまたは入力してください:

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2, "#", ""), "&", ""), "*", ""), "%", "")

そして、フィルハンドルをドラッグして、この数式を適用したいセルまで下に移動させます。指定した不要な文字はすべて一度に削除されます。スクリーンショットをご覧ください:

ヒント:削除したい文字がさらに多い場合、数式内にさらに多くのSUBSTITUTE関数をネストするだけで済みます。


 ユーザー定義関数を使用してテキスト文字列から複数の特殊文字を削除する

上記のネストされた SUBSTITUTE 関数は、削除する特殊文字が少ない場合にはうまく機能します。しかし、削除する文字が数十ある場合、数式が長くなりすぎて管理が困難になることがあります。このような場合、次のユーザー定義関数を使用すると、このタスクを迅速かつ簡単に完了できるかもしれません。

1. 「Alt + F11」キーを押して「Microsoft Visual Basic for Applications」ウィンドウを開きます。

2. 「挿入」>「モジュール」をクリックし、次のコードをモジュールウィンドウに貼り付けます。

VBAコード: テキスト文字列から複数の特殊文字を削除

Function RemoveUnwantedChars(Str As String, xchars As String)
'Updateby Extendoffice
    For Index = 1 To Len(xchars)
        Str = Replace(Str, Mid(xchars, Index, 1), "")
    Next
    RemoveUnwantedChars = Str
End Function

3. 次に、コードウィンドウを閉じてワークシートに戻り、結果を出力する空白のセルにこの数式 "=RemoveUnwantedChars(A2, $D$2)" を入力し、必要に応じてフィルハンドルを下にドラッグして結果を得てください。スクリーンショットをご覧ください:

注: 上記の数式において、「A2」は文字を削除したいセルであり、「$D$2」には削除したい特殊文字が含まれています(必要に応じて他の特殊文字を入力することもできます)。

A screenshot showing the result of using a VBA User Defined Function to remove multiple special characters from text in Excel


 驚きの機能を使用して、テキスト文字列から複数の特殊文字を削除

"Kutools for Excel" をインストールしている場合、その "特定の文字を削除" 機能を使用して、数値文字、アルファベット文字、非表示文字など、さまざまな種類の文字を必要に応じてセルのリストから削除できます。

Kutools for Excelは、300以上の高度な機能を提供し、複雑なタスクを簡素化し、創造性と効率を向上させます。 AI機能と統合され、Kutoolsは正確にタスクを自動化し、データ管理を容易にします。Kutools for Excelの詳細情報...無料トライアル...

1. 特殊文字を削除したいセルの範囲を選択し、次に「Kutools」>「テキスト」>「特定の文字を削除」をクリックします。スクリーンショットをご覧ください:

2. 「特定の文字を削除」ダイアログボックスで:

  • 「特定の文字を削除」セクションで「カスタム」オプションをチェックします。
  • そして、削除したい特殊文字をテキストボックスに入力します。
  • 次に、「OK」または「適用」ボタンをクリックして、指定した文字を一度に削除します。スクリーンショットをご覧ください:

Kutools for Excel - 必要なツールを300以上搭載し、Excelの機能を大幅に強化します。永久に無料で利用できるAI機能もお楽しみください!今すぐ入手


2.2 テキスト文字列からすべての数字を削除

数字、文字、特殊文字が混在するテキスト文字列のリストがあり、その中のすべての数字を除去して他の文字だけを残したい場合があります。このセクションでは、それを実現するための便利な方法をいくつかご紹介します。

 SUBSTITUTE関数を使用してテキスト文字列から数字を削除

Excelでは、ネストされたSUBSTITUTE関数を使用してすべての数字を何も無い状態に置き換えることができるため、次の数式を使用してセルからすべての数字を削除できます。

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,1,""),2,""),3,""),4,""),5,""),6,""),7,""),8,""),9,""),0,"")

次に、この数式を適用したいセルまでフィルハンドルを下にドラッグすると、テキスト文字列のリストからすべての数字が削除されます。スクリーンショットをご覧ください:


 TEXTJOIN関数を使用してテキスト文字列から数字を削除

Excel 2019、2021、または365を使用している場合、新しいTEXTJOIN関数もテキスト文字列から数字を削除するのに役立ちます。

次の数式を空白のセルにコピーし、Ctrl + Shift + Enterキーを同時に押して最初の結果を得てください:

=TEXTJOIN("", TRUE, IF(ISERR(MID(A2, ROW(INDIRECT( "1:"&LEN(A2) )), 1) *1), MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1), ""))

そして、この数式を適用したい場所の下にある他のセルに数式をコピーします。スクリーンショットをご覧ください:

注: この TEXTJOIN は、Excel 2019、2021 および Office 365 でのみ利用可能です。


 ユーザー定義関数を使用してテキスト文字列から数字を削除する

上記の2つの数式に加えて、ユーザー定義関数(User Defined Function)でも対応できます。以下の手順で行ってください。

1. 「Alt + F11」キーを押して「Microsoft Visual Basic for Applications」ウィンドウを開きます。

2. 「挿入」>「モジュール」をクリックし、次のコードをモジュールウィンドウに貼り付けます。

VBAコード: テキスト文字列から数値を削除

Function RemoveNumbers(Txt As String) As String
'Updateby Extendoffice
With CreateObject("VBScript.RegExp")
.Global = True
.Pattern = "[0-9]"
RemoveNumbers = .Replace(Txt, "")
End With
End Function

3. その後、コードウィンドウを閉じて終了し、ワークシートに戻り、この数式を空白のセルに入力します: =RemoveNumbers(A2)。そして、この数式を適用したいセルまでフィルハンドルをドラッグしてください。スクリーンショットをご覧ください:

A screenshot showing the VBA User Defined Function result to remove numbers from text strings in Excel


 便利なオプションを使用してテキスト文字列から数字を削除

複雑な数式に疲れていませんか?では、簡単なツールをご紹介します – 「Kutools for Excel」の「特定の文字を削除」機能です。この便利な機能を使えば、わずか数回のクリックでこのタスクを完了できます。

Kutools for Excelは、300以上の高度な機能を提供し、複雑なタスクを簡素化し、創造性と効率を向上させます。 AI機能と統合され、Kutoolsは正確にタスクを自動化し、データ管理を容易にします。Kutools for Excelの詳細情報...無料トライアル...

1. 数字を削除したいセルの範囲を選択し、次に「Kutools」>「テキスト」>「特定の文字を削除」をクリックします。

2. 「特定の文字を削除」ダイアログボックスで、次の操作を行ってください:

  • 「文字を削除」セクションの「数値」オプションをチェックします。
  • 次に、「OK」または「適用」ボタンをクリックして、数字をすぐに削除します。スクリーンショットをご覧ください:

Kutools for Excel - 必要なツールを300以上搭載し、Excelの機能を大幅に強化します。永久に無料で利用できるAI機能もお楽しみください!今すぐ入手


2.3 テキスト文字列から非数値文字を削除

テキスト文字列からすべての非数値文字を削除し、数字のみを保持する方法について、このセクションではExcelでこのタスクを解決するためのいくつかの方法を紹介します。

 Excel 2016およびそれ以前のバージョンで、数式を使用してテキスト文字列から非数値文字を削除する

Excel 2016またはそれ以前のバージョンを使用している場合、この作業を実現するには複雑な数式を適用する必要があります。次の数式を空白のセルにコピーまたは入力してください:

=SUMPRODUCT(MID(0&A2, LARGE(INDEX(ISNUMBER(--MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1)) * ROW(INDIRECT("1:"&LEN(A2))), 0), ROW(INDIRECT("1:"&LEN(A2))))+1, 1) * 10^ROW(INDIRECT("1:"&LEN(A2)))/10)

そして、この数式を適用したい場所の下にある他のセルに数式をコピーします。スクリーンショットをご覧ください:

注: テキスト文字列内の数字が 0 で始まる場合、その 0 は失われます。


 Excel 2019、2021、365でTEXTJOIN関数を使用してテキスト文字列から非数値文字を削除する

上記の数式は、私たち大多数にとって理解するのが難しい場合があります。Excel 2019、2021、または365をお使いの場合、それを助けるための簡潔な数式があります。

次の数式を空白のセルにコピーまたは入力し、「Ctrl + Shift + Enter」キーを同時に押して、最初の正しい結果を得てください:

=TEXTJOIN("",TRUE,IFERROR(MID(A2,ROW(INDIRECT("1:100")),1)+0,""))

次に、この数式を適用するセルまでフィルハンドルを下にドラッグすると、以下のスクリーンショットに示すような結果が得られます。

注: この数式を使用すると、数字がテキストとして返されるため、先頭の0が保持されていることがわかります。


 ユーザー定義関数を使用してテキスト文字列から非数値文字を削除する

もちろん、よりシンプルな構文で独自のユーザー定義関数を作成することもできます。次の手順で行ってください:

1. 「Alt + F11」キーを押して「Microsoft Visual Basic for Applications」ウィンドウを開きます。

2. 「挿入」>「モジュール」をクリックし、次のコードをモジュールウィンドウに貼り付けます。

VBAコード: テキスト文字列から非数値文字を削除

Function Removenonnumeric(str As String) As String
'Updateby Extendoffice
    With CreateObject("VBScript.RegExp")
        .Global = True
        .Pattern = "[^0-9]"
        Removenonnumeric = .Replace(str, "")
    End With
End Function

3. その後、コードウィンドウを閉じて終了し、ワークシートに戻り、この数式を空白のセルに入力します:=Removenonnumeric(A2)。そして、この数式を適用したいセルまでフィルハンドルをドラッグすると、以下のスクリーンショットのように数字のみが抽出されます。

A screenshot showing the result of using a VBA User Defined Function to extract only numbers from text strings in Excel


 簡単な機能でテキスト文字列から非数値文字を削除

セルの範囲から非数値文字を直接削除するには、「Kutools for Excel」の「特定の文字を削除」機能を使用すると、数回のクリックだけで処理を完了できます。

Kutools for Excelは、300以上の高度な機能を提供し、複雑なタスクを簡素化し、創造性と効率を向上させます。 AI機能と統合され、Kutoolsは正確にタスクを自動化し、データ管理を容易にします。Kutools for Excelの詳細情報...無料トライアル...

1. 数値以外の文字を削除したいセルの範囲を選択し、次に「Kutools」>「テキスト」>「特定の文字を削除」をクリックします。

2. 「特定の文字を削除」ダイアログボックスで、次の操作を設定してください:

  • 「文字を削除」セクションの「非数値」オプションをチェックします。
  • 次に、「OK」または「適用」ボタンをクリックして、すべての非数値文字をすぐに削除します。スクリーンショットをご覧ください:

Kutools for Excel - 必要なツールを300以上搭載し、Excelの機能を大幅に強化します。永久に無料で利用できるAI機能もお楽しみください!今すぐ入手


2.4 1つのセル内のテキストと数字を2つの列に分割する

時には、テキスト文字列からテキストと数字を2つの別々の列に抽出したい場合があります。以下の方法を使用すれば、このタスクを迅速かつ簡単に完了できます。

 ユーザー定義関数を使用して、1つのセル内のテキストと数字を2つの列に分離する

次のユーザー定義関数を使用すると、テキストと数字を一度に抽出できます。以下の手順で行ってください:

1. 「Alt + F11」キーを押して「Microsoft Visual Basic for Applications」ウィンドウを開きます。

2. 「挿入」>「モジュール」をクリックし、次のコードをモジュールウィンドウに貼り付けます。

VBAコード: テキスト文字列からテキストと数字を2つの列に分離する

Function SplitText(pWorkRng As Range, pIsNumber As Boolean) As String
'Updateby Extendoffice
Dim xLen As Long
Dim xStr As String
xLen = VBA.Len(pWorkRng.Value)
For i = 1 To xLen
    xStr = VBA.Mid(pWorkRng.Value, i, 1)
    If ((VBA.IsNumeric(xStr) And pIsNumber) Or (Not (VBA.IsNumeric(xStr)) And Not (pIsNumber))) Then
        SplitText = SplitText + xStr
    End If
Next
End Function

3. その後、コードウィンドウを閉じて終了し、ワークシートに戻り、この数式を空白のセルに「=SplitText(A2,FALSE)」と入力して、オートフィルハンドルを下にドラッグして、この数式を適用したいセルまで埋め、すべてのテキストを取得します。スクリーンショットをご覧ください:

A screenshot showing the result of using a User Defined Function to separate text from numbers in Excel

4. そして、この数式を続けて入力します:=SplitText(A2,TRUE) を別のセルに入力し、フィルハンドルを下にドラッグして、この数式を適用したいセルまで埋めることで数字を取得します。スクリーンショットをご覧ください:

A screenshot showing the result of using a User Defined Function to extract numbers from a text string in Excel


 簡単な機能を使用して、1つのセル内のテキストと数字を2つの列に分離します

「Kutools for Excel」を持っている場合、その「セルの分割」機能を使用すると、任意の区切り文字、指定された幅、またはテキストと数字に基づいてセルを複数の列や行に分割できます。

Kutools for Excelは、300以上の高度な機能を提供し、複雑なタスクを簡素化し、創造性と効率を向上させます。 AI機能と統合され、Kutoolsは正確にタスクを自動化し、データ管理を容易にします。Kutools for Excelの詳細情報...無料トライアル...

1. 分割したいセルの範囲を選択し、次に「Kutools」>「結合と分割」>「セルの分割」をクリックします。スクリーンショットをご覧ください:

2. 「セルの分割」ダイアログボックスで、「タイプ」セクションの「データの分割」オプションを選択し、続いて「区切り文字」セクションから「テキストと数字」をチェックしてください。スクリーンショットをご覧ください:

3. 次に、「OK」ボタンをクリックすると、もう1つの「セルの分割」ダイアログボックスがポップアップします。分離されたテキストと数字を出力するセルを選択し、その後「OK」ボタンをクリックしてください。これで、選択したセル内のテキストと数字が以下のデモのように一度に2列に分割されます。

Kutools for Excel - 必要なツールを300以上搭載し、Excelの機能を大幅に強化します。永久に無料で利用できるAI機能もお楽しみください!今すぐ入手


2.5 テキスト文字列から改行文字を削除

改行は、Excelの同じセル内で複数行を使用できるようにする機能です。ウェブサイトからデータをコピーしたり、「Alt + Enter」キーを使って手動でセルの内容を区切ったりすると、改行やキャリッジリターンが挿入されることがあります。場合によっては、セルの内容を1行にまとめるために改行を削除したい場合があります(下のスクリーンショット参照)。ここでは、Excelでこのタスクを解決するためのいくつかの方法を紹介します。

 検索と置換機能を使用してテキスト文字列から改行文字を削除する

Excelでは、「検索と置換」機能を使用して改行を削除できます。次のように操作してください:

1. 改行を削除したいデータ範囲を選択します。

2. 次に、「ホーム」>「検索と選択」>「置換」(または「Ctrl + H」キーを押す)をクリックして、「検索と置換」ダイアログボックスを開きます。スクリーンショットをご覧ください:

3. 表示された「検索と置換」ダイアログボックスで、次の操作を行ってください:

  • 「検索内容」フィールドにカーソルを置き、キーボードで「Ctrl + J」を押してください。何も表示されないかもしれませんが、改行文字が挿入されています。
  • 「置換内容」フィールドでは、このフィールドを空のままにすると改行が削除されるだけで、または「Space bar(スペースバー)」を1回押すと改行が空白に置き換えられます。

4. 次に、「すべて置換」ボタンをクリックすると、選択したセル内のすべての改行が一度に削除されるか、空白に置き換えられます。スクリーンショットをご覧ください:


 SUBSTITUTE関数を使用してテキスト文字列から改行文字を削除する

また、SUBSTITUTE関数とCHAR関数に基づいて数式を作成し、テキスト文字列から改行を削除することもできます。

次の数式を適用して結果を得てください:

=SUBSTITUTE(A2,CHAR(10),"")

ヒント: SUBSTITUTE関数は、改行文字を表すCHAR(10)の文字を検索して何も置き換えません。結果をコンマとスペースで区切る場合は、以下の数式を使用できます。

=SUBSTITUTE(A2,CHAR(10),", ")


 VBAコードを使用してテキスト文字列から改行文字を削除する

VBAコードの使用に慣れている場合、ここではコードも提供されています。次の手順で実行してください。

1. 「Alt + F11」キーを押して、「Microsoft Visual Basic for Applications」ウィンドウを開きます。

2. 「挿入」>「モジュール」をクリックし、次のコードをモジュールウィンドウに貼り付けます。

VBAコード: テキスト文字列からの改行の削除

Sub RemoveCarriage()
'Updateby Extendoffice
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
For Each Rng In WorkRng
    Rng.Value = Replace(Rng.Value, Chr(10), "")
Next
End Sub

3. 次に、「F5」キーを押してこのコードを実行すると、プロンプトボックスが表示されます。改行を削除したい範囲を選択してください。以下のスクリーンショットのように:

A screenshot of a prompt box asking the user to select a range to remove line breaks in Excel

4. そして、「OK」ボタンをクリックすると、選択されたデータ範囲からすべての改行が削除されます。


 スマートオプションを使用してテキスト文字列から改行文字を削除

ここで、「Kutools for Excel」の「特定の文字を削除」機能を使用すれば、改行を簡単に削除することもできます。

Kutools for Excelは、300以上の高度な機能を提供し、複雑なタスクを簡素化し、創造性と効率を向上させます。 AI機能と統合され、Kutoolsは正確にタスクを自動化し、データ管理を容易にします。Kutools for Excelの詳細情報...無料トライアル...

1. 改行を削除したいセルの範囲を選択し、次に「Kutools」>「テキスト」>「特定の文字を削除」をクリックします。

2. 「特定の文字を削除」ダイアログボックスで、次の操作を設定してください:

  • 「非表示文字」オプションを「特定の文字を削除」セクションでチェックします。
  • 次に、「OK」または「適用」ボタンをクリックして、選択したデータ範囲からすべての改行を削除します。 スクリーンショットをご覧ください:

Kutools for Excel - 必要なツールを300以上搭載し、Excelの機能を大幅に強化します。永久に無料で利用できるAI機能もお楽しみください!今すぐ入手


2.6 テキスト文字列からスペース(先頭、末尾、余分なスペース、またはすべてのスペース)を削除

外部のソースからExcelワークシートにテキストをコピーして貼り付けると、しばしば厄介な余分な空白が残ることがあります。先頭、末尾、またはその他の余分なスペースを手動で削除するのは面倒です。幸いなことに、Excelにはこの作業を簡単に行うためのいくつかの便利な方法が用意されています。

 TRIM関数を使用して、テキスト文字列から余分なスペース(先頭、末尾、過剰なスペース)を削除します。

Excelでは、テキスト文字列から先頭、末尾、および余分なスペースを削除するために、シンプルなTRIM関数を使用できます。この関数は、単語間の単一のスペース以外のすべてのスペースを削除します。

以下の数式を空白のセルに入力してください:

=TRIM(A2)

そして、フィルハンドルを下にドラッグして他のセルに数式をコピーします。これで、スクリーンショットからわかるように、先頭、末尾のスペースおよび単語間の余分なスペースがすべて一度に削除されます。


 テキスト文字列からすべてのスペースを削除

テキスト文字列からすべての空白を削除したい場合、次のSUBSTITUTE関数と「検索と置換」機能が役立ちます。

SUBSTITUTE関数を使用することによって

すべてのスペースを何も入れずに置き換えるには、SUBSTITUTE関数を使用してください。次の数式を空白のセルに適用してください:

=SUBSTITUTE(A2," ","") 

次に、フィルハンドルを下にドラッグして、この数式を必要な他のセルにコピーすると、以下スクリーンショットに示すようにすべてのスペースが削除されます。


「検索と置換」機能を使用することにより

実際、Excelの「検索と置換」機能も選択したセルからすべてのスペースを削除するのに役立ちます。以下の手順で行ってください:

1. すべてのスペースを削除したいデータ範囲を選択します。

2. 次に、「ホーム」>「検索と選択」>「置換」(または「Ctrl + H」キーを押す)をクリックして、「検索と置換」ダイアログボックスを開きます。開かれた「検索と置換」ダイアログボックスで、以下の操作を行ってください:

  • 「検索内容」フィールドで「スペースバー」を押します。
  • 「置換内容」フィールドでは、このフィールドを空のままにしてください。

3. そして、「すべて置換」ボタンをクリックすると、選択したセル内のすべての空白が一度に削除されます。スクリーンショットをご覧ください:


 強力な機能を使用して、テキスト文字列からさまざまな種類のスペースを削除します

「Kutools for Excel」には強力な機能があります – 「スペースの削除」です。このツールを使用すると、先頭のスペース、末尾のスペース、余分なスペースだけでなく、選択した範囲からすべてのスペースを1つのダイアログボックスで削除できます。これにより、作業効率が向上します。

Kutools for Excelは、300以上の高度な機能を提供し、複雑なタスクを簡素化し、創造性と効率を向上させます。 AI機能と統合され、Kutoolsは正確にタスクを自動化し、データ管理を容易にします。Kutools for Excelの詳細情報...無料トライアル...

1. スペースを削除するデータ範囲を選択し、次に「Kutools」>「テキスト」>「スペースの削除」をクリックします。スクリーンショットをご覧ください:

2. 「スペースの削除」ダイアログボックスで、削除したいスペースのタイプを「スペースのタイプ」から選択します。

  • 先頭のスペースを削除するには、「前のスペース」オプションを選択してください。
  • 末尾のスペースを削除するには、「末尾のスペース」オプションを選択してください。
  • 先頭と末尾のスペースを一度に削除するには、「先頭と末尾のスペース」オプションを選択してください。
  • すべての余分なスペースを削除するには、「すべての余分なスペース」オプションを選択してください。
  • すべてのスペースを削除するには、「すべてのスペース」オプションを選択してください。

3. 次に、「OK」または「適用」ボタンをクリックすると、必要な結果が得られます。

Kutools for Excel - 必要なツールを300以上搭載し、Excelの機能を大幅に強化します。永久に無料で利用できるAI機能もお楽しみください!今すぐ入手


 特定の文字の前または後ろの文字 / テキストを削除

このセクションでは、特定の文字の最初、最後、またはN番目の出現前後にあるテキストや文字を削除するための操作をいくつか紹介します。

3.1 最初の特定の文字の前または後のテキストを削除

特定の最初の文字(例えばスペースやコンマ)の前または後にあるテキストを、以下のスクリーンショットに示すように、テキスト文字列のリストから削除したい場合、ここでは2つの方法をご紹介します。

 最初の特定の文字の前のテキストを数式で削除

最初の特定の文字の前のテキストや文字を削除するには、RIGHT、LEN、FIND 関数に基づいた数式を作成できます。一般的な構文は次のとおりです:

"=RIGHT(セル, LEN(セル)-FIND("文字", セル))"
  • "cell": テキストを削除したいセルの参照またはテキスト文字列;
  • "char": 特定の区切り文字に基づいて削除したいテキストを指定します。

例えば、リストの文字列から最初のカンマの前のすべてを削除するには、次の数式を空白のセルに適用し、必要のあるセルまでドラッグしてください。スクリーンショットをご覧ください:

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

注: 上記の数式において、「A2」はテキストを削除したいセルです。「,」はテキストを削除する基準となる特定の文字であり、必要に応じて他の任意の文字に変更できます。


 最初の特定の文字の後のテキストを数式で削除

最初の特定の文字以降のすべてを削除するには、LEFT 関数と FIND 関数を使用して結果を得ることができます。一般的な構文は次のとおりです:

=LEFT(セル,FIND("文字",セル)-1)
  • "cell": テキストを削除したいセルの参照またはテキスト文字列;
  • 「char」:削除したいテキストの基準となる特定の区切り文字。

次に、以下の数式を空白のセルに入力し、その数式を適用したい他のセルまでフィルハンドルをドラッグしてください。すると、最初のカンマ以降のすべての文字が一度に削除されます。スクリーンショットをご覧ください:

=LEFT(A2,FIND(",",A2)-1)


3.2 N番目の文字の出現前または出現後のテキストを削除

時々、テキスト文字列に特定の区切り文字が複数含まれている場合、2番目、3番目、または4番目など、特定のインスタンスの前または後にあるすべての文字を削除したいことがあります。この種類の削除を行うには、次の方法を使用できます:

 特定の文字のN番目の出現前にあるテキストを数式で削除

特定の文字のN番目の出現前にあるテキストを削除するには、次の数式が役立ちます。一般的な構文は次のとおりです:

=RIGHT(セル,LEN(セル)-FIND("#",SUBSTITUTE(セル,"文字","#",N)))
  • "cell": テキストを削除したいセルの参照またはテキスト文字列;
  • "char": 特定の区切り文字を基にテキストを削除したい場合;
  • "N": テキストを削除する文字の出現前までの位置。

例えば、テキスト文字列から2番目のカンマの前のすべてを削除するには、以下の数式を適用する必要があります。

=RIGHT(A2,LEN(A2)-FIND("#",SUBSTITUTE(A2,",","#",2)))

注: 上記の数式において、「A2」はテキストを削除したいセルです。「,」はテキストを削除する基準となる特定の文字で、必要に応じて他の任意の文字に変更できます。「2」は、テキストを削除したい「n番目」のカンマを指します。

そして、フィルハンドルをドラッグして数式を他のセルにコピーします。スクリーンショットをご覧ください:


 特定の文字のN番目の出現以降のテキストを数式で削除

特定の区切り文字のN番目の出現以降のテキストを削除するには、LEFT、SUBSTITUTE、およびFIND関数が役立ちます。一般的な構文は次のとおりです:

=LEFT(セル, FIND("#", SUBSTITUTE(セル, "char", "#", N)) -1)
  • "cell": テキストを削除したいセルの参照またはテキスト文字列;
  • "char": 特定の区切り文字を基にテキストを削除したい場合;
  • "N": テキストを削除する文字の出現回数。

基本的な構文を理解したら、以下の数式を空白のセルにコピーまたは入力してください。

=LEFT(A2, FIND("#", SUBSTITUTE(A2, ",", "#", 2)) -1)

注: 上記の数式において、「A2」はテキストを削除したいセルです。「,」はテキストを削除する基準となる特定の文字で、必要に応じて他の任意の文字に変更できます。「2」は、テキストを削除したいn番目のカンマを示します。

次に、フィルハンドルをドラッグして数式を他のセルにコピーすると、2つ目のカンマ以降のすべての文字が一度に削除されます。スクリーンショットをご覧ください:


 ユーザー定義関数を使用して、文字のN番目の出現前または後のテキストを削除

ご覧のとおり、特定の文字のN番目の出現前後にあるテキストを削除するケースは、Excelのネイティブ関数をさまざまな組み合わせで使用することで解決できます。問題は、これらの複雑な数式を覚えておく必要があることです。この場合、すべてのシナリオに対応するためにユーザー定義関数を作成します。以下の手順で行ってください:

1. 「Alt + F11」キーを押して「Microsoft Visual Basic for Applications」ウィンドウを開きます。

2. 「挿入」>「モジュール」をクリックし、次のコードをモジュールウィンドウに貼り付けます。

VBAコード: N番目の文字の出現前または後のテキストを削除

Function RemoveTextOccurrence(Str As String, Delimiter As String, Occurrence As Integer, IsAfter As Boolean)
Dim xStr As String
Dim xStrLen, xF, xIntStart As Integer
xStr = Str
xStrLen = Len(xStr)
xIntStart = 1
For xF = 1 To Occurrence
xIntStart = InStr(xIntStart + 1, xStr, Delimiter, vbTextCompare)
If (xIntStart = 0) Or (xIntStart < 0) Then
    If IsAfter Then
    RemoveTextOccurrence = xStr
    Else
    RemoveTextOccurrence = ""
    End If
    Exit Function
End If
Next
If IsAfter Then
    RemoveTextOccurrence = Mid(Str, 1, xIntStart - 1)
Else
    RemoveTextOccurrence = Mid(Str, xIntStart + 1)
End If
End Function

3. その後、コードウィンドウを閉じて終了し、ワークシートに戻り、次の数式を使用します:

2回目のコンマの前にあるテキストを削除:

=RemoveTextOccurrence(A2, ", ", 2, FALSE)

A screenshot showing the result of using the RemoveTextOccurrence function in Excel to remove text before the second occurrence of a comma

2回目のコンマの後に続くテキストを削除

=RemoveTextOccurrence(A2, ", ", 2, TRUE)

A screenshot showing the result of using the RemoveTextOccurrence function in Excel to remove text after the second occurrence of a comma


3.3 最後の文字の出現前または出現後のテキストを削除

最後の特定の文字の前または後ろにあるすべてのテキストを削除し、その前または後ろの部分文字列だけを残す必要がある場合、このセクションではこの問題を解決するための数式を提供します。

 数式を使用して、最後に出現する文字の前のテキストを削除

最後に出現する文字の前にあるすべての文字を削除するための一般的な構文は次のとおりです:

=RIGHT(セル,LEN(セル)-SEARCH("#",SUBSTITUTE(セル,"char","#",LEN(セル)-LEN(SUBSTITUTE(セル,"char","")))))
  • "cell": テキストを削除したいセルの参照またはテキスト文字列;
  • "char": 特定の区切り文字を指定して、その基準でテキストを削除します。

では、最後に出現するコンマの前のテキストを削除する必要がある場合は、以下の数式を空白のセルにコピーまたは入力してください:

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

注: 上記の数式において、「A2」はテキストを削除したいセルです。「,」はテキストを削除する基準となる特定の文字であり、必要に応じて他の任意の文字に変更できます。

次に、フィルハンドルをドラッグして数式を他のセルにコピーすると、最後のカンマの前のすべての文字が以下のスクリーンショットのように削除されます。


 数式を使用して、最後に出現する文字の後のテキストを削除

セルの値が可変個の区切り文字で分かれており、その区切り文字の最後の出現以降のすべてを削除したい場合、一般的な構文は次のとおりです:

=LEFT(セル,FIND("#",SUBSTITUTE(セル,"文字", "#",LEN(セル)-LEN(SUBSTITUTE(セル,"文字",""))))-1)
  • "cell": テキストを削除したいセルの参照またはテキスト文字列;
  • "char": 特定の区切り文字を基にテキストを削除したい場合;

以下の数式をコピーするか、空白のセルに直接入力し、その後フィルハンドルを下にドラッグして必要な他の結果を得てください。スクリーンショットをご覧ください:

=LEFT(A2,FIND("#",SUBSTITUTE(A2,",>","#",LEN(A2)-LEN(SUBSTITUTE(A2,",",""))))-1)

"注": 上記の数式において、「A2」はテキストを削除したいセルです。「,」はテキストを削除する基準となる特定の文字であり、必要に応じて他の任意の文字に変更できます。


3.4 括弧内のテキストを削除

テキスト文字列のリストがあり、その一部が括弧で囲まれている場合、括弧自体も含めて括弧内のすべての文字を削除したいとします。以下のスクリーンショットのように表示される場合があります。このセクションでは、Excelでこのタスクを解決するためのいくつかの方法について説明します。

 検索と置換機能を使用して括弧内のテキストを削除

Excelでは、組み込みの「検索と置換」機能を使用して、括弧内のすべてのテキストを検索し、それらを何もなしに置き換えることができます。次のように操作してください:

1. 括弧内のテキストを削除したいデータリストを選択します。

2. 次に、「ホーム」>「検索と選択」>「置換」(または「Ctrl + H」キーを押す)をクリックして、「検索と置換」ダイアログボックスを開きます。そして、「検索と置換」ダイアログボックスで、次の操作を行ってください:

  • 「検索内容」フィールドに、テキストボックスに「(*)」と入力します。
  • 「置換内容」フィールドでは、このフィールドを空のままにしてください。

3. 次に、「すべて置換」ボタンをクリックすると、選択したセル内の括弧内(括弧を含む)のすべての文字が一度に削除されます。スクリーンショットをご覧ください:

ヒント: 「検索と置換」機能は、テキスト文字列内の2つ以上の括弧のペアにも適用されます。


 数式を使用して括弧内のテキストを削除

Find and Replace 機能のほかに、Excel でこのタスクを解決するために数式を使用することもできます。一般的な構文は次のとおりです:

=SUBSTITUTE(テキスト,MID(LEFT(テキスト,FIND(")",テキスト)),FIND("(",テキスト),LEN(テキスト)),"")
  • "text": 文字を削除したいテキスト文字列またはセル参照。

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

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

次に、この数式を適用したいセルまでフィルハンドルを下にドラッグすると、括弧内のすべてのテキストと括弧自体が一度に削除されます。スクリーンショットをご覧ください:

ヒント:セルの値に括弧がない場合、上記の数式を適用するとエラーが表示されます。エラーを無視するには、以下の数式を使用してください:

=IFERROR(SUBSTITUTE(A2,MID(LEFT(A2,FIND(")",A2)),FIND("(",A2),LEN(A2)),""),A2)


 ユーザー定義関数を使用して括弧内のテキストを削除

上記の数式は、1組の括弧内のテキストを削除するのにうまく機能します。しかし、もし文字列内に複数の括弧のペアからテキストを削除する必要がある場合、この数式は正しく動作しません。ここで、このタスクを解決するために簡単なユーザー定義関数を作成します。

1. 「Alt + F11」キーを押したままにすると、「Microsoft Visual Basic for Applications」ウィンドウが開きます。

2. 「挿入」>「モジュール」をクリックし、次のコードをモジュールウィンドウに貼り付けます。

VBAコード: 括弧内のテキストを削除

Function remtxt(ByVal str As String) As String
'Updateby Extendoffice
  While InStr(str, "(") > 0 And InStr(str, ")") > InStr(str, "(")
    str = Left(str, InStr(str, "(") - 1) & Mid(str, InStr(str, ")") + 1)
  Wend
  remtxt = Trim(str)
End Function

3. ワークシートに戻り、空白のセルにこの数式を入力します:"=remtxt(A2)"。その後、フィルハンドルを下にドラッグして数式を適用します。括弧内のすべてのテキストと括弧自体が削除されます。スクリーンショットに示すように:

A screenshot showing the result of using a custom VBA function in Excel to remove text between multiple pairs of parentheses


 テキスト文字列から単語を削除

特定の状況では、セルのリストから特定の単語を削除したい場合があります。例えば、最初または最後の単語、セル内の重複する単語などです。このような削除を行うために、このセクションではいくつかの方法をご紹介します。

4.1 テキスト文字列から最初または最後の単語を削除

テキスト文字列のリストから最初または最後の単語を削除するには、次の数式が役立つかもしれません。

 数式を使用してテキスト文字列から最初の単語を削除

テキスト文字列のリストから最初の単語を削除するには、RIGHT、LEN、およびFIND関数に基づいたシンプルな数式を作成できます。一般的な構文は次のとおりです:

=RIGHT(テキスト,LEN(テキスト)-FIND(" ",テキスト))
  • "text": 最初の単語を削除したいテキスト文字列またはセル参照。

次に、以下の数式を空白のセルに入力またはコピーしてください:

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

そして、フィルハンドルを下にドラッグして他のセルにも数式を適用します。スクリーンショットをご覧ください:

ヒント:セルから最初のN個の単語を削除する必要がある場合は、以下の数式を使用してください。

=MID(TRIM(テキスト),1+FIND("~",SUBSTITUTE(TRIM(テキスト)," ","~",N)),255)
  • "text": 最初のn個の単語を削除したいテキスト文字列またはセル参照。
  • "N": テキスト文字列の先頭から削除したい単語の数を示します。

例えば、セルから最初の2つの単語を削除するには、以下の数式を空白のセルにコピーまたは入力して、必要な結果を得てください。スクリーンショットをご覧ください:

=MID(TRIM(A2),1+FIND("~",SUBSTITUTE(TRIM(A2)," ","~",2)),255)


  数式を使用してテキスト文字列から最後の単語を削除

テキスト文字列から最後の単語を削除するには、このタスクを解決するために数式を使用することもできます。一般的な構文は次のとおりです:

=LEFT(TRIM(テキスト),FIND("~",SUBSTITUTE(テキスト," ","~",LEN(TRIM(テキスト))-LEN(SUBSTITUTE(TRIM(テキスト)," ",""))))-1)
  • "text": 最後の単語を削除したいテキスト文字列またはセル参照;

以下の数式を空白のセルに入力し、塗りつぶしハンドルを下にドラッグして他のセルにも数式を適用してください。スクリーンショットをご覧ください:

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

ヒント: セルのリストから最後のN個の単語を削除するための一般的な構文は次のとおりです:

=LEFT(テキスト,FIND("~",SUBSTITUTE(テキスト," ","~",LEN(テキスト)-LEN(SUBSTITUTE(テキスト," ",""))-(N-1))))
  • "text": 最後のn個の単語を削除したいテキスト文字列またはセル参照;
  • "N": テキスト文字列の末尾から削除したい単語の数を示します。

例えば、セルのリストから最後の3つの単語を削除する場合、次の数式を使用して結果を返してください。スクリーンショットをご覧ください:

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


4.2 セル内の重複する文字または単語を削除

重複する値や行を削除する場合、Excelはいくつかの異なるオプションを提供しますが、特定のセル内の重複する文字や単語を削除する必要がある場合、それを解決するための適切な組み込み機能がないかもしれません。このような場合、このセクションでは、この問題に対処するためにユーザー定義関数を作成する方法について説明します。

 ユーザー定義関数を使用してセル内の重複文字を削除する

セル内に同じ文字が複数回出現する場合、以下のスクリーンショットに示すように、セル内の重複した文字を削除して最初の出現のみを残したい場合は、次のユーザー定義関数を使用できます。

1. 「Alt + F11」キーを押して「Microsoft Visual Basic for Applications」ウィンドウを開きます。

2. 「挿入」>「モジュール」をクリックし、次のコードをモジュールウィンドウに貼り付けます。

VBAコード: セル内の重複文字を削除

Function RemoveDupeschars(pWorkRng As Range) As String
'Updateby Extendoffice
Dim xValue As String
Dim xChar As String
Dim xOutValue As String
Set xDic = CreateObject("Scripting.Dictionary")
xValue = pWorkRng.Value
For i = 1 To VBA.Len(xValue)
    xChar = VBA.Mid(xValue, i, 1)
    If xDic.Exists(xChar) Then
    Else
        xDic(xChar) = ""
        xOutValue = xOutValue & xChar
    End If
Next
RemoveDupeschars = xOutValue
End Function

3. その後、コードウィンドウを閉じ、ワークシートに戻り、データの隣にある空白セルにこの数式 =RemoveDupeschars(A2) を入力し、この数式を適用したいセルまでフィルハンドルをドラッグします。スクリーンショットをご覧ください:

注: 「A2」は、重複する文字を削除したいデータセルです。

A screenshot showing the formula being applied in Excel to remove duplicate characters from a text string in a cell

ヒント: この関数は大文字と小文字を区別するため、小文字と大文字を異なる文字として扱います。


 ユーザー定義関数を使用してセル内の重複する単語を削除する

同じ単語やテキスト文字列がセルに含まれていて、以下のようなスクリーンショットのようにセルからすべての同じ単語を削除したいとします。この場合、次のユーザー定義関数を使用して、Excelでこのタスクを解決できます。

1. 「Alt + F11」キーを押して「Microsoft Visual Basic for Applications」ウィンドウを開きます。

2. 「挿入」>「モジュール」をクリックし、次のコードをモジュールウィンドウに貼り付けます。

VBAコード: セル内の重複する単語を削除

Function RemoveDupeswords(txt As String, Optional delim As String = " ") As String
'Updateby Extendoffice
    Dim x
    With CreateObject("Scripting.Dictionary")
        .CompareMode = vbTextCompare
        For Each x In Split(txt, delim)
            If Trim(x) <> "" And Not .exists(Trim(x)) Then .Add Trim(x), Nothing
        Next
        If .Count > 0 Then RemoveDupeswords = Join(.keys, delim)
    End With
End Function

3. その後、コードウィンドウを閉じ、ワークシートに戻り、この数式 =RemoveDupeswords(A2,", ") をデータの隣にある空白セルに入力し、そしてこの数式を適用したいセルまでフィルハンドルをドラッグしてください。スクリーンショットをご覧ください:

注: 「A2」は、重複する単語を削除したいセルであり、カンマとスペース(",")はテキスト文字列を区切るための区切り文字です。必要に応じて、これらを他の任意の区切り文字に変更できます。

A screenshot showing the formula being applied in Excel to remove duplicate words from a text string in a cell

ヒント: この機能は大文字と小文字を区別しません。小文字と大文字は同じ文字として扱われます。


4.3 テキスト文字列をN単語にトリム

セル内に長いテキスト文字列がある場合、特定の数の単語までその文字列を切り詰めたいと思うことがあります。つまり、最初のn個の単語だけを残して、残りの単語を削除するということです。このセクションでは、Excelでこの作業を実現するためのいくつかの方法について説明します。

 数式を使用してテキスト文字列をN単語にトリム

テキスト文字列をN単語にトリムするには、LEFT、FIND、SUBSTITUTE関数に基づいた数式を作成できます。一般的な構文は次のとおりです:

=LEFT(テキスト,FIND("~",SUBSTITUTE(テキスト," ","~",N))-1)
  • "text": トリムしたいテキスト文字列またはセル参照;
  • "N": 与えられたテキスト文字列の左側から保持したい単語の数。

この作業を行うには、次の数式を空白のセルにコピーまたは入力してください:

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

そして、フィルハンドルを下にドラッグして、この数式を他のセルにも適用します。スクリーンショットをご覧ください:


 ユーザー定義関数を使用してテキスト文字列をN単語にトリム

上記の数式の他に、このタスクを解決するためにユーザー定義関数を作成することもできます。次のように操作してください:

1. 「Alt + F11」キーを押して、「Microsoft Visual Basic for Applications」ウィンドウを開きます。

2. 「挿入」>「モジュール」をクリックし、次のコードをモジュールウィンドウに貼り付けます。

VBAコード: テキスト文字列をN単語にトリム

Function GetNWords(StrWords As String, Num_of_Words As Integer) As String
'Updateby Extendoffice
Dim xArr
Dim xRes As String
Dim xF As Integer
xStr = StrWords
If (Num_of_Words < 1) Then
    GetNWords = ""
    Exit Function
End If
xArr = Split(xStr, " ")
xRes = ""
On Error Resume Next
For xF = 0 To UBound(xArr)
    If Trim(xArr(xF)) <> "" Then
    Num_of_Words = Num_of_Words - 1
        If xRes = "" Then
            xRes = Trim(xArr(xF))
        Else
            xRes = xRes & " " & Trim(xArr(xF))
        End If
    End If
    If Num_of_Words = 0 Then Exit For
Next
If Num_of_Words = 0 Then
    GetNWords = xRes & "..."
Else
    GetNWords = xRes & "..."
End If
End Function

3. その後、コードウィンドウを閉じて終了し、ワークシートに戻ります。そして、この数式を空白のセルに入力します:=GetNWords(A2,B2) 。その後、フィルハンドルを下にドラッグして、この数式を他のセルにも適用します。すると、最初の指定された数の単語のみが保持されます(以下のスクリーンショット参照):

A screenshot showing the result after applying the User Defined Function to trim the text string to a specific number of words in Excel

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

🤖 Kutools AI アシスタント: データ分析を革命化する: インテリジェント実行   |  コード生成  |  カスタム数式の作成  |  データを分析しグラフを生成  |  拡張機能を呼び出す
人気の機能: 重複を見つけてハイライトまたはマーキング   |  空白行を削除   |  データを失わずに列またはセルを統合   |   丸める ...
スーパーLOOKUP: 複数条件のVLookup    複数値のVLookup  |   複数シートの検索   |   ファジーマッチ ....
高度なドロップダウンリスト: ドロップダウンリストを迅速に作成   |  依存ドロップダウンリスト   |  マルチセレクトドロップダウンリスト ....
列管理: 特定の数の列を追加  |  列を移動  |  非表示列の可視ステータスを切り替え  |  範囲と列を比較 ...
注目の機能: グリッドフォーカス   |  デザインビュー   |   強化された数式バー    ワークブック & ワークシート管理   |  オートテキスト ライブラリ (Auto Text)   |  日付ピッカー   |  データの統合   |  セルの暗号化/復号化    リストで電子メールを送信   |  スーパーフィルター   |   特殊フィルタ (太字/斜体/取り消し線をフィルタリング...) ...
トップ15のツールセット12 のテキストツール (テキストの追加, 特定の文字を削除, ...)  |  50以上 のグラフ の種類 (ガントチャート, ...)  |  40以上の実用的な 数式 (誕生日に基づいて年齢を計算する, ...)  |  19 の挿入ツール (QRコードの挿入, パスから画像を挿入, ...)  |  12 の変換ツール (単語に変換する, 通貨変換, ...)  |  7 の統合 & セルの分割ツール (高度な行のマージ, セルの分割, ...)  |  ...さらに多く

Kutools for ExcelでExcelスキルを強化し、これまでにない効率を体験してください。 Kutools for Excelは、300以上の高度な機能を提供し、生産性を向上させ、保存時間を節約します。  最も必要な機能を入手するにはここをクリック...


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

  • Word、Excel、PowerPoint、Publisher、Access、Visio、Projectでタブ付きの編集と読み取りを有効にします。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を50%向上させ、毎日数百回のマウスクリックを減らします!