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

Excelは、テキスト文字列から文字、単語、数字を削除します

著者:シャオヤン 最終更新日:2022年12月07日

文字、数字、またはその他の特定の記号を含むテキスト文字列の長いリストがあるとします。 場合によっては、テキスト文字列から右、左、中央などの位置に基づいて一部の文字を削除したり、文字列のリストから不要な文字や数字を削除したりする必要があります。 解決策をXNUMXつずつ見つけることは頭痛の種になります。このチュートリアルでは、Excelで文字、単語、または数字を削除するためのあらゆる種類の方法を収集します。

目次:

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

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

3.特定の文字の前後の文字/テキストを削除します

4.テキスト文字列から単語を削除します


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

Excelワークシートのテキスト文字列の左、右、または中央から一部の文字を削除することは、私たちのほとんどにとって一般的な仕事かもしれません。 このセクションでは、このタスクを解決するための簡単なトリックをいくつか紹介します。

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

テキスト文字列のリストから最初のn文字を削除する必要がある場合は、次の方法が適しています。

 数式を使用して

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

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

=REPLACE(string, 1, num_chars, "")
  • 文字列:文字を削除するテキスト文字列。
  • num_chars:削除する文字数。

たとえば、セルから最初の2文字を削除するには、次の数式を使用してから、塗りつぶしハンドルをドラッグして数式を他のセルにコピーしてください。スクリーンショットを参照してください。

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

最初のN文字を削除するRIGHTおよびLEN関数:

=RIGHT(string, LEN(string) - num_chars)
  • 文字列:文字を削除するテキスト文字列。
  • num_chars:削除する文字数。

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

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


 ユーザー定義関数を使用する

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

1。 を押し続けます Altキー+ F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。

2に設定します。 OK をクリックします。 インセット > モジュール、モジュールウィンドウに次のコードを貼り付けます。

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

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

3。 次に、ワークシートに戻り、次の数式を入力します。 = removefirstx(A4,2) 空白のセルに入力し、塗りつぶしハンドルを下にドラッグして、必要に応じて結果を取得します。スクリーンショットを参照してください。

Note:この式では: A4 文字を削除するセルです。 数字 2 テキスト文字列の先頭から削除する文字数を示します。


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

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

 式を使用して

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

最後のN文字を削除するLEFTおよびLEN関数:

=LEFT(string, LEN(string) - num_chars)
  • 文字列:文字を削除するテキスト文字列。
  • num_chars:削除する文字数。

テキスト文字列の末尾から3文字を削除するには、この数式を使用してから、塗りつぶしハンドルをドラッグして数式を他のセルにコピーしてください。スクリーンショットを参照してください。

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


 ユーザー定義関数を使用する

ここで、ユーザー定義関数は、セルのリストから最後のn文字を削除するのにも役立ちます。次のようにしてください。

1。 を押し続けます Altキー+ F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。

2に設定します。 OK をクリックします。 インセット > モジュール、モジュールウィンドウに次のコードを貼り付けます。

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

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

3。 次に、ワークシートに戻り、次の数式を入力します。 = removelastx(A4,3) 空白のセルに入力し、塗りつぶしハンドルを下にドラッグして、必要に応じて結果を取得します。スクリーンショットを参照してください。

Note:この式では: A4 文字を削除するセルです。 数字 3 テキスト文字列の末尾から削除する文字数を示します。


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

さまざまな数式を覚えたり、テキスト文字列の左、右、または特定の位置から文字を削除したりするのは、苦痛かもしれません。 Kutools for Excel 強力な機能をサポート– 位置で削除。 この小さなツールを使用すると、数式を覚えていなくても、数回クリックするだけでこれらのタスクを処理できます。

インストールした後 Kutools for Excel、次のようにしてください。

1。 文字を削除するセルを選択し、をクリックします クツール > テキスト > 位置で削除、スクリーンショットを参照してください:

2。 の中に 位置で削除 ダイアログボックスで、次の操作を行ってください。

2.1セルから最初のn文字を削除します。

  • In 数字 テキストボックスに、文字列から削除する文字数を入力します。 この例では、最初の2文字を削除します。
  • 選択 左から 内のオプション 役職 のセクションから無料でダウンロードできます。
  • 次に、をクリックします。 Ok or 申し込む 以下のスクリーンショットに示すように、ボタンをクリックして結果を取得します。

2.2セルから最後のn文字を削除します。

  • In 数字 テキストボックスに、文字列から削除する文字数を入力します。 この例では、最後の3文字を削除します。
  • 選択 右から 内のオプション 役職 のセクションから無料でダウンロードできます。
  • 次に、をクリックします。 Ok or 申し込む 以下のスクリーンショットに示すように、ボタンをクリックして結果を取得します。

2.3セルの特定の位置からn文字を削除します。

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

  • In 数字 テキストボックスに、文字列から削除する文字数を入力します。 この例では、特定の位置から3文字を削除します。
  • 選択 指定 オプションを選択し、文字を削除する番号をのテキストボックスに入力します。 役職 セクション。 ここでは、XNUMX番目の文字から文字を削除します。
  • 次に、をクリックします。 Ok or 申し込む 以下のスクリーンショットに示すように、ボタンをクリックして結果を取得します。

今すぐExcel用のKutoolsをダウンロードして無料トライアル!


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

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

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

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

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

Note:この式では: A4 文字を削除するセルです。 数字 7 左側から削除する文字数です。 数字 5 右側から削除する文字数です。

次に、塗りつぶしハンドルをこの数式を適用する場所までドラッグすると、次のスクリーンショットのような結果が得られます。


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

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

2.1テキスト文字列からいくつかの特殊文字を削除する

テキスト文字列内に%^&*()などの特殊文字がある場合、このタイプの文字を削除するには、以下のXNUMXつのトリックを適用できます。

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

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

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

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

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

次に、塗りつぶしハンドルをこの数式を適用するセルまでドラッグすると、指定したすべての不要な文字が一度に削除されます。スクリーンショットを参照してください。

ヒント:削除する文字がさらにある場合は、数式内にさらにSUBSTITUTE関数をネストする必要があります。


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

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

1。 を押し続けます Altキー+ F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。

2に設定します。 OK をクリックします。 インセット > モジュール、次のコードをモジュールウィンドウに貼り付けます。

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) 結果を出力する空白のセルに移動し、塗りつぶしハンドルを下にドラッグして、必要に応じて結果を取得します。スクリーンショットを参照してください。

Note:上記の式では: A2 文字を削除するセルです。 $ D $ 2 削除する特殊文字が含まれています(必要な他の特殊文字を入力できます)。


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

あなたがインストールしている場合 Kutools for Excelそのと 文字を削除する この機能では、必要に応じて、セルのリストから数字、英字、非印刷文字など、あらゆる種類の文字を削除できます。

インストールした後 Kutools for Excel、次のようにしてください。

1。 特殊文字を削除するセルの範囲を選択し、をクリックします クツール > テキスト > 文字を削除する、スクリーンショットを参照してください:

2。 の中に 文字を削除する ダイアログボックス:

  • チェック カスタム オプションの下に 文字を削除する のセクションから無料でダウンロードできます。
  • 次に、削除する特殊文字をテキストボックスに入力します。
  • 次に、をクリックします。 Ok or 申し込む ボタンを押すと、指定した文字を一度に削除できます。 スクリーンショットを参照してください:

今すぐExcel用のKutoolsをダウンロードして無料トライアル!


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), ""))

次に、この数式を適用する下の他のセルに数式をコピーします。スクリーンショットを参照してください。

Note:このTEXTJOINは、Excel 2019、2021、およびOffice365でのみ使用できます。


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

上記のXNUMXつの式に加えて、ユーザー定義関数もあなたに有利に働くことができます。次の手順で実行してください。

1。 を押し続けます Altキー+ F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。

2に設定します。 OK をクリックします。 インセット > モジュール、次のコードをモジュールウィンドウに貼り付けます。

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) 空白のセルに入力し、塗りつぶしハンドルをこの数式を適用するセルまでドラッグします。スクリーンショットを参照してください。


 便利なオプションでテキスト文字列から数字を削除する

複雑な数式にうんざりしている場合は、簡単なツールを紹介します– Kutools for Excelさん 文字を削除する。 この便利な機能を使用すると、数回クリックするだけでこのタスクを実行できます。

インストールした後 Kutools for Excel、次のようにしてください。

1。 数字を削除するセルの範囲を選択し、をクリックします クツール > テキスト > 文字を削除する.

2。 の中に 文字を削除する ダイアログボックスで、次の操作を行ってください。

  • チェック 数値の オプションの下に 文字を削除する のセクションから無料でダウンロードできます。
  • 次に、をクリックします。 Ok or 申し込む ボタンを押すと、番号がすぐに削除されます。 スクリーンショットを参照してください:

今すぐExcel用のKutoolsをダウンロードして無料トライアル!


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)

次に、この数式を適用する下の他のセルに数式をコピーします。スクリーンショットを参照してください。

Note:テキスト文字列の数字が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,""))

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

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


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

もちろん、より単純な構文で独自のユーザー定義関数を作成することもできます。次のようにしてください。

1。 を押し続けます Altキー+ F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。

2に設定します。 OK をクリックします。 インセット > モジュール、次のコードをモジュールウィンドウに貼り付けます。

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) 空白のセルに塗りつぶしハンドルをドラッグして、この数式を適用するセルに移動します。以下のスクリーンショットのように、数値のみが抽出されます。


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

セル範囲内の数字以外の文字を直接削除するには、 Kutools for Excelさん 文字を削除する ユーティリティは、数回クリックするだけでそれを実行できます。

インストールした後 Kutools for Excel、次のようにしてください。

1。 数字以外の文字を削除するセルの範囲を選択し、[ クツール > テキスト > 文字を削除する.

2。 の中に 文字を削除する ダイアログボックスで、次の操作を設定してください。

  • チェック 非数値 オプションの下に 文字を削除する のセクションから無料でダウンロードできます。
  • 次に、をクリックします。 Ok or 申し込む ボタンを押すと、数字以外のすべての文字がすぐに削除されます。 スクリーンショットを参照してください:

今すぐExcel用のKutoolsをダウンロードして無料トライアル!


2.4テキストと数字をXNUMXつのセルからXNUMXつの列に分割する

次の方法を使用すると、テキスト文字列からテキストと数字をXNUMXつの別々の列に抽出したい場合があります。これにより、このタスクをすばやく簡単に完了することができます。

 ユーザー定義関数を使用して、テキストと数値をXNUMXつのセルからXNUMXつの列に分割します

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

1。 を押し続けます Altキー+ F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。

2に設定します。 OK をクリックします。 インセット > モジュール、次のコードをモジュールウィンドウに貼り付けます。

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

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) 空白のセルに入力し、塗りつぶしハンドルをこの数式に入力するセルまでドラッグして、すべてのテキストを取得します。スクリーンショットを参照してください。

4。 次に、次の数式を入力します。 = SplitText(A2、TRUE) 別のセルに入力し、この数式に入力するセルまで塗りつぶしハンドルをドラッグして数値を取得します。スクリーンショットを参照してください。


 簡単な機能でXNUMXつのセルからXNUMXつの列にテキストと数字を分離する

あなたが持っている場合 Kutools for Excel、 その 分割セル ユーティリティは、区切り文字、指定された幅、またはテキストと数値に基づいて、セルを複数の列または行に分割するのに役立ちます。

インストールした後 Kutools for Excel、次のようにしてください。

1。 分割するセルの範囲を選択し、をクリックします クツール > マージ&スプリット > 分割セル、スクリーンショットを参照してください:

2。 の中に 分割セル ダイアログボックスで 列に分割 オプションの下に 種類 セクション、そしてチェック テキストと番号 分割 セクション、スクリーンショットを参照してください:

3。 次に、をクリックします。 Ok ボタン、および別の 分割セル ダイアログボックスが表示され、セルを選択して区切りのテキストと数字を出力し、[ OK ボタン。 これで、以下のデモに示すように、選択したセルのテキストと数字が一度にXNUMXつの列に分割されていることがわかります。

今すぐExcel用のKutoolsをダウンロードして無料トライアル!


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

改行は、Excelの同じセルに複数の行を含めることができるものです。 時々、あなたがウェブサイトからデータをコピーするか、あなたのセルの内容をで分離するとき Altキー+ Enterキー キーを手動で入力すると、改行またはキャリッジリターンが表示されます。 場合によっては、以下のスクリーンショットに示すように、改行を削除してセルの内容をXNUMX行にすることができます。 ここでは、Excelでこのタスクを解決するためのいくつかの方法を紹介します。

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

Excelでは、 検索および置換 改行を削除する機能は、次のようにしてください。

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

2。 次に、をクリックします。 ホーム > 検索と選択 > 交換する (または Ctrl + H キー)に行く 検索および置換 ダイアログボックス、スクリーンショットを参照してください:

3。 飛び出した 検索および置換 ダイアログボックスで、次の操作を行ってください。

  • にカーソルを置きます 見つける フィールドとプレス Ctrl + J キーボードでは何も表示されない場合がありますが、改行文字が挿入されています。
  • と交換 フィールドの場合、このフィールドを空のままにして、改行を削除するか、 スペースバr一度、改行をブランクに置き換えます。

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


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

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

結果を得るには、次の式を適用してください。

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

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

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


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

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

1。 を押し続けます Altキー+ F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。

2に設定します。 OK をクリックします。 インセット > モジュール、次のコードをモジュールウィンドウに貼り付けます。

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 このコードを実行するためのキーを押すと、プロンプトボックスが表示され、改行を削除する範囲を選択します。スクリーンショットを参照してください。

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


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

ここでは、 Kutools for Excelさん 文字を削除する この機能は、改行を簡単に削除するのにも役立ちます。

インストールした後 Kutools for Excel、次のようにしてください。

1。 改行を削除するセルの範囲を選択し、をクリックします クツール > テキスト > 文字を削除する.

2。 の中に 文字を削除する ダイアログボックスで、次の操作を設定してください。

  • チェック 非印刷 オプションの下に 文字を削除する のセクションから無料でダウンロードできます。
  • 次に、をクリックします。 Ok or 申し込む ボタンをクリックして、選択したデータ範囲からすべての改行を削除します。 スクリーンショットを参照してください:

今すぐExcel用のKutoolsをダウンロードして無料トライアル!


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

外部ソースからExcelワークシートにテキストをコピーして貼り付けると、多くの場合、煩わしい残りの空白が発生します。先頭、末尾、またはその他の余分なスペースを手動で削除するのは面倒です。 幸い、Excelには、このタスクを処理するための簡単なトリックがいくつか用意されています。

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

Excelでは、テキスト文字列から先頭、末尾、および余分なスペースを削除するには、単純なTRIM関数が役立ちます。 この関数は、単語間の単一のスペースを除くすべてのスペースを削除します。

空白のセルに次の数式を入力してください。

=TRIM(A2)

次に、塗りつぶしハンドルを下にドラッグして、他のセルの数式をコピーします。これで、単語間の先頭と末尾のスペースと余分なスペースがすべてスクリーンショットから一度に削除されていることがわかります。


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

テキスト文字列からすべての空白を削除したい場合は、次のSUBSTITUTE関数と検索と置換機能を使用すると便利です。

SUBSTITUTE機能を使用する

SUBSTITUTE関数を使用して、すべてのスペースを何も置き換えないようにすることができます。次の数式を空白のセルに適用してください。

=SUBSTITUTE(A2," ","")

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


検索と置換機能を使用する

実際には、 検索と置換 Excelの機能は、選択したセルからすべてのスペースを取り除くのにも役立ちます。次の手順で実行してください。

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

2。 次に、をクリックします。 ホーム > 検索と選択 > 交換する (または Ctrl + H キー)に移動するには 検索および置換 開いた状態のダイアログボックス 検索および置換 ダイアログボックスで、以下の操作を行ってください。

  • イベント スペースキー セクションに 見つける フィールド;
  • と交換 フィールド、このフィールドは空のままにします。

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


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

Kutools for Excel 強力な機能があります– スペースを削除する、このユーティリティを使用すると、先頭のスペース、末尾のスペース、余分なスペースだけでなく、選択した範囲からすべてのスペースをXNUMXつのダイアログボックスで削除できるため、作業の生産性が向上します。

インストールした後 Kutools for Excel、次のようにしてください。

1。 スペースを削除するデータ範囲を選択し、をクリックします クツール > テキスト > スペースを削除する。 スクリーンショットを参照してください:

2。 の中に スペースを削除する ダイアログボックスで、削除するスペースタイプをXNUMXつ選択します。 スペースタイプ:

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

3。 次に、をクリックします。 Ok or 申し込む ボタンをクリックすると、必要な結果が得られます。

今すぐExcel用のKutoolsをダウンロードして無料トライアル!


特定の文字の前後の文字/テキストを削除する

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

3.1最初の特定の文字の前後のテキストを削除する

以下のスクリーンショットに示すように、テキスト文字列のリストからスペースやコンマなどの最初の特定の文字の前後のテキストを削除する場合は、ここでXNUMXつの方法を投稿します。

 数式を使用して最初の特定の文字の前のテキストを削除する

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

=RIGHT(cell, LEN(cell)-FIND("char", cell))
  • セル:テキストを削除するセル参照またはテキスト文字列。
  • チャリオット:テキストを削除する特定の区切り文字。

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

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

Note:上記の式で: A2 テキストを削除するセルです。 , は、テキストを削除する特定の文字です。必要に応じて、他の文字に変更できます。


 数式を使用して最初の特定の文字の後のテキストを削除する

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

=LEFT(cell,FIND("char",cell)-1)
  • セル:テキストを削除するセル参照またはテキスト文字列。
  • チャリオット:テキストを削除する特定の区切り文字。

次に、以下の数式を空白のセルに入力し、塗りつぶしハンドルをこの数式を適用する他のセルにドラッグすると、最初のカンマの後のすべての文字が一度に削除されます。スクリーンショットを参照してください。

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


3.2文字のN番目の出現の前後のテキストを削除する

テキスト文字列に特定の区切り文字の複数のインスタンスが含まれている場合があります。必要に応じて、XNUMX番目、XNUMX番目、XNUMX番目など、特定のインスタンスの前後のすべての文字を削除したい場合があります。 このタイプの削除に対処するには、次のトリックを使用できます。

 数式を含む文字がN番目に出現する前のテキストを削除する

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

=RIGHT(cell,LEN(cell)-FIND("#",SUBSTITUTE(cell,"char","#",N)))
  • セル:テキストを削除するセル参照またはテキスト文字列。
  • チャリオット:テキストを削除する特定の区切り文字。
  • N:テキストを削除する前の文字の出現。

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

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

Note:上記の式で: A2 テキストを削除するセルです。 , は、テキストを削除する特定の文字です。必要に応じて、他の文字に変更できます。 2 テキストを削除する前のn番目のコンマを示します。

次に、塗りつぶしハンドルをドラッグして、数式を他のセルにコピーします。スクリーンショットを参照してください。


 数式を含む文字がN番目に出現した後のテキストを削除する

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

=LEFT(cell, FIND("#", SUBSTITUTE(cell, "char", "#", N)) -1)
  • セル:テキストを削除するセル参照またはテキスト文字列。
  • チャリオット:テキストを削除する特定の区切り文字。
  • N:テキストを削除した後の文字の出現。

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

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

Note:上記の式で: A2 テキストを削除するセルです。 , は、テキストを削除する特定の文字です。必要に応じて、他の文字に変更できます。 2 テキストを削除するn番目のコンマを示します。

次に、塗りつぶしハンドルをドラッグして数式を他のセルにコピーすると、XNUMX番目のカンマの後のすべての文字が一度に削除されます。スクリーンショットを参照してください。


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

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

1。 を押し続けます Altキー+ F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。

2に設定します。 OK をクリックします。 インセット > モジュール、次のコードをモジュールウィンドウに貼り付けます。

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。 次に、コードウィンドウを閉じて終了し、ワークシートに戻り、次の数式を使用します。

XNUMX番目に出現するコンマの前のテキストを削除します。

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

カンマがXNUMX回出現した後のテキストを削除する

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


3.3最後に出現する文字の前後のテキストを削除する

以下のスクリーンショットに示すように、最後の特定の文字の前後のすべてのテキストを削除し、最後の特定の文字の前後の部分文字列のみを残す必要がある場合、このセクションでは、この問題を解決するためのいくつかの式について説明します。

 数式を含む文字が最後に出現する前のテキストを削除する

文字が最後に出現する前にすべての文字を削除するには、一般的な構文は次のとおりです。

=RIGHT(cell,LEN(cell)-SEARCH("#",SUBSTITUTE(cell,"char","#",LEN(cell)-LEN(SUBSTITUTE(cell,"char","")))))
  • セル:テキストを削除するセル参照またはテキスト文字列。
  • チャリオット:テキストを削除する特定の区切り文字。

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

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

Note:上記の式で: A2 テキストを削除するセルです。 , は、テキストを削除する特定の文字です。必要に応じて、他の文字に変更できます。

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


 数式を含む文字が最後に出現した後のテキストを削除する

セルの値が可変数の区切り文字で区切られている場合、その区切り文字の最後のインスタンス以降のすべてを削除する場合、一般的な構文は次のとおりです。

=LEFT(cell,FIND("#",SUBSTITUTE(cell,"char","#",LEN(cell)-LEN(SUBSTITUTE(cell,"char",""))))-1)
  • セル:テキストを削除するセル参照またはテキスト文字列。
  • チャリオット:テキストを削除する特定の区切り文字。

以下の数式をコピーするか、空白のセルに入力してから、塗りつぶしハンドルを下にドラッグして、必要な他の結果を取得してください。スクリーンショットを参照してください。

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

Note:上記の式で: A2 テキストを削除するセルです。 , は、テキストを削除する特定の文字です。必要に応じて、他の文字に変更できます。


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

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

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

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

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

2。 次に、をクリックします。 ホーム > 検索と選択 > 交換する (または Ctrl + H キー)で、[検索と置換]ダイアログボックスに移動します。 検索および置換 ダイアログボックスで、次の操作を実行します。

  • 見つける フィールド、タイプ (*) テキストボックスに;
  • と交換 フィールド、このフィールドは空のままにします。

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

ヒント検索および置換 この機能は、テキスト文字列内のXNUMXつ以上の括弧のペアに対しても機能します。


 数式で括弧内のテキストを削除します

検索と置換機能に加えて、Excelでこのタスクを解決するための数式を使用することもできます。一般的な構文は次のとおりです。

=SUBSTITUTE(text,MID(LEFT(text,FIND(")",text)),FIND("(",text),LEN(text)),"")
  • 클라우드 기반 AI/ML및 고성능 컴퓨팅을 통한 디지털 트윈의 기초 – Edward Hsu, Rescale CPO 많은 엔지니어링 중심 기업에게 클라우드는 R&D디지털 전환의 첫 단계일 뿐입니다. 클라우드 자원을 활용해 엔지니어링 팀의 제약을 해결하는 단계를 넘어, 시뮬레이션 운영을 통합하고 최적화하며, 궁극적으로는 모델 기반의 협업과 의사 결정을 지원하여 신제품을 결정할 때 데이터 기반 엔지니어링을 적용하고자 합니다. Rescale은 이러한 혁신을 돕기 위해 컴퓨팅 추천 엔진, 통합 데이터 패브릭, 메타데이터 관리 등을 개발하고 있습니다. 이번 자리를 빌려 비즈니스 경쟁력 제고를 위한 디지털 트윈 및 디지털 스레드 전략 개발 방법에 대한 인사이트를 나누고자 합니다. :文字を削除するテキスト文字列またはセル参照。

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

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

次に、塗りつぶしハンドルをこの数式を適用するセルまでドラッグすると、括弧を含む括弧内のすべてのテキストが一度に削除されます。スクリーンショットを参照してください。

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

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


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

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

1。 を押し続けます Altキー+ F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。

2に設定します。 OK をクリックします。 インセット > モジュール、次のコードをモジュールウィンドウに貼り付けます。

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)次に、この数式を適用するセルまで塗りつぶしハンドルをドラッグします。下のスクリーンショットに示すように、括弧を含むすべての括弧内のすべてのテキストが削除されます。


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

場合によっては、セルのリストから一部の単語を削除したい場合があります。たとえば、最初または最後の単語、セルからの重複した単語などです。 これらの種類の削除を解決するために、このセクションではいくつかの方法を紹介します。

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

テキスト文字列のリストから最初または最後の単語を削除するには、次の式を使用するとよいでしょう。

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

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

=RIGHT(text,LEN(text)-FIND(" ",text))
  • 클라우드 기반 AI/ML및 고성능 컴퓨팅을 통한 디지털 트윈의 기초 – Edward Hsu, Rescale CPO 많은 엔지니어링 중심 기업에게 클라우드는 R&D디지털 전환의 첫 단계일 뿐입니다. 클라우드 자원을 활용해 엔지니어링 팀의 제약을 해결하는 단계를 넘어, 시뮬레이션 운영을 통합하고 최적화하며, 궁극적으로는 모델 기반의 협업과 의사 결정을 지원하여 신제품을 결정할 때 데이터 기반 엔지니어링을 적용하고자 합니다. Rescale은 이러한 혁신을 돕기 위해 컴퓨팅 추천 엔진, 통합 데이터 패브릭, 메타데이터 관리 등을 개발하고 있습니다. 이번 자리를 빌려 비즈니스 경쟁력 제고를 위한 디지털 트윈 및 디지털 스레드 전략 개발 방법에 대한 인사이트를 나누고자 합니다. :最初の単語を削除するテキスト文字列またはセル参照。

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

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

次に、塗りつぶしハンドルを下にドラッグして、数式を他のセルに適用します。スクリーンショットを参照してください。

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

=MID(TRIM(text),1+FIND("~",SUBSTITUTE(TRIM(text)," ","~",N)),255)
  • 클라우드 기반 AI/ML및 고성능 컴퓨팅을 통한 디지털 트윈의 기초 – Edward Hsu, Rescale CPO 많은 엔지니어링 중심 기업에게 클라우드는 R&D디지털 전환의 첫 단계일 뿐입니다. 클라우드 자원을 활용해 엔지니어링 팀의 제약을 해결하는 단계를 넘어, 시뮬레이션 운영을 통합하고 최적화하며, 궁극적으로는 모델 기반의 협업과 의사 결정을 지원하여 신제품을 결정할 때 데이터 기반 엔지니어링을 적용하고자 합니다. Rescale은 이러한 혁신을 돕기 위해 컴퓨팅 추천 엔진, 통합 데이터 패브릭, 메타데이터 관리 등을 개발하고 있습니다. 이번 자리를 빌려 비즈니스 경쟁력 제고를 위한 디지털 트윈 및 디지털 스레드 전략 개발 방법에 대한 인사이트를 나누고자 합니다. :最初のn語を削除するテキスト文字列またはセル参照。
  • N:テキスト文字列の先頭から削除する単語の数を示します。

たとえば、セルから最初のXNUMXつの単語を削除するには、次の数式をコピーするか、空白のセルに入力して、必要に応じて結果を取得してください。スクリーンショットを参照してください。

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


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

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

=LEFT(TRIM(text),FIND("~",SUBSTITUTE(text," ","~",LEN(TRIM(text))-LEN(SUBSTITUTE(TRIM(text)," ",""))))-1)
  • 클라우드 기반 AI/ML및 고성능 컴퓨팅을 통한 디지털 트윈의 기초 – Edward Hsu, Rescale CPO 많은 엔지니어링 중심 기업에게 클라우드는 R&D디지털 전환의 첫 단계일 뿐입니다. 클라우드 자원을 활용해 엔지니어링 팀의 제약을 해결하는 단계를 넘어, 시뮬레이션 운영을 통합하고 최적화하며, 궁극적으로는 모델 기반의 협업과 의사 결정을 지원하여 신제품을 결정할 때 데이터 기반 엔지니어링을 적용하고자 합니다. Rescale은 이러한 혁신을 돕기 위해 컴퓨팅 추천 엔진, 통합 데이터 패브릭, 메타데이터 관리 등을 개발하고 있습니다. 이번 자리를 빌려 비즈니스 경쟁력 제고를 위한 디지털 트윈 및 디지털 스레드 전략 개발 방법에 대한 인사이트를 나누고자 합니다. :最後の単語を削除するテキスト文字列またはセル参照。

以下の数式を空白のセルに使用してから、塗りつぶしハンドルを下にドラッグして、数式を他のセルに適用してください。スクリーンショットを参照してください。

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

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

=LEFT(text,FIND("~",SUBSTITUTE(text," ","~",LEN(text)-LEN(SUBSTITUTE(text," ",""))-(N-1))))
  • 클라우드 기반 AI/ML및 고성능 컴퓨팅을 통한 디지털 트윈의 기초 – Edward Hsu, Rescale CPO 많은 엔지니어링 중심 기업에게 클라우드는 R&D디지털 전환의 첫 단계일 뿐입니다. 클라우드 자원을 활용해 엔지니어링 팀의 제약을 해결하는 단계를 넘어, 시뮬레이션 운영을 통합하고 최적화하며, 궁극적으로는 모델 기반의 협업과 의사 결정을 지원하여 신제품을 결정할 때 데이터 기반 엔지니어링을 적용하고자 합니다. Rescale은 이러한 혁신을 돕기 위해 컴퓨팅 추천 엔진, 통합 데이터 패브릭, 메타데이터 관리 등을 개발하고 있습니다. 이번 자리를 빌려 비즈니스 경쟁력 제고를 위한 디지털 트윈 및 디지털 스레드 전략 개발 방법에 대한 인사이트를 나누고자 합니다. :最後のn語を削除するテキスト文字列またはセル参照。
  • N:テキスト文字列の末尾から削除する単語の数を示します。

セルのリストから最後の3語を削除するには、次の数式を使用して結果を返すと仮定します。スクリーンショットを参照してください。

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


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

重複する値または行を削除する場合、Excelにはいくつかの異なるオプションがありますが、特定のセル内の重複する文字または単語を削除する場合、それを解決するための優れた組み込み機能がない場合があります。 この場合、このセクションは、このパズルを処理するためのいくつかのユーザー定義関数を作成するのに役立ちます。

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

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

1。 を押し続けます Altキー+ F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。

2に設定します。 OK をクリックします。 インセット > モジュール、次のコードをモジュールウィンドウに貼り付けます。

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) データ以外の空白のセルに入力し、この数式を適用するセルに塗りつぶしハンドルをドラッグします。スクリーンショットを参照してください。

NoteA2 重複する文字を削除するデータセルです。

先端:この関数では大文字と小文字が区別されるため、小文字と大文字は異なる文字として扱われます。


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

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

1。 を押し続けます Altキー+ F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。

2に設定します。 OK をクリックします。 インセット > モジュール、次のコードをモジュールウィンドウに貼り付けます。

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、 "、") データ以外の空白のセルに入力し、この数式を適用するセルに塗りつぶしハンドルをドラッグします。スクリーンショットを参照してください。

Note: A2 重複する単語を削除するセル、およびコンマとスペース(, )はテキスト文字列を区切る区切り文字です。必要に応じて他の区切り文字に変更できます。

先端:この関数では大文字と小文字は区別されません。小文字と大文字は同じ文字として扱われます。


4.3テキスト文字列をN語にトリミングする

セルに長いテキスト文字列がある場合、テキスト文字列を特定の単語数にトリミングしたい場合があります。つまり、最初のn単語だけを保持し、残りの単語を切り取ります。 このセクションでは、Excelでこの仕事を達成するのに役立ついくつかの秘訣について説明します。

 数式を使用してテキスト文字列をN語にトリミングします

テキスト文字列をNワードにトリミングするには、LEFT、FIND、およびSUBSTITUTE関数に基づいて数式を作成できます。一般的な構文は次のとおりです。

=LEFT(text,FIND("~",SUBSTITUTE(text," ","~",N))-1)
  • 클라우드 기반 AI/ML및 고성능 컴퓨팅을 통한 디지털 트윈의 기초 – Edward Hsu, Rescale CPO 많은 엔지니어링 중심 기업에게 클라우드는 R&D디지털 전환의 첫 단계일 뿐입니다. 클라우드 자원을 활용해 엔지니어링 팀의 제약을 해결하는 단계를 넘어, 시뮬레이션 운영을 통합하고 최적화하며, 궁극적으로는 모델 기반의 협업과 의사 결정을 지원하여 신제품을 결정할 때 데이터 기반 엔지니어링을 적용하고자 합니다. Rescale은 이러한 혁신을 돕기 위해 컴퓨팅 추천 엔진, 통합 데이터 패브릭, 메타데이터 관리 등을 개발하고 있습니다. 이번 자리를 빌려 비즈니스 경쟁력 제고를 위한 디지털 트윈 및 디지털 스레드 전략 개발 방법에 대한 인사이트를 나누고자 합니다. :トリミングするテキスト文字列またはセル参照。
  • N:指定されたテキスト文字列の左側から保持する単語の数。

このジョブを処理するには、以下の数式をコピーするか、空白のセルに入力してください。

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

次に、塗りつぶしハンドルを下にドラッグして、この数式を他のセルに適用します。スクリーンショットを参照してください。


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

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

1。 を押し続けます Altキー+ F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。

2に設定します。 OK をクリックします。 インセット > モジュール、次のコードをモジュールウィンドウに貼り付けます。

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) 空白のセルに入力し、塗りつぶしハンドルを下にドラッグしてこの数式を他のセルに適用すると、次のスクリーンショットに示すように、最初の特定の単語数のみが保持されます。


  • スーパーフォーミュラバー (複数行のテキストと数式を簡単に編集できます); 読書レイアウト (多数のセルを簡単に読み取って編集する); フィルター範囲に貼り付け...
  • セル/行/列をマージする およびデータの保持。 分割セルコンテンツ; 重複する行と合計/平均を組み合わせる...重複セルを防止します。 範囲を比較する...
  • [複製]または[一意]を選択します 行; 空白行を選択 (すべてのセルは空です); スーパーファインドとファジーファインド 多くのワークブックで; ランダム選択...
  • 正確なコピー 数式参照を変更せずに複数のセル。 参照の自動作成 複数のシートに; 箇条書きを挿入、チェックボックスなど...
  • お気に入りの数式をすばやく挿入する、範囲、チャート、写真; セルを暗号化する パスワード付き。 メーリングリストを作成する そしてメールを送る...
  • テキストを抽出、テキストの追加、位置による削除、 スペースを削除する; ページング小計の作成と印刷。 セルの内容とコメントを変換する...
  • スーパーフィルター (フィルタースキームを保存して他のシートに適用します); 高度な並べ替え 月/週/日、頻度など。 特殊フィルター 太字、斜体...
  • ワークブックとワークシートを組み合わせる; キー列に基づいてテーブルをマージします。 データを複数のシートに分割; xls、xlsx、PDFをバッチ変換...
  • ピボットテーブルのグループ化 週番号、曜日など... ロック解除された、ロックされたセルを表示する さまざまな色で; 式/名前を持つセルを強調表示する...
kteタブ201905
  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
officetab下部
Comments (2)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Realmente pongo =SplitText (A2;FALSO) al tener el Excel en español

Gracias por su valiosa ayuda

Saludos
José F.
This comment was minimized by the moderator on the site
Yo pongo lo que indican ustedes en VB de Excel y después en la hoja pongo =SplitText (A2, FALSO) Como indican ustedes y no me funciona ¿A que puede ser debido?

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

Gracias
Saludos
José F
There are no comments posted here yet
Leave your comments
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations