テキスト文字列から日付を秒速で抽出(3 簡単な方法)
著者Xiaoyang•変更日
インポートしたデータやレポート、メール、文書などからコピーしたコンテンツを扱う際、日付が個別のセルではなく長いテキスト文字列の中に埋め込まれていることがよくあります。こうした日付を使ってレコードを並べ替えたり、締切日を計算したり、タイムラインを作成したり、その他の日付ベースの分析を行うには、まず周囲のテキストから日付を正確に抽出する必要があります。特に、テキスト内に複数の日付が含まれていたり、さまざまな日付形式が混在していたりする場合、この作業は非常に難しくなります。本ガイドでは、Excel でテキスト文字列から日付を抽出するための実用的な方法をいくつかご紹介します。

Excel でテキスト文字列から日付を抽出する
数式でテキスト文字列から日付を抽出(Excel 365)
Excel 365 をご利用の場合は、TEXTSPLIT、FILTER、LET、REGEXTEST などの最新関数を活用して、日付を動的に抽出できます。
- 抽出した日付を表示する空白セルを選択してください。
- 次の数式を入力します:
=LET( t,A2, arr,TEXTSPLIT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(t,","," "),"."," "),":"," "),CHAR(10)," ")," "), FILTER(arr,REGEXTEST(arr,"\d{1,4}[-/]\d{1,2}[-/]\d{1,4}")) ) - Enter キーを押して、最初のセルから結果を取得します。
- その後、フィルハンドルを下にドラッグして他のセルにも数式を適用します。抽出された日付は自動的に隣接セルに展開されます。

この数式の仕組みは?
LET(t, A2, …):
セル A2 のテキストを変数 t に格納して、数式をより簡潔で読みやすくします。
SUBSTITUTE(...):
カンマ、ピリオド、コロン、改行などの句読点をスペースに置き換えることで、テキストをより分割しやすくします。
TEXTSPLIT(..., 「 」):
スペースを区切り文字として、クリーンアップされたテキストを複数の部分(単語やセグメント)に分割し、arr に格納します。
REGEXTEST(arr,「\d{1,4}[-/]\d{1,2}[-/]\d{1,4}」):
arr 内の各要素が「03/15/2024」や「2024-05-12」のような日付パターンに一致するかをチェックします。
FILTER(...):
日付パターンに一致する部分だけを抽出し、それ以外はすべて除外します。
メリット
- 完全に動的で自動的に更新
- コーディング不要
- 1 つのセルから複数の日付を抽出可能
- Excel 内ですぐに利用可能
制限事項
- Excel 365(TEXTSPLIT、FILTER、REGEXTEST などの最新関数)が必要です。
- 日付がスペースやカンマ、ピリオド、コロン、改行などの一般的な区切り文字で分離されている場合にのみ、正しく動作します。
日付が他の文字に直接連結されている場合(例:Date(03/15/2026) や abc2026-05-12xyz)は、正しく分離されず、抽出に失敗する可能性があります。 - 日付が論理的に有効かどうかは検証できません。
正規表現は形式のみをチェックするため、日付として実際に妥当かどうかまでは確認しません。
たとえば、次のような無効な値も日付として認識される可能性があります:
99/99/9999、2024-13-40、1234/56/78。 - 日付形式は標準化されません。
抽出結果は元の形式のまま保持されます(例:03/15/2024、2024-05-12、12-17-2023)。 - 一部の有効な日付形式が見逃される可能性があります。
スラッシュ(/)またはハイフン(-)を区切り文字とする日付形式のみ対応しています。以下の形式は認識されません:
2024.05.12、2024 年3 月15 日、2024 年3 月15 日、20240512。
そのため、スペースを含む日付(例:2024/06/22)、複雑な句読点で囲まれた日付、実際の日付の検証、結果の一貫した書式設定などについては、対応が限られます。
ユーザー定義関数でテキスト文字列から日付を抽出
Excel 365 の機能が利用できない場合でも、ユーザー定義関数(UDF)を作成すれば、同様の結果を得ることが可能です。この方法は、複雑な数式に頼らず、整理されていないテキストから日付を抽出する際に、より高い制御性と手軽さを実現します。
Excel でユーザー定義関数を作成・使用する手順は次のとおりです:
- Alt + F11 キーを押して、Visual Basic エディターを開きます。
- [挿入]メニューをクリックし>[標準モジュール]を選択して新しいモジュールを作成します。以下のコードをモジュールウィンドウにコピー&ペーストしてください:
Function ExtractDates(ByVal txt As String) As String Dim re As Object Dim matches As Object Dim m As Object Dim result As String Set re = CreateObject("VBScript.RegExp") With re .Global = True .IgnoreCase = True .Pattern = "(\d{1,4}\s*[-/]\s*\d{1,2}\s*[-/]\s*\d{1,4})" End With If re.test(txt) Then Set matches = re.Execute(txt) For Each m In matches If result = "" Then result = Trim(m.Value) Else result = result & ", " & Trim(m.Value) End If Next m End If ExtractDates = result End Function - エディターを閉じてワークシートに戻ります。空白セルに次の数式を入力します:
=ExtractDates(A2) - フィルハンドルを下にドラッグして関数を他のセルにも適用すれば、各セルからすべての日付が自動的に抽出されます。

メリット
- 1 つのセルから複数の日付を抽出
- 不規則な形式(例:日付内にスペースを含む)にも対応
- 数式よりも強力で柔軟
- 複雑で雑然としたテキストデータに対応
制限事項:
- VBA の基本的な知識が必要
- .xlsm 形式でファイルを保存する必要があります
- この方法は、「/」または「-」を区切り文字とした日付形式のみに対応しています。「2024.05.12」や「2024 年3 月15 日」、「20240512」などの他の形式の日付は、正確に認識・抽出されない可能性があります。
- 日付が論理的に有効かどうかを検証できません。たとえば、次のような無効な値も日付として認識される可能性があります:
99/99/9999、2024-13-40、1234/56/78。
KUTOOLS AI のセルエイドでテキスト文字列から日付を抽出
整理されていないデータを頻繁に扱うと、数式はあっという間に複雑になり、保守が困難になるだけでなく、信頼性も低下します—特に複数の日付形式や不規則な日付形式を扱う際には顕著です。KUTOOLS AI のセルエイドなら、シンプルな自然言語の指示で日付を簡単に抽出可能。数式もコーディングも不要で、フォーマットの制限を気にする必要もありません。さまざまな日付パターンを自動で認識し、複雑なテキストもスムーズに処理。わずか数秒で正確な結果を返すため、作業効率が大幅にアップします。
KUTOOLS AI は「来週の月曜日」、「明日」、「3 日前」などの相対表現を含む日付情報も認識できます。
Kutools for Excel をダウンロードしてインストール後、以下の手順に従ってください:
- [Kutools]をクリックし>KUTOOLS AI>[セルエイド]を選びます(下記スクリーンショット参照):

- [セル AI オールインワンエイド]ダイアログボックスで、以下のオプションを指定します:
- (1)ソース範囲の範囲ボックスで、処理したいテキスト文字列を含むセルを選択します。
- (2)プロンプトライブラリドロップダウンをクリックし、事前定義されたプロンプトから日付抽出を選択します。
- (3)プロンプト内容ボックスで、必要に応じてプロンプトを確認・修正してください。
例えば、次のように指定できます:- すべての日付情報を抽出
- 「来週の月曜日」、「明日」、「3 日前」などの曖昧な日付も含める
- 結果を標準フォーマット(例:YYYY-MM-DD)に変換
- (4)生成ボタンをクリックすると、KUTOOLS AI がデータの選択内容を分析し、抽出された日付を右側の結果パネルに表示します。

- 結果を取得したら、まず空白のセルを選択し、抽出した日付を配置したい場所を指定してください。その後、[範囲に挿入]ボタンをクリックし、最後に[OK]をクリックします。

結果
標準形式および曖昧な表現を含むすべての検出された日付が、指定されたセルに抽出・表示されます。
メリット
- 数式やコーディングは不要
- 複雑で不規則なテキストに対応
- 自然言語によるプロンプトをサポート
- 複数の日付を簡単に抽出
制限事項
- Kutools のインストールが必要
- AI 構成(API キーなど)が必要な場合があります
- AI の解釈精度に依存
まとめ
Excel でテキスト文字列から日付を抽出する方法はいくつかあり、その選択はデータの複雑さやワークフローの要件によって異なります。本ガイドでは、それぞれに独自の強みを持つ3 つの効果的な手法をご紹介しました。
- Excel 365 をご利用の場合、数式は動的で組み込みのソリューションとして最適です。構造化されたデータやシンプルなシナリオに特に適しています。
- より複雑または不規則なテキストには、ユーザー定義関数(UDF)がより適しています。特に1 つのセルから複数の日付を抽出する際には、柔軟性と制御性に優れています。
- より迅速でユーザーフレンドリーな方法をお探しの場合は、KUTOOLS AI のセルエイドをご検討ください。自然言語で簡単に日付を抽出でき、数式やコーディングは一切不要です。
ご自身のシナリオに最も適した方法を選ぶことで、テキストから日付情報を効率的に抽出・管理し、時間を節約しながらデータの正確性をさらに高められます。
最高の Office 生産性ツール
| 🤖 | KUTOOLS AI アシスト:次に基づいてデータ分析を革新します:インテリジェント実行 | コード生成| カスタム数式作成 | データ分析とチャート作成| 拡張機能呼び出し… |
| 人気機能:検索・ハイライト、または重複をマーキング | 空白行を削除する | データを失うことなく列の結合またはセルを処理 | 数式を使用しない四捨五入... | |
| スーパー LOOKUP:複数条件 VLookup | 複数値 VLookup | 複数シートにわたる VLookup | ファジーマッチ.... | |
| 高度なドロップダウンリスト:ドロップダウンリストをすばやく作成 | 連動型ドロップダウンリスト | 複数選択可能なドロップダウンリスト.... | |
| 列マネージャー:指定した数の列を追加|列の移動|非表示列の表示状態を切り替え|範囲および列の比較... | |
| 注目の機能:グリッドフォーカス | デザインビュー |強化された数式バー | ワークブックとシートマネージャー | リソースライブラリ(オートテキスト)| 日付ピッカー | ワークシートの統合 | 暗号化/セルの復号化 | リストからメール送信 | スーパーフィルター | 特殊フィルタ(太字のフォントを持つセルをフィルタリング/イタリック/取り消し線。。。) 。。。 | |
| トップ15 ツールセット:12 テキストツール(テキストの追加、特定の文字を削除、...)| 50+チャートタイプ(ガントチャート、...)| 40+実用的数式(誕生日に基づいて年齢を計算します、...)| 19 挿入ツール(QR コードを挿入、パスから画像を挿入、...)| 12 変換ツール(単語に変換する、為替レートの変換、...)| 7 結合と分割ツール(高度な行のマージ、セルの分割、...)|…他にも多数 |
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 アプリを横断して作業するチームに最適です。
- オールインワンスイート— Excel、Word、Outlook、PowerPoint 向けアドイン+Office Tab Pro
- インストーラーもライセンスも1 つ— 数分でセットアップ完了(MSI 対応)
- 連携でさらにパワーアップ— Office アプリ全体で生産性が向上
- 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
- ベストバリュー— 個別アドイン購入よりお得




