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

Excel のセルから数値以外の文字を削除するにはどうすればよいでしょうか?

著者: Mandyzhou 最終更新日:2024年06月18日

Excel ユーザーは、数字と文字や記号などの非数値文字が混在するデータに遭遇することがよくあります。このデータをクリーンアップすることは、さらに分析したりレポートを作成したりする上で不可欠です。このガイドでは、Excel のセルから非数値文字を削除して、データがクリーンで使用可能であることを確認する 4 つの方法について説明します。


Excelのセルから数字以外の文字を削除する

このセクションでは、Excel のさまざまなバージョンとユーザーの専門知識レベルに合わせて、Excel セルから数値以外の文字を削除する 4 つの効果的な方法を紹介します。


数式を使用してExcelのセルから数値以外の文字を削除する

Excelのセルから数字以外の文字を削除するには、次の数式を使用します。 テキスト結合 機能。

ステップ1: セルを選択して数式を適用する

セル内 C2、以下の式を適用し、 を押します。 入力します 結果を得るための鍵。

=TEXTJOIN("",TRUE,IFERROR(MID(A2,SEQUENCE(LEN(A2)),1)+0,""))+0
このアプリケーションには、XNUMXµmおよびXNUMXµm波長で最大XNUMXWの平均出力を提供する テキスト結合 関数はExcel 2019以降で使用できます。 シーケンス この関数はExcel 2021以降で使用できます。すべてのExcelバージョンでこの目標を達成する簡単な方法が必要な場合は、 Kutools AI Aideを使用することで メソッドまたは 素晴らしいツールを使うことで 次に紹介する方法です。
ステップ2: 数式を他のセルに適用してすべての結果を取得する

