KutoolsforOffice— 1 つのソリューション、5 つの強力なツール。少ない労力で大きな成果。

Excel でアルファベットと数字が混在した文字列からテキスト部分を抽出する方法は?

著者Sun変更日

実際のExcel 業務では、セルに文字と数字が混在した「アルファベット数字混在文字列」が含まれるケースがよくあります。たとえば、「Order2058」や「User_15A」、「ID1234B」などのデータは、レポートのエクスポート、データベース出力、標準化コードなどにおいて頻繁に見られます。分析やレポート作成のために、数値要素をすべて除外し、テキスト部分のみを分離・抽出する必要がある場合も少なくありません。本記事では、Excel でアルファベット数字混在文字列から文字のみを効率的に抽出するための実用的な方法をいくつか紹介するとともに、典型的な使用シーンや注意点、トラブルシューティングのヒントもあわせて解説します。

英数字文字列からテキストのみを抽出したスクリーンショット


Excel でユーザー定義関数(UDF)を使用してアルファベット数字混在文字列からテキストの抽出する方法

概要

  • メリット:大規模データセット全体から動的に抽出可能。複雑なワークシート数式よりもシンプルで使いやすい。どのワークブックでも再利用可能。
  • 制限事項:マクロを有効にして、.xlsm 形式で保存する必要があります。カスタム関数は再計算されるため、非常に大きな範囲ではパフォーマンスに影響を与える可能性があります。

VBA に慣れていらっしゃるなら、カスタムのユーザー定義関数(UDF)を作成して、アルファベットと数字が混在した文字列から直接文字を抽出できます。これは、組み込み関数では対応しきれなかったり、極めて複雑になってしまったりする場合に特に役立ちます。

手順の概要:

1.抽出用の数式を入力したいセルを任意に選択し、Alt + F11キーを押してMicrosoft Visual Basic for Applicationsエディターを開きます。

2.VBA エディターで、挿入標準モジュールをクリックして新しいモジュールを作成し、以下のコードを貼り付けてください。

VBA:文字のみを抽出(ASCII A–Z)

Function TextOnly(pWorkRng As Range) As String
'Updatebyextendoffice
Dim xValue As String
Dim OutValue As String
xValue = pWorkRng.Value
For xIndex = 1 To VBA.Len(xValue)
    If Not VBA.IsNumeric(VBA.Mid(xValue, xIndex, 1)) Then
        OutValue = OutValue & VBA.Mid(xValue, xIndex, 1)
    End If
Next
TextOnly = OutValue
End Function

3.ワークシートに戻り、空白セルに=TextOnly(A1)と入力します()A1は対象セルに置き換えてください)。Enterキーを押してフィルハンドルをドラッグすると、列全体に適用され、各文字列から抽出された文字のみが表示されます。

この方法では元のデータが一切変更されず、出力結果は新しいセル/列に表示されるため、ソースデータをそのまま保持できます。

トラブルシューティングとヒント

  • マクロを有効にしてファイル形式を保存:マクロが有効になっていることを確認し、UDF を永続化するためにファイルを.xlsm 形式で保存してください。
  • 設計上、文字のみ抽出:この関数は数字・句読点・記号を削除します。スペースを保持するには、第2 引数にTRUEを指定してください(例:=TextOnly(A1, TRUE))。
  • アクセント付き文字や非 ASCII 文字:単純なパターン[A-Za-z]では、é、üなどの文字は対象外となります。より広いアルファベット範囲が必要な場合は、RegExp のバージョンで文字範囲を拡張することを検討してください(例:[A-Za-zÀ-ÖØ-öø-ÿ])または、事前にテキストを正規化してください。
  • 空白セル/エラーのあるセル:UDF は、空白セルやエラー値に対して空の文字列を返します。
  • パフォーマンス:UDF はシートと連動して再計算されます。対象範囲が非常に大きい場合は、抽出後に結果を値として変換することをおすすめします。

アルファベット数字混在文字列からテキストの抽出する方法(Kutools for Excel 使用)

コードを書かずに素早く処理したいなら、Kutools for Excelを使えば、不要な数字や非文字をセルからカンタンに削除できます。この方法は、定期的にテキストのクリーニングを行う方、大量データを扱う方、または VBA を使いたくない方に最適です。

概要

  • 機能概要:数字やその他の非文字をすべて削除し、文字だけを残します。
  • 最適な用途:数式やマクロを使わずに、一回限りのクリーニング作業やバッチ処理に。

Kutools for Excelには、特定の文字を削除機能が搭載されており、選択したセルから非文字コンテンツを効率的に削除できます。

Kutools for Excelには300 種類以上の便利なExcel ツールが含まれており、業務効率化を強力にサポートします。30 日間は無制限で無料でお試しいただけます。今すぐ入手

文字のみを抽出する手順は以下の通りです:

1.処理したい英数字混在の文字列が含まれるセル範囲を選択します。

2.Kutools > テキスト > 特定の文字を削除をクリックします。ダイアログが表示されます(スクリーンショット参照)。

Kutools の「文字削除」ダイアログを開く

3.特定の文字を削除ダイアログで、文字のみを残す最も簡単な方法は、非アルファベット(場合によっては「非アルファ」と表示)にチェックを入れることです。これにより、A~Z 以外のすべての文字が削除されます。このオプションがご利用のバージョンにない場合は、数値および非表示文字にチェックを入れ、(必要に応じて)カスタムを使って削除したい記号を指定してください(スクリーンショット参照)。

非アルファベットを選択して、すべての非文字を削除

4.OKをクリックすると、Kutools が選択範囲を処理し、非文字コンテンツをすべて削除して、選択したセルにテキスト部分のみを残します。

トラブルシューティングとヒント

  • セルの上書き:この操作により、選択したセルの内容が上書きされます。元のデータを保持したい場合は、事前に別の場所にコピーしておいてください。
  • 特定の文字を保持する方法:スペースや記号(ハイフンなど)を保持したい場合は、非アルファベットを避けて、代わりに数値非表示文字、さらにカスタムを組み合わせて、きめ細かく制御してください。

特定の文字を削除の詳細はこちら

Kutools の手法は、一回限りのクリーニング作業に最適で、小規模・大規模データセットのいずれにも対応します。動的(自動更新)な結果が必要な場合は、代わりに数式または VBA の UDF をご検討ください。


Excel の数式を使ってアルファベット数字混在文字列からテキストの抽出する方法

VBA やアドインを使わずに、ネイティブのExcel 数式だけでテキストを抽出する方法もあります。この解決策は、抽出結果を動的かつ数式駆動で維持したい場合や、環境上マクロやサードパーティ製ツールが使用できない場合に最適です。

配列数式を使った手順は以下の通りです:

1. 結果を表示したい空白セル(例:B1)を選択し、次の数式を入力します(A–Z の文字のみを保持):

=TEXTJOIN("",
 TRUE,
 IF(
   (CODE(MID(A1, ROW(INDIRECT("1:"&LEN(A1))), 1))>=65)*
   (CODE(MID(A1, ROW(INDIRECT("1:"&LEN(A1))), 1))<=90) +
   (CODE(MID(A1, ROW(INDIRECT("1:"&LEN(A1))), 1))>=97)*
   (CODE(MID(A1, ROW(INDIRECT("1:"&LEN(A1))), 1))<=122),
   MID(A1, ROW(INDIRECT("1:"&LEN(A1))), 1),
   ""
 )
)

2。 数式を入力したら、Ctrl+Shift+Enterを押してください(これにより配列数式になります)。ただし、これはExcel 2019 以前をご利用の場合のみです。Microsoft 365またはExcel 2021 以降をご利用の場合は、単にEnterキーを押すだけで構いません。これらのバージョンでは、動的配列数式がネイティブでサポートされています。

A1」を、英数字を含むセルの参照に置き換えてください。この数式は、各文字列からアルファベット部分のみを抽出します。複数の行に数式を適用するには、B1 セルのフィルハンドルを下方向にドラッグしてください。

パラメーターの説明:

  • MID 関数とROW(INDIRECT(...))を組み合わせて、対象セル内の文字を1 つずつ取り出します。
  • CODEは、ASCII コード範囲 65–90(A–Z)および97–122(a–z)に該当する文字のみを保持し、それ以外を除外します。
  • TEXTJOINを使って、保持された文字を1 つの文字列に連結します。
  • 1 セルあたり1,000 文字未満の中程度の長さのテキストに最適です。非常に長いテキストでは、パフォーマンスが低下する可能性があります。

この方法では元のデータが保持され、追加のツールやマクロ設定も不要です。エラーが発生した場合は、セル参照と配列数式の入力方法を再度確認してください。

トラブルシューティングとまとめの提案

  • エラー(例:#VALUE!)が表示された場合は、Excel のバージョンと、2019 以前のバージョンでは配列入力にCtrl+Shift+Enterが必要であることをご確認ください。
  • 抽出後は、結果に予期しないスペースや文字が含まれていないか確認し、必要に応じて調整してください。Kutools、VBA、数式のいずれを使うかは、ご自身のワークフローに基づいて選択してください。

関連記事:


最高の Office 業務効率化ツール

🤖KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行     コード生成  カスタム数式作成    データ分析とチャート生成  拡張機能呼び出し
人気の機能検索・ハイライト、または重複をマーキング     空白行を削除する     データを失うことなく列の結合またはセルを     数式を使用しない四捨五入...
スーパー LOOKUP複数条件 VLookup    複数値 VLookup     複数シート間 VLookup      ファジーマッチ....
高度なドロップダウンリストドロップダウンリストをすばやく作成     連動型ドロップダウンリスト     複数選択可能なドロップダウンリスト....
列マネージャー指定した数の列を追加列の移動非表示列の表示状態を切り替え範囲および列の比較...
注目の機能グリッドフォーカス     デザインビュー   強化された数式バー    ワークブックとシートマネージャー     リソースライブラリ(オートテキスト)  日付ピッカー     ワークシートの統合    暗号化/セルの復号化    リストからメール送信     スーパーフィルター      特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。
トップ15 ツールセット12 テキストツールテキストの追加特定の文字を削除、...)   50+チャートタイプガントチャート、...)   40+実用的関数誕生日に基づいて年齢を計算します、...)   19 挿入ツールQR コードを挿入パスから画像を挿入、...)   12 変換ツール単語に変換する為替レートの変換、...)   7 結合と分割ツール高度な行のマージセルの分割、...)さらに多数
Kutools はお好みの言語でご利用いただけます。英語、スペイン語、ドイツ語、フランス語、中国語、および40+の他の言語をサポートしています!

Kutools for Excel でExcel スキルを強化し、これまでにない効率を体験しましょう。Kutools for Excel は、生産性を高め、時間を大幅に節約できる高度な機能を300 以上提供します。最も必要な機能を今すぐ入手するにはこちらをクリック。。。


Office Tab は Office にタブインターフェースをもたらし、作業を大幅に簡単にします

  • Word、Excel、PowerPoint でタブを使った編集と閲覧を有効にします。Publisher、Access、Visio、Project でもご利用いただけます。
  • 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
  • 日々の生産性を50%も向上させ、毎日数百回ものマウスクリックを削減します!

すべてのKutools アドインが、たった1 つのインストーラーで完結。

Kutools for Officeスイートには、Excel ・Word ・Outlook ・PowerPoint 用のアドインと Office Tab Pro が含まれており、複数の Office アプリを横断して作業するチームに最適です。

ExcelWordOutlookTabsPowerPoint
  • オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
  • インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
  • 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
  • 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
  • 最高のお得感— 個別アドイン購入よりお得