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

テキスト文字列から非数値文字を削除する

Author: Xiaoyang Last Modified: 2025-08-06

場合によっては、テキスト文字列からすべての非数値文字を削除し、以下のようなスクリーンショットのように数字だけを残したいことがあります。この記事では、Excelでこのタスクを解決するためのいくつかの数式を紹介します。

doc-strip-non-numeric-1


数式を使用してテキスト文字列からすべての非数値文字を削除する

Excel 2019およびOffice 365では、新しいTEXTJOIN関数がIFERROR、MID、ROW、INDIRECT関数と組み合わされており、テキスト文字列から数字のみを抽出するのに役立ちます。汎用的な構文は次の通りです:

=TEXTJOIN("",TRUE,IFERROR(MID(text,ROW(INDIRECT("1:100")),1)+0,""))
  • text: 非数値文字を削除したいテキスト文字列またはセルの値。

1. 結果を出力したい空白のセルに以下の数式をコピーまたは入力してください:

=TEXTJOIN("",TRUE,IFERROR(MID(A2,ROW(INDIRECT("1:100")),1)+0,""))

2. そして、最初の結果を得るために Ctrl + Shift + Enter キーを同時に押してください。スクリーンショットをご覧ください:

doc-strip-non-numeric-2

3. 次に、数式セルを選択し、その数式を適用したいセルまでフィルハンドルをドラッグすると、数字のみが抽出され、他のすべての非数値文字が削除されます。スクリーンショットをご覧ください:

doc-strip-non-numeric-3


数式の説明:

ROW(INDIRECT("1:100"): INDIRECT関数内の番号 1:100 は、MID関数がテキスト文字列の100文字を評価することを意味します。この配列には次のような100個の数字が含まれます: {1;2;3;4;5;6;7;8....98;99;100}。
注記: テキスト文字列が非常に長い場合は、必要に応じて100という数字をより大きな数字に変更できます。

MID(A2,ROW(INDIRECT("1:100")),1: このMID関数は、セルA2から1文字を抽出するために使用され、次のような配列になります:
{"5";"0";"0";" ";"K";"u";"t";"o";"o";"l";"s";" ";"f";"o";"r";" ";"E";"x";"c";"e";"l";"";"";"";"";"";""...}

MID(A2,ROW(INDIRECT("1:100")),1)+0: この配列の後に0を加えることで、テキストを数値に強制的に変換します。数値のテキスト値は数値に変換され、非数値は次のように#VALUEエラー値として表示されます:
{"5";"0";"0";#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE! !;#VALUE! !;#VALUE!...}

IFERROR(MID(A2,ROW(INDIRECT("1:100")),1)+0: このIFERROR関数は、すべてのエラー値を空の文字列に置き換えるために使用され、次のように表示されます:
{"5"; "0";"0";"";""; "";"";"";"";"";""; … }

TEXTJOIN("",TRUE,IFERROR(MID(A2,ROW(INDIRECT("1:100")),1)+0,"")): 最後に、このTEXTJOIN関数は、IFFERROR関数によって返された配列内のすべての非空の値を結合し、結果を返します。

doc-strip-non-numeric-4


注意:

1. 上記の数式では、数字はテキスト形式で返されます。実際の数値が必要な場合は、この数式を使用してください。正しい結果を得るには、必ず Ctrl + Shift + Enter キーを同時に押してください。

=TEXTJOIN("",TRUE,IFERROR(MID(A2,ROW(INDIRECT("1:100")),1)+0,""))+0

2. Excelの旧バージョンでは、この数式は動作しません。その場合、次の数式が役立つかもしれません。この数式を空白のセルにコピーまたは入力してください:

=SUMPRODUCT(MID(0&A2, LARGE(INDEX(ISNUMBER(--MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1)) * ROW(INDIRECT("1:"&LEN(A2))), 0), ROW(INDIRECT("1:"&LEN(A2))))+1, 1) * 10^ROW(INDIRECT("1:"&LEN(A2)))/10)

doc-strip-non-numeric-5


簡単な機能を使用してテキスト文字列からすべての非数値文字を削除する

上記の数式を覚えるのが難しい場合、ここでは Kutools for Excel をご紹介します。Remove Characters 機能を使用すれば、数値、アルファベット、印刷不可能な文字、または英数字の文字を数回クリックするだけで削除できます。無料試用版の Kutools for Excel をダウンロードするにはこちらをクリック!


関連する関数:

  • TEXTJOIN:
  • TEXTJOIN関数は、特定の区切り文字を使用して行、列、またはセル範囲からの複数の値を結合します。
  • MID:
  • MID関数は、指定されたテキスト文字列の中間から特定の数の文字を見つけて返すために使用されます。
  • ROW:
  • ExcelのROW関数は、参照の行番号を返します。
  • INDIRECT:
  • ExcelのINDIRECT関数は、テキスト文字列を有効な参照に変換します。
  • IFERROR:
  • IFERROR関数は、数式がエラーを評価したときにカスタム結果を返し、エラーがない場合は通常の結果を返すために使用されます。

その他の記事:

  • Excelでセルから改行を削除する
  • このチュートリアルでは、特定のセル(Alt + Enterキーを押すことによって発生する改行)から改行を削除するのに役立つ3つの数式を提供します。

最高のオフィス生産性ツール

Kutools for Excel - 群衆から一歩抜け出すためのお手伝い

🤖 KUTOOLS AI アシスタント: 次の基盤でデータ分析を革新: スマート実行   |  コード生成  |  カスタム数式を作成  |  データを分析しチャートを生成  |  Kutools 機能を呼び出し
人気機能: 重複を検索、ハイライト、または特定  |  空白行を削除  |  データを失うことなく列やセルを結合  |  数式を使わずに丸める ...
スーパーVLookup: 複数条件 | 複数値 | 複数シート間 | ファジーマッチ...
高度なドロップダウンリスト: 簡単ドロップダウンリスト  |  依存ドロップダウンリスト  |  複数選択ドロップダウンリスト...
列マネージャー: 特定の数の列を追加 |  列を移動 |  非表示列の可視性ステータスを切り替え 列を比較して同じおよび異なるセルを選択 ...
注目機能: グリッドフォーカス |  デザインビュー |  強化された数式バー |  ワークブックとシートマネージャー | リソースライブラリ (オートテキスト) |  日付ピッカー |  ワークシートを統合 |  セルの暗号化/復号化 |  リストによるメール送信 |  スーパーフィルター |  特殊フィルタ(太字、斜体、取り消し線のフィルタリング...) ...
上位15のツールセット12個の テキストツールテキストの追加特定の文字を削除 ...) |  50以上の チャート タイプガントチャート ...) |  40以上の実用的な 数式誕生日に基づいて年齢を計算 ...) |  19個の 挿入ツールQRコードの挿入パスからの画像挿入 ...) |  12個の 変換ツール単語に変換する通貨変換 ...) |  7つの マージ&分割ツール高度な行のマージExcelセルの分割 ...) |  ... など
お好みの言語でKutoolsを使用できます。英語、スペイン語、ドイツ語、フランス語、中国語、その他の40以上の言語に対応!

Kutools for Excelは300以上の機能を誇り、必要なものがクリック一つで利用可能です...


Office Tab - Microsoft Office(Excel含む)でタブ形式の読み書きを可能に

  • 数十の開いている文書間を1秒で切り替え!
  • 毎日数百回のマウスクリックを減らし、マウス疲れとはおさらば!
  • 複数の文書を閲覧・編集する際の作業効率を50%向上します。
  • Chrome、Edge、Firefoxのように、Office(Excel含む)に効率的なタブをもたらします。