Excelでセルから数字だけを削除する5つの方法【関数・VBA】
本記事では、Excelのセルから数字(数値文字)のみを削除する方法を詳しく解説します。生データを扱う際、数値とテキストが同じセルに混在しているケースは非常に多く、作業を進めるには両者を分離する必要があります。Excelには数字を削除するためのさまざまな数式がありますが、ここでは初心者でもすぐに実践できる簡単な方法を5つ厳選して紹介します。
Excelでセルから数字を削除する5つの方法
分析用の生データを受け取ったとき、1つの列に数字とテキストが混在していることがよくあります。スムーズに作業するためには、これらを別々に分ける必要があります。このセクションでは、その作業に最適な5つの方法を順番に見ていきましょう。

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

ステップ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関数が、配列内の空でない値(=テキスト文字)をすべて連結した結果を返します。

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

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

方法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ステップで作成できます。

ステップ2:
- Enterキーを押して結果を取得します。

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

方法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度だけ定義できるため、数式がすっきりし計算も効率化されます。

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

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

ステップ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関数を追加しただけです。もちろん、SEQUENCEやLETベースの数式と組み合わせても問題ありません。

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

方法5:VBAコードを実行してセルから数字を削除する
VBAマクロを使えば、セルから数字をまとめて削除することも可能です。以下で具体的な手順を紹介します。
ステップ1:
- まず、Alt + F11キーを押して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

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

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

注意点
👉 配列数式を使用する場合は、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つの方法)
-
Excelで壊れたリンクを削除する3つの簡単な方法
Microsoft Excelは非常に強力なソフトウェアです。Excelのツールや機能を活用すれば、データセットに対してさまざまな操作を行うことができます。数式の作成に役立つExcel関数も多数用意されており、教育機関や企業では貴重なデータの管理にExcelファイルが広く活用されています。場合によっては、複数のExcelファイルをリンクさせて、異なるソースからデータを取り込むこともあるでしょう。しかし、リンクはさまざまな理由で切れてしまうことがあり、その結果、作業中のワークシートにエラーが発生します。そこで必要になるのが、壊れたリンクの削除です。この記事では、Excelで壊れたリンクを削除する
-
Excelでハイパーリンクをすべて削除する5つの方法【テキストはそのまま残す】
Excelでは、URLを入力すると自動的にハイパーリンクへ変換されます。便利な機能ですが、必ずしも望ましいとは限りません。誤ってハイパーリンク付きのセルをクリックすると、意図せずWebサイトが開いてしまうこともあります。そこで「テキストは残したまま、ハイパーリンクだけを削除したい」というニーズが生まれます。本記事では、Excelの文字列を保持しながら、すべてのハイパーリンクを削除する基本的な方法を5つご紹介します。 練習用ワークブックについて 以下の手順は、実際にハイパーリンクが設定されたサンプルデータを使って確認できます。ご自身のブックでも同じ流れで試してみてください。 Excelですべ