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

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

Author: Mandyzhou Last Modified: 2025-05-23

Excelユーザーは、文字や記号などの数字と非数値文字が混在したデータをよく扱います。このデータを整理することは、さらなる分析やレポート作成に必要不可欠です。このガイドでは、Excelのセルから非数値文字を削除するための4つの方法を紹介します。これにより、データがクリーンで利用可能になります。

A screenshot of Excel data with non-numeric characters removed

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

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


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

Excelのセルから非数値文字を削除するには、TEXTJOIN関数に基づいた数式を使用できます。

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

C2セルに以下の数式を適用し、Enterキーを押して結果を得ます。

=TEXTJOIN("",TRUE,IFERROR(MID(A2,SEQUENCE(LEN(A2)),1)+0,""))+0
A screenshot showing the TEXTJOIN formula applied to remove non-numeric characters in Excel
TEXTJOIN関数はExcel 2019以降で利用可能です。また、SEQUENCE関数はExcel 2021以降で利用可能です。すべてのExcelバージョンで簡単な方法を実現したい場合は、後ほど紹介する「Kutools AI アシスタント」または「素晴らしいツール」の方法を参照してください。
ステップ2: 数式を他のセルに適用し、すべての結果を得る

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

A screenshot showing the results after applying the TEXTJOIN formula to remove non-numeric characters
数式の説明:
  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, ...): すべての文字を単一の文字列に結合し、空の文字列(削除された非数値文字)をスキップします。
  7. 最後の+0: 最終的な数値文字列を数値に再変換します。

Kutools AI アシスタントを使用して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 アシスタント」ペインを開きます。

1. 「Kutools AI アシスタント」ペインで、以下のようなテキストをチャットボックスに入力し、送信します。 A screenshot of the Send button in Kutools AI Aide pane 「送信」ボタンをクリックするか、Enterキーを押してクエリを送信します。

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

2. ツールが入力を解析したら、「実行」ボタンをクリックします。Kutools AI アシスタントはAI技術を利用してリクエストを処理し、結果を直接Excelに適用します。

A GIF showing how Kutools AI Aide removes non-numeric characters from Excel cells

ヒント: この機能を使用するには、まずKutools for Excelをインストールする必要があります。今すぐKutools for Excelをダウンロードしてください


素晴らしいツールを使用してExcelのセルから非数値文字を削除する

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

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

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

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

A GIF demonstrating Kutools Remove Characters tool in Excel

ヒント: この機能を使用するには、まずKutools for Excelをインストールする必要があります。今すぐ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. 表示されるKutoolsforExcelダイアログボックスで、非数値文字を削除したい範囲を選択し、「OK」をクリックします。

A screenshot of the VBA code selecting range for removing non-numeric characters in Excel

結果

選択範囲内のすべての非数値文字が削除されました。

A screenshot showing all non-numeric characters in the selected range are removed

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

A screenshot of the VBA code results showing non-numeric characters removed from data in Excel