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

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

著者Mandyzhou変更日

Excel ユーザーは、数字と文字や記号などの非数値文字が混在したデータに頻繁に直面します。こうしたデータをクリーニングすることは、その後の分析やレポート作成において不可欠な場合があります。本ガイドでは、Excel のセルから非数値文字を削除する4 つの方法をご紹介し、データをクリーンで使いやすい状態へと整えます。

非数値文字が削除されたExcelデータのスクリーンショット

Excel でセルから非数値文字を削除する

このセクションでは、Excel のバージョンやユーザーのスキルレベルに応じて、セルから非数値文字を削除する4 つの効果的な方法をご紹介します。


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

Excel のセルから非数値文字を削除するには、TEXTJOIN 関数を使った数式が使えます。

手順1:セルを選択して数式を適用する

セル C2 に次の数式を入力し、Enter キーを押して結果を表示してください。

=TEXTJOIN("",TRUE,IFERROR(MID(A2,SEQUENCE(LEN(A2)),1)+0,""))+0
Excelで非数値文字を削除するためにTEXTJOIN関数が適用されている様子を示すスクリーンショット
TEXTJOIN 関数はExcel 2019 以降で利用可能です。また、SEQUENCE 関数はExcel 2021 以降で利用可能です。すべてのExcel バージョンでより簡単に目的を達成したい場合は、次に紹介するKUTOOLS AI Aide を使用する方法、または優れたツールを使用する方法をご参照ください。
手順2:数式を他のセルにも適用してすべての結果を取得する

最初の結果を計算したら、この例ではセル C2 のフィルハンドルを下方向にドラッグして、セル C8 まで数式を他のセルに適用します。

TEXTJOIN関数を適用して非数値文字を削除した後の結果を示すスクリーンショット
数式の説明:
  1. LEN(A2):A2 内の文字列の長さを取得します。
  2. SEQUENCE(LEN(A2))1 から文字列の長さまでの数値リストを作成します。各数値は、文字列内の各文字の位置に対応します。
  3. MID(A2, SEQUENCE(LEN(A2)), 1)A2 から1 文字ずつ抽出します。
  4. +0 各文字を数値に変換しようと試みます。数字でない文字が含まれている場合、エラーが発生します。
  5. IFERROR(..., 「」)文字の変換でエラーが発生した場合(つまり、数値に変換できない場合)、空文字列に置き換えられます。
  6. TEXTJOIN(「」, TRUE, ...)すべての文字を1 つの文字列に再結合します。この際、空文字列(削除された非数値文字)はスキップされます。
  7. +0 at the end:最終的な数字の文字列を数値に変換します。

KUTOOLS AI Aide を使用してExcel のセルから非数値文字を削除する

Kutools for Excel の「AI アシスタント」機能は、非数値文字を簡単に削除してExcel シートをすばやくクリーニングできる、他に類を見ない便利な機能です。ユーザーが簡単に入力するだけで、この強力なツールが自動で分析・処理を行い、複雑な数式を一切使うことなくタスクを完遂します。これにより、処理時間が大幅に短縮されるだけでなく、エラーのリスクも完全に排除され、生産性と正確性が飛躍的に向上します。「AI アシスタント」機能は、手間のかかる手作業をシームレスで効率的な操作へと変え、ワークフローの最適化を求めるすべてのExcel ユーザーにとって欠かせない必須ツールです。

Kutools for Excelは、複雑なタスクを効率化し、創造性と生産性を高める300 以上の高度な機能を提供します。AI 機能を統合しており、Kutools はタスクを正確に自動化し、データ管理を簡単にします。Kutools for Excel の詳細情報。。。         無料トライアル。。。

Kutools for Excel をダウンロードしてインストールした後、「KUTOOLS AI」>「AI アシスタント」をクリックして、「KUTOOLS AI Aide」ペインを開きます。

1。「KUTOOLS AI Aid」ペインのチャットボックスに、以下のようなリクエストを入力し、Kutools AI Aideペインの「送信」ボタンのスクリーンショット「送信」ボタンをクリックするか、Enter キーを押してクエリを送信してください。

Excel で範囲 A2:A8 から非数値文字を削除してください

2。ツールが入力を分析し終えたら、「実行」ボタンをクリックしてください。KUTOOLS AI Aide は AI 技術を活用してリクエストを処理し、結果をExcel に直接反映します。

Kutools AI AideがExcelセルから非数値文字を削除する様子を示すGIF

ヒント:この機能を使用するには、事前にKutools for Excel をダウンロードするにはこちらをクリックしてインストールしてください。今すぐ!


優れたツールを使用してExcel のセルから非数値文字を削除する

Kutools for Excel の「特定の文字を削除」ユーティリティを使えば、制限された範囲内のデータから非数値文字をワンクリックで効率的にクリーニングできます。この強力な機能により、煩雑になりがちな作業が大幅に簡素化され、不要な文字を瞬時に除去して、すぐに使えるクリーンなデータを手に入れられます。

Kutools for Excelは、複雑なタスクを効率化し、創造性と生産性を高める300 以上の高度な機能を提供します。AI 機能を統合しており、Kutools はタスクを正確に自動化し、データ管理を簡単にします。Kutools for Excel の詳細情報。。。         無料トライアル。。。

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

2。「特定の文字を削除」ダイアログボックスで「非数値」オプションにチェックを入れ、「OK」をクリックすると、選択範囲から非数値文字が即座に削除されます。

Kutoolsの「文字削除」ツールがExcelで動作している様子を示すGIF

ヒント:この機能をご利用になるには、事前にKutools for Excel をダウンロードするにはこちらをクリックしてインストールしてください。今すぐ!


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


VBA コードを使って範囲から非数値文字を削除するには、以下の手順に従ってください。

手順1:VBA モジュールエディターを開き、コードをコピーする
  1. Excel で「Alt + F11」キーを押すと、「Microsoft Visual Basic for Applications」ウィンドウが開きます。
  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」をクリックしてください。

Excelで非数値文字を削除するための範囲を選択するVBAコードのスクリーンショット

結果

これにより、選択範囲内のすべての非数値文字が削除されます。

選択範囲内のすべての非数値文字が削除されたことを示すスクリーンショット

データに小数点を含む数値が含まれている場合は、次の 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. 結果

Excelのデータから非数値文字が削除された結果を示すVBAコードのスクリーンショット