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

Kutools for Office — 1つのスイート、5つのツールで、もっと多くのことを成し遂げましょう。

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

Author Xiaoyang Last modified

場合によっては、テキスト文字列からすべての非数値文字を削除し、以下のようなスクリーンショットのように数字だけを残したいことがあります。この記事では、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 Aide: 次の要素に基づいてデータ分析を革新:インテリジェント実行|コード生成 |カスタム数式の作成|データの分析とチャートの生成 |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含む)にもたらします。