Excelで混合英数字文字列から数字を抽出するにはどうすればよいですか?
このチュートリアルでは、Excelで混合英数字文字列から数字を抽出するための3つの方法を提供します。
数式を使用して混合英数字文字列から数字を抽出する
驚くべきツールを使用して、簡単に混合英数字文字列から数字を抽出する
VBAコードを使用して混合英数字文字列から数字を抽出する
数式を使用して混合英数字文字列から数字を抽出する
以下の数式を適用すると、Excelのテキスト文字列内のどこにでもある数字を抽出できます。
1. 抽出した数字を出力するための空白セルを選択し、そのセルに以下の数式を入力してEnterキーを押します。その後、オートフィルハンドルを下にドラッグして、他のセルにも数式を適用します。
=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),"")
注: 数式内のA1は、数字を抽出したいテキスト文字列が含まれているセルです。必要に応じて変更してください。
指定されたセル内のテキスト文字列のどこからでも数字が抽出され、上記のスクリーンショットのように表示されます。
Kutools for Excelを使用して、簡単に混合英数字文字列から数字を抽出する
このセクションでは、Kutools for Excelの「テキストの抽出」機能を推奨します。このユーティリティを使用すると、テキスト文字列から数字を抽出するのが簡単になります。
1. Kutools > テキスト > テキストの抽出 をクリックして機能を有効にします。
2. 「テキストの抽出」ダイアログボックスで、以下の設定を行ってください。

注: ダイアログボックスの左下隅にある「 数式として挿入」ボックスをチェックすると、結果が数式として結果セルに挿入されます。参照セルの値が変わると、結果も自動的に更新されます。
3. 「テキストの抽出」ダイアログボックスで、抽出されたテキストを出力する空白セルを選択し、OKをクリックします。
これで、テキスト文字列内の任意の位置からの数字が抽出されました。スクリーンショットをご覧ください:
このユーティリティを無料で試用したい場合(30日間)、こちらをクリックしてダウンロードし、上記の手順に従って操作を適用してください。
VBAコードを使用して、混合英数字文字列から数字のみを保持する
次のVBAコードは、指定された範囲からすべての非数値文字を削除し、セル内に数字のみを保持するのに役立ちます。以下の手順に従ってください。
注: このコードは元の範囲を直接実行するため、データが失われないように元の範囲のコピーを保存してください。
1. Alt + F11キーを同時に押して、Microsoft Visual Basic for Applicationsウィンドウを開きます。
2. Microsoft Visual Basic for Applicationsウィンドウで、挿入 > モジュールをクリックします。次に、以下のVBAコードをモジュールウィンドウにコピーして貼り付けます。
VBAコード: セルからすべての非数値文字を削除する
Sub GetNumbers()
'Updated by Extendoffice 20210125
Dim xRegEx As Object
Dim xRg As Range
Dim xCell As Range
Dim xTxt As String
On Error Resume Next
xTxt = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Pease select range:", "Kutools for Excel", xTxt, , , , , 8)
If xRg Is Nothing Then Exit Sub
Set xRegEx = CreateObject("VBScript.RegExp")
With xRegEx
.Pattern = "\D+"
.IgnoreCase = True
.Global = True
End With
xRg.NumberFormat = "@"
For Each xCell In xRg
xCell.Value = xRegEx.Replace(xCell.Value, "")
Next
Set xRegEx = Nothing
End Sub
3. F5キーを押してコードを実行します。すると、Kutools for Excelダイアログボックスがポップアップ表示されるので、混合英数字文字列が含まれる範囲を選択し、OKボタンをクリックします。
これで、選択した範囲内のすべての非数値文字が即座に削除され、数字のみが残ります。スクリーンショットをご覧ください:
最高のオフィス生産性ツール
🤖 | Kutools AI Aide:データ分析を革新:インテリジェント実行 | コード生成 | カスタム数式の作成 | データを分析してグラフを生成 | Kutools Functions を呼び出す… |
人気機能:重複の検索・ハイライト・マーキング | 空白行を削除 | データを失わず列やセルを統合 | 丸める ... | |
スーパーLOOKUP:複数条件VLOOKUP | 複数値VLOOKUP | 複数シートの検索 | ファジーマッチ .... | |
高度なドロップダウンリスト:すばやくドロップダウンリストを作成 | 依存型ドロップダウンリスト | 複数選択ドロップダウンリスト .... | |
列の管理:特定数の列を追加 | 列を移動 | 非表示列の表示状態を切り替え | 範囲と列の比較 ... | |
注目機能:グリッドフォーカス | デザインビュー | 強化された数式バー | ワークブック&ワークシートの管理 | オートテキスト ライブラリ (Auto Text) | 日付ピッカー | データの統合 | セルの暗号化/復号化 | リスト送信で電子メールを送信 | スーパーフィルター | 特殊フィルタ(太字/斜体/取り消し線でフィルタ...) | |
トップ15ツールセット:12 種類のテキストツール(テキストの追加、特定の文字を削除など) | 50 種以上のグラフ タイプ(ガントチャートなど) | 40を超える実用的な 数式(誕生日に基づいて年齢を計算する、など) | 19種の 挿入ツール(QRコードの挿入、パスから画像の挿入など) | 12種類の 変換ツール(単語に変換する、通貨変換など) | 7つの 結合&分割ツール(高度な行のマージ、セルの分割など) | ...さらに多数 |
Kutools for ExcelでExcelスキルを強化し、かつてない効率を体験しましょう。 Kutools for Excelは300以上の高度な機能で生産性向上と時間短縮を実現します。最も必要な機能を今すぐ取得...
Office TabはOfficeにタブ表示を追加し、作業効率を大幅に向上させます
- Word、Excel、PowerPointでタブ編集とタブ閲覧を有効にします
- 同じウィンドウ内の新しいタブで複数のドキュメントを開いたり作成したりできます。新しいウィンドウを開く必要はありません。
- 生産性が50%向上し、1日に何百回ものマウスクリックも削減できます!