最初の結果を計算した後、数式セルから塗りつぶしハンドルをドラッグします(C2 数式を他のセルに適用するには、この例のように下へ移動してセルまで拡張します。 C8.

式の説明:
  1. LEN(A2): A2 内の文字列の長さを計算します。
  2. シーケンス(LEN(A2)): 1 から文字列の長さまでの数値のリストを作成します。各数値は文字列内の文字位置に対応します。
  3. MID(A2, シーケンス(LEN(A2)), 1): A2 から各文字を XNUMX 文字ずつ抽出します。
  4. +0: 各文字を数値に変換します。文字が数値でない場合はエラーが発生します。
  5. IFERROR(..., ""): 文字の変換でエラーが発生した場合 (つまり、数値ではない場合)、空の文字列に置き換えられます。
  6. TEXTJOIN("", TRUE, ...): 空の文字列 (削除された数値以外の文字) をスキップして、すべての文字を 1 つの文字列に結合します。
  7. 最後に+0: 最終的な数字の文字列を数値に戻します。

Kutools AI Aide を使用して Excel のセルから数値以外の文字を削除します

Kutools for Excel's AI補佐官 この機能により、Excelシートから数字以外の文字を簡単に削除してクリーンアップする比類のない利便性が実現します。この強力なツールは、簡単な入力だけで、複雑な数式を必要とせずに必要なタスクを自動的に分析して実行します。これにより、プロセスが高速化されるだけでなく、エラーの可能性も排除され、生産性と精度が大幅に向上します。 AI補佐官 面倒な手作業をシームレスで効率的な操作に変えることができるため、ワークフローの最適化を目指す Excel ユーザーにとって欠かせない資産となります。

Kutools for Excelのダウンロードとインストール、クリック クツールAI > AI補佐官 を開く Kutools AI アシスタント ペイン。

1。 の中に Kutools AI 補助 ペインで、チャットボックスに以下のテキストのようなリクエストを入力し、 送信 ボタンまたはプレス 入力します クエリを送信するためのキー。

"Excel の範囲 A2:A8 から数字以外の文字を削除してください."

2. ツールが入力内容を分析したら、 実行する ボタン。Kutools AI Aide は AI テクノロジーを使用してリクエストを処理し、結果を Excel に直接適用します。

先端: この機能を使用するには、以下をインストールする必要があります Kutools for Excel まずはお願いします クリックしてダウンロードし、30 日間の無料トライアルをご利用ください 今。


素晴らしいツールを使ってExcelのセルから数字以外の文字を削除する

指定された範囲の非数値文字を削除してデータを効率的にクリーニングするには、 Kutools for Excelさん 文字を削除する ユーティリティは ワンクリック ソリューション。この強力なツールは、面倒になりがちなプロセスを簡素化し、データから不要な文字をすばやく削除して、よりクリーンで使いやすい結果を即座に実現します。

注: これを適用する 文字を削除する 機能を使用するには、まずダウンロードしてインストールする必要があります Kutools for Excel.

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

2。 の中に 文字を削除する ダイアログボックスで 非数値 オプションをクリックして OKすると、数字以外の文字が選択範囲から直ちに削除されます。

先端: この機能を使用するには、以下をインストールする必要があります Kutools for Excel まずはお願いします クリックしてダウンロードし、30 日間の無料トライアルをご利用ください 今。


VBA コードを使用して Excel のセルから数値以外の文字を削除する


VBAコードを使用して範囲から数字以外の文字を削除するには、次のようにします。

手順 1: VBA モジュール エディターを開いてコードをコピーする
  1. 押したまま Alt + F11 Excelでキーを押すと、 アプリケーション向け Microsoft Visual Basic 窓。
  2. クリック インセット > モジュール、次に次のコードをコピーして貼り付けます モジュール 窓。
  3. VBAコード: 数字以外の文字をすべて削除する
    Sub RemoveNotNum()
    '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
        xOut = ""
        For i = 1 To Len(Rng.Value)
            xTemp = Mid(Rng.Value, i, 1)
            If xTemp Like "[0-9]" Then
                xStr = xTemp
            Else
                xStr = ""
            End If
            xOut = xOut & xStr
        Next i
        Rng.Value = xOut
    Next
    End Sub
    
ステップ 2: コードを実行する
  1. このコードを貼り付けたら、を押してください F5 このコードを実行するためのキー。
  2. ポップアップで Kutools for Excel ダイアログボックスで、数字以外の文字を削除する範囲を選択し、 OK.
結果

すると、選択範囲内の数字以外の文字がすべて削除されます。

データに小数点付きの数値が含まれている場合は、次の VBA スクリプトを使用できます。
  1. Sub RemoveNotNum()
    '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
        xOut = ""
        For i = 1 To Len(Rng.Value)
            xTemp = Mid(Rng.Value, i, 1)
            If xTemp Like "[0-9.]" Then
                xStr = xTemp
            Else
                xStr = ""
            End If
            xOut = xOut & xStr
        Next i
        Rng.Value = xOut
    Next
    End Sub
    
  2. 結果
Comments (13)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
HI Thanks for the coding, i am getting the syntax error highlighted on For i = 1 To Len(Rng.Value) and the debug Sub RemoveNotNum() is highlighted in yellow.. kindly advice.
This comment was minimized by the moderator on the site
The VBA works great. I modified it to always work on a column, as shown:

For Each Cell In Range("B2:B" & ActiveSheet.UsedRange.Rows.Count)

xOut = ""

For i = 1 To Len(Cell.Value)

xTemp = Mid(Cell.Value, i, 1)

If xTemp Like "[0-9]" Then

xStr = xTemp

Else

xStr = ""

End If

xOut = xOut & xStr

Next i

Cell.Value = xOut

Next

I also used this to sort a column by the last digit, changing the last part to Cell.Value = Right(xOut, 1) then sorting it numerically.
This comment was minimized by the moderator on the site
Send me it on my email id
This comment was minimized by the moderator on the site
Hi, I want to use this macro but want to pre-define a range. Can you please let me know how to pre-define the range. Thanks, Samit
This comment was minimized by the moderator on the site
Just wanted to let you know that if the string starts with zero(s), or starts with letters, followed by zero(s), followed by the rest of the string this will remove all of the beginning zeroes. This is weird because it doesn't remove the zero(s) if they are between other non-zero numbers within the string, only if they start the string or are the first numbers after the initial letters in a string. Example. 0060100 would come out as 60100 PFF057726 would come out as 57726. Let me know if you have an explanation for this and can think of a solution. Thank you.
This comment was minimized by the moderator on the site
Thanx Guys for such a nice work. The script is awesome and it worked for. Keep it up guys.
This comment was minimized by the moderator on the site
Use this Formaula for replacing the existing character with the new one =SUBSTITUTE(text,old_text,new_text,[instance_num]) for ex-=SUBSTITUTE(TRIM(G1),"/","") Wish U all Happy Easter 2015
This comment was minimized by the moderator on the site
I received an error when I hit the > run button in the developer: Compile Error: Expected:end of statement and the word "non" in non-numeric is highlighted
This comment was minimized by the moderator on the site
Wow. that worked , exactly what I needed. Thanks,
This comment was minimized by the moderator on the site
Awesome Worked GREAT!!!!!!!!
This comment was minimized by the moderator on the site
wouldn't be better to replace the input-box method by just setting WorkRng like this: Set WorkRng = Intersect(ActiveSheet.UsedRange, Selection) that way if user select a entire column it wouldn't generate any error.
There are no comments posted here yet
Load More
Leave your comments
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations