Office
 Computer >> コンピューター >  >> ソフトウェア >> Office

Excelでセルから数字だけを削除する5つの方法【関数・VBA】

本記事では、Excelのセルから数字(数値文字)のみを削除する方法を詳しく解説します。生データを扱う際、数値とテキストが同じセルに混在しているケースは非常に多く、作業を進めるには両者を分離する必要があります。Excelには数字を削除するためのさまざまな数式がありますが、ここでは初心者でもすぐに実践できる簡単な方法を5つ厳選して紹介します。

Excelでセルから数字を削除する5つの方法

分析用の生データを受け取ったとき、1つの列に数字とテキストが混在していることがよくあります。スムーズに作業するためには、これらを別々に分ける必要があります。このセクションでは、その作業に最適な5つの方法を順番に見ていきましょう。

Excelでセルから数字だけを削除する5つの方法【関数・VBA】

方法1:TEXTJOIN関数を使ってセルから数字を削除する

TEXTJOIN関数をベースにした数式を使えば、セルから数字だけを取り除けます。まず、元の列の隣に結果を抽出するための新しい列を作成しましょう。以下、操作全体をステップごとに解説します。

Excelでセルから数字だけを削除する5つの方法【関数・VBA】

ステップ1:

  • セルC4に、TEXTJOIN関数を使った次の数式を入力します。
=TEXTJOIN("",TRUE,IF(ISERR(MID(B4,ROW(INDIRECT("1:100")),1)+0),MID(B4,ROW(INDIRECT("1:100")),1),""))
  • ここではMID関数ROW関数INDIRECT関数を組み合わせて、テキスト文字列内の文字を1つずつ処理しています。
  • MID関数は、B4のテキストを1文字ずつ抽出する役割を担います。
MID(B4,ROW(INDIRECT("1:100")),1)
  • 「100」は確認する最大文字数を表します。このMID関数は、{1,2,3,4,…99,100} のような100個の数値を含む配列を生成します。
  • この配列を start_num(開始位置)引数として使い、num_chars(文字数)には「1」を指定します。
  • こうすることで、「1」「2」「3」のような数値はエラーなく変換されますが、数値以外の文字は変換できず #VALUE! エラーを返します。IF関数ISERR関数でこのエラーを検出し、数値以外の文字だけを配列に残します。
  • 逆にエラーが返らなかった場合はそれが数字なので、代わりに空の文字列("")を配列に挿入します。
  • 最終的な結果はTEXTJOIN関数text1 として渡されます。区切り文字には空の文字列("")を指定し、ignore_empty には TRUE を設定します。
  • こうしてTEXTJOIN関数が、配列内の空でない値(=テキスト文字)をすべて連結した結果を返します。

Excelでセルから数字だけを削除する5つの方法【関数・VBA】

ステップ2:

  • これは配列数式なので、Ctrl + Shift + Enter を同時に押して結果を表示します。Excel 365をお使いの場合は、EnterキーだけでOKです。

Excelでセルから数字だけを削除する5つの方法【関数・VBA】

ステップ3:

  • セルの右下隅にカーソルを合わせてダブルクリックすると、データセット内のすべてのセルに同じ数式を一括適用できます。

Excelでセルから数字だけを削除する5つの方法【関数・VBA】

方法2:SEQUENCE関数を使ってセルから数字を削除する

ステップ1:

  • Excel 365をお使いなら、SEQUENCE関数を使ったより短い数式を利用できます。数式は次のとおりです。
=TEXTJOIN("",TRUE,IF(ISERR(MID(B4,SEQUENCE(LEN(B4)),1)+0),MID(B4,SEQUENCE(LEN(B4)),1),""))
  • SEQUENCE関数は、前述のROW関数INDIRECT関数を置き換えて、同じ役割を果たします。
  • この数式では、SEQUENCE関数LEN関数を組み合わせることで、正しい長さの配列を1ステップで作成できます。

Excelでセルから数字だけを削除する5つの方法【関数・VBA】

ステップ2:

  • Enterキーを押して結果を取得します。

Excelでセルから数字だけを削除する5つの方法【関数・VBA】

  • 残りのセルにも同じ数式を適用すれば、最終結果が完成します。

Excelでセルから数字だけを削除する5つの方法【関数・VBA】

方法3:LET関数を使ってセルから数字を削除する

ステップ1:

  • LET関数を使うと、数式をさらにスマートにできます。数式は次のとおりです。
=LET(ARRAY,SEQUENCE(LEN(B4)),TEXTJOIN("",TRUE,IF(ISERR(MID(B4,ARRAY,1)+0),MID(B4,ARRAY,1),"")))
  • LET関数を使えば、配列を2回生成する代わりに、変数として1度だけ定義できるため、数式がすっきりし計算も効率化されます。

Excelでセルから数字だけを削除する5つの方法【関数・VBA】

ステップ2:

  • Enterキーを押し、必要なすべてのセルに同じ数式を適用します。最終結果はこちらです。

Excelでセルから数字だけを削除する5つの方法【関数・VBA】

方法4:TRIM関数を使って余分なスペースも一緒に削除する

テキストと数字が混在する生データには、余分な空白が含まれていることがあります。そんなときはTRIM関数を組み合わせれば、数字の削除と同時に余分なスペースも取り除けます。以下の手順で試してみましょう。

Excelでセルから数字だけを削除する5つの方法【関数・VBA】

ステップ1:

  • セルC4に次の数式を入力します。
=TRIM(TEXTJOIN("",TRUE,IF(ISERR(MID(B4,ROW(INDIRECT("1:100")),1)+0),MID(B4,ROW(INDIRECT("1:100")),1),"")))

内容は方法1のTEXTJOIN数式と同じで、先頭にTRIM関数を追加しただけです。もちろん、SEQUENCELETベースの数式と組み合わせても問題ありません。

Excelでセルから数字だけを削除する5つの方法【関数・VBA】

ステップ2:

  • Enterキーを押して結果を確認します。余分なスペースの問題が解消されているのがわかります。

Excelでセルから数字だけを削除する5つの方法【関数・VBA】

方法5:VBAコードを実行してセルから数字を削除する

VBAマクロを使えば、セルから数字をまとめて削除することも可能です。以下で具体的な手順を紹介します。

ステップ1:

  • まず、Alt + F11キーを押してVBAエディター(マクロ画面)を開きます。

Excelでセルから数字だけを削除する5つの方法【関数・VBA】

  • 新しいウィンドウが開いたら、「挿入」メニューから「標準モジュール」を選択して、新しいモジュールを追加します。

Excelでセルから数字だけを削除する5つの方法【関数・VBA】

ステップ2:

  • 開いたモジュールに、数字を削除するVBAコードを貼り付けます。以下のコードをそのままコピーして、ワークシートでご利用ください。
Sub RemoveNumber()
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "VBA code to remove number"
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 = ""
            Else
            xStr = xTemp
            End If
            xOut = xOut & xStr
            Next i
            Rng.Value = xOut
Next
End Sub

Excelでセルから数字だけを削除する5つの方法【関数・VBA】

ステップ3:

  • コードを実行し、対象範囲を選択して「OK」をクリックすると処理が完了します。

Excelでセルから数字だけを削除する5つの方法【関数・VBA】

  • これで、セルから数字だけを正常に削除できました。

Excelでセルから数字だけを削除する5つの方法【関数・VBA】

注意点

👉 配列数式を使用する場合は、Ctrl + Shift + Enterを同時に押して結果を確定してください。Excel 365ではEnterキーだけで動作します。

👉 SEQUENCE関数Excel 365でのみ使用可能です。旧バージョンのExcelでは使えませんのでご注意ください。

👉 TEXTJOIN関数Excel 2019以降で利用できます。それ以前のバージョンのユーザーは、この関数を使用できません。

まとめ

今回は、Excelのセルから数字を削除する5つのアプローチを紹介しました。状況やExcelのバージョンに応じて、最適な方法を選んでみてください。ご不明な点があれば、お気軽にコメントでお知らせください。Excelに関する他の記事もぜひチェックしてみてください!

関連記事

  • Excelでアポストロフィを削除する方法(5つの簡単な方法)
  • Excelで括弧を削除する方法(4つの方法)
  • Excelで特定の文字以降を削除するテクニック(4選)
  • Excelでセミコロンを削除する方法(4つの方法)
  • Excelで英数字以外の文字を削除する方法(2つの方法)
  1. Excelで壊れたリンクを削除する3つの簡単な方法

    Microsoft Excelは非常に強力なソフトウェアです。Excelのツールや機能を活用すれば、データセットに対してさまざまな操作を行うことができます。数式の作成に役立つExcel関数も多数用意されており、教育機関や企業では貴重なデータの管理にExcelファイルが広く活用されています。場合によっては、複数のExcelファイルをリンクさせて、異なるソースからデータを取り込むこともあるでしょう。しかし、リンクはさまざまな理由で切れてしまうことがあり、その結果、作業中のワークシートにエラーが発生します。そこで必要になるのが、壊れたリンクの削除です。この記事では、Excelで壊れたリンクを削除する

  2. Excelでハイパーリンクをすべて削除する5つの方法【テキストはそのまま残す】

    Excelでは、URLを入力すると自動的にハイパーリンクへ変換されます。便利な機能ですが、必ずしも望ましいとは限りません。誤ってハイパーリンク付きのセルをクリックすると、意図せずWebサイトが開いてしまうこともあります。そこで「テキストは残したまま、ハイパーリンクだけを削除したい」というニーズが生まれます。本記事では、Excelの文字列を保持しながら、すべてのハイパーリンクを削除する基本的な方法を5つご紹介します。 練習用ワークブックについて 以下の手順は、実際にハイパーリンクが設定されたサンプルデータを使って確認できます。ご自身のブックでも同じ流れで試してみてください。 Excelですべ