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

テキスト文字列から数字以外の文字を削除または削除します

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


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

Excel2019およびOffice365では、IFERROR、MID、ROW、およびINDIRECT関数と組み合わせた新しいTEXTJOIN関数を使用すると、テキスト文字列から数値のみを抽出できます。一般的な構文は次のとおりです。

=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 最初の結果を得るために一緒にキーを押します。スクリーンショットを参照してください。

3。 次に、数式セルを選択し、この数式を適用するセルまで塗りつぶしハンドルをドラッグします。数値のみが抽出され、他のすべての非数字は削除されます。スクリーンショットを参照してください。


式の説明:

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

MID(A2、ROW(INDIRECT( "1:100"))、1:このMID関数は、セルA2のテキストを抽出してXNUMX文字を取得するために使用され、次のような配列になります。
{"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! !;#値! !;#値!...}

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

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


ノート:

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)


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

たぶん、上記の式を覚えるのは長すぎます、ここで、私は紹介します Kutools for Excel あなたのために、 文字を削除する この機能では、数回クリックするだけで、テキスト文字列から数字、アルファベット、印刷不可、または英数字を削除できます。 クリックしてKutoolsfor Excelを無料トライアルでダウンロードしてください!


使用される相対関数:

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

その他の記事:

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

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

Kutools forExcel-群衆から目立つのに役立ちます

🤖 Kutools AI アシスタント: 以下に基づいてデータ分析に革命をもたらします。 インテリジェントな実行   |  コードを生成  |  カスタム数式の作成  |  データを分析してグラフを生成する  |  Kutools関数を呼び出す...
人気の機能: 重複を検索、強調表示、または識別する  |  空白行を削除する  |  データを失わずに列またはセルを結合する  |  数式なしのラウンド ...
スーパーVルックアップ: 複数の基準  |  複数の値  |  複数のシートにわたって  |  ファジールックアップ...
上級ドロップダウンリスト: 簡単なドロップダウンリスト  |  依存関係のドロップダウン リスト  |  複数選択のドロップダウンリスト...
列マネージャー: 特定の数の列を追加する  |  列の移動  |  Toggle 非表示列の表示ステータス  列を比較する 同じセルと異なるセルを選択する ...
注目の機能: グリッドフォーカス  |  デザインビュー  |  ビッグフォーミュラバー  |  ワークブックとシートマネージャー | リソースライブラリ (自動テキスト)  |  日付ピッカー  |  ワークシートを組み合わせる  |  セルの暗号化/復号化  |  リストごとにメールを送信する  |  スーパーフィルター  |  特殊フィルター (太字/斜体/取り消し線をフィルター...) ...
上位 15 のツールセット12 テキスト ツール (テキストを追加, 文字を削除する ...)  |  50+ チャート 種類 (ガントチャート ...)  |  40+ 実用的 (誕生日に基づいて年齢を計算する ...)  |  19 挿入 ツール (QRコードを挿入, パスから画像を挿入 ...)  |  12 変換 ツール (数字から言葉へ, 通貨の換算 ...)  |  7 マージ&スプリット ツール (高度な結合行, Excelのセルを分割する ...)  |  ... もっと

Kutools for Excelは300以上の機能を誇り、 必要なものをワンクリックで手に入れることができます...

説明


Officeタブ-MicrosoftOffice(Excelを含む)でタブ付きの読み取りと編集を有効にする

  • 数十の開いているドキュメントを切り替えるのにXNUMX秒!
  • マウスの手に別れを告げて、毎日何百ものマウスクリックを減らしてください。
  • 複数のドキュメントを表示および編集する際の生産性が 50% 向上します。
  • Chrome、Edge、Firefox と同様に、効率的なタブを Office (Excel を含む) にもたらします。
Comments (4)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
What is this formula for french settings?
This comment was minimized by the moderator on the site
Thanks for this. Nice formula.How would I alter it so that if the cell contains only letters the formula enters a 0 the results cell (rather than just blank as it is at the moment)?Thought I might be able to do it by wrapping the formula in another IF statement but I’m not getting very far.
This comment was minimized by the moderator on the site
Hello, Glenn,To display the results as blanks rather than zeros, please apply the following formula:=IF(SUM(LEN(A2)-LEN(SUBSTITUTE(A2, {"0","1","2","3","4","5","6","7","8","9"}, "")))>0, 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),"")

Please try, hope it can help you!
This comment was minimized by the moderator on the site
Wow that’ll take some digesting 😋 Thanks for taking the time to reply 👍
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations