Excelのセルからシングルクォーテーションまたはダブルクォーテーションで囲まれたテキストを抽出する
Excelのセル内にあるシングルクォーテーションやダブルクォーテーションで囲まれたテキストを抽出することは、特にデータクリーニングやデータベースエクスポートの処理、引用テキストで構成されたリストの準備において一般的な作業です。この種の抽出はExcelのデフォルト機能では直接利用できないため、高度なExcel関数や自動化ツールに精通していない場合、少し難しく感じるかもしれません。引用されたテキストを抽出する能力は、レポート用のデータ整理やインポートされたデータの変換、さらには分析のための構造化情報へのテキストコンテンツの変換に役立ちます。
このチュートリアルでは、Excelのセルからシングルクォーテーションまたはダブルクォーテーションで囲まれたテキストを抽出するためのいくつかの実用的で使いやすい方法を紹介します。ネイティブな数式を使用した解決策、Kutools for Excelの高度な機能(AI アシスタントと「指定されたテキスト間の文字列を抽出する」ツール)、およびすべての引用テキストのインスタンスを抽出し、複数または入れ子になったクォートを処理できる強力なVBAコードアプローチについて説明します。各方法には、シナリオの説明、ステップバイステップの手順、および一般的なエラーを回避するためのヒントが含まれています。

- 数式を使用してクォート間のテキストを抽出する
- Kutools AIを使用して簡単にクォート間のテキストを抽出する
- Kutools for Excelを使用して同じまたは異なる文字間のテキストを簡単に抽出する
- VBAコード – すべての引用テキストを抽出するか、複雑なクォートシナリオに対応する
数式を使用してセル内のシングルクォーテーションまたはダブルクォーテーション間のテキストを抽出する
Excelの数式を使用してクォート間のテキストを抽出するのは、MIDやFINDなどの関数を利用する直接的で透明性のあるアプローチです。この方法は、標準的なExcel機能を使用することを好み、予測可能で単一のクォートペアを持つセルに対して迅速な結果が必要なユーザーに適しています。ただし、数式はシンプルなケースで最も効果的です。つまり、1つのセルに1つの引用部分しかなく、クォートが重複したり入れ子になったりしない場合です。
この解決策を適用するには:
抽出されたテキストを表示したい空白のセルを選択し、以下の適切な数式を入力して「Enter」を押します。その後、他の行にも抽出するためにオートフィルハンドルを下にドラッグできます。参照されているセル(例えば、これらの数式でのA2)がデータの位置と一致していることを確認してください。
シングルクォーテーション間のテキストを抽出する
=MID(A2,FIND("'",A2)+1,FIND("'",A2,FIND("'",A2)+1)-FIND("'",A2)-1)
ダブルクォーテーション間のテキストを抽出する
=MID(A2,FIND("""",A2)+1,FIND("""",A2,FIND("""",A2)+1)-FIND("""",A2)-1)

- この数式は、セル内で見つかった最初の引用テキストのみを抽出します。もしセルに複数の引用部分がある場合、最初の出現箇所のみが抽出されます。
- 参照先のセルに指定された引用文字が含まれていない場合、数式は#VALUE!エラーを返します。数式エラーを防ぐために、必要に応じてIFERROR()関数で数式をラップすることを検討してください。
- 数式の説明:
FIND("'", A2)
: テキスト内の最初のシングルクォーテーションの位置を見つけます。FIND("'", A2) +1
: 抽出の開始位置を設定し、最初のシングルクォーテーションのすぐ後ろに設定します。FIND("'", A2, FIND("'", A2) +1)
: 最初のシングルクォーテーションの後に続く次のシングルクォーテーションの位置を見つけ、終了境界として使用します。MID(...)
: 上記で計算された開始位置と長さに基づいて、2つの引用符間にある文字を返します。
ヒント:引用符がないセルの場合、=IFERROR(数式, "")
を使用してエラーではなく空白のセルを表示することを検討してください。
Kutools AIを使用して簡単にクォート間のテキストを抽出する
Kutools AIは、「Kutools for Excel」アドイン内に搭載されたインテリジェントアシスタントであり、通常は複雑な数式や手動操作が必要な多くのExcel操作を自動化するように設計されています。クォートで囲まれた値を迅速かつ確実に抽出したい方、特に大規模な範囲や不規則なデータを取り扱う場合、このAI機能は、Excelの数式に詳しくない方にとっても簡単な代替手段を提供します。
Kutools for Excelをインストール後、Excelの右側に実行ウィンドウを開くため、「Kutools AI」タブに移動して「AI アシスタント」を選択します。
- クォート間のテキストを抽出したいセルのグループを選択します。必要に応じて、1つの列、複数の行、またはカスタムセル範囲を選択できます。
- 「Kutools AI アシスタント」ウィンドウで、編集ボックスに次のコマンドを入力し、「Enter」を押します。次の操作を実行してください:選択範囲内のシングルクォーテーション間の値を抽出し、隣接するセルに配置します。
- Kutools AIはあなたのコマンドを分析し、タスクに適した抽出方法を自動的に特定します。準備が整ったら、ウィンドウ内の「Execute」ボタンをクリックします。
すぐに、クォートされたテキストが隣接するセルに抽出され、数式を作成したり手動でコピーしたりする必要はありません。この方法は特にバッチ処理やさまざまなクォートシナリオに有利です。

ヒント:テキストがダブルクォーテーションやカスタム文字を使用している場合、プロンプトを適切に調整してください(例:「Extract values between double quotes ...」)。正確な結果を得るため、不規則な文字や不一致のクォートが含まれている場合は、結果を再確認してください。
Kutools for Excelで同じまたは異なる文字間のテキストを簡単に抽出する
クォートだけでなく、その他のユニークな区切り文字を含むデータを扱っている場合、複雑な数式を書く手間を省きましょう。「Kutools for Excel」を使えば、シングルクォーテーション、ダブルクォーテーション、さらにはカスタマイズされた文字間のテキストを、数回のクリックだけで抽出できます。これは、技術に詳しくないユーザー、または一度に複数の異なる列や形式から大量に抽出する必要があるユーザーにとって特に有益です。直感的なインターフェースにより、数式エラーのリスクを減らし、ワークフローをより効率化できます。
Kutools for Excelをインストール後、Kutools > 関数ヘルパー > テキスト > 指定されたテキスト間の文字列を抽出する、に移動して機能にアクセスします。
- 「関数ヘルパー」ダイアログで、次のように設定します:
- クォートまたは区切り文字を含む対象のセルを選択します。
- 必要に応じて開始文字と終了文字(例:' や ")を定義し、「OK」をクリックします。(クォートに限定されず、任意の文字や文字セットを指定できます。)
- ドラッグする オートフィルハンドル リストの残りに抽出を適用するために下にドラッグし、効率的に全体の列や範囲を処理します。
利点:この方法では数式の知識は不要で、一般的なエラーの可能性が低く、幅広い開始/終了区切り文字を扱うことができます。しかし、同じセル内の複数の引用部分を抽出するような高度なタスクについては、以下で説明するVBAまたはAIソリューションを検討してください。
Excelでシングルクォーテーションまたはダブルクォーテーション間のテキストを抽出することは、データの整理やさらなる処理のための準備に役立つ実用的で非常に価値のあるスキルです。上記のアプローチに従って、シンプルなものから中程度に複雑な抽出シナリオまで対応できます。さらに高度なニーズ(例えば、同じセル内の複数または入れ子になったクォートの処理)については、以下のVBAベースの方法をご覧ください。さらにExcelの習熟度を向上させたい場合、当社のウェブサイトには数千の分かりやすいチュートリアルが掲載されています。
VBAコード – すべての引用テキストを抽出するか、複雑なクォートシナリオに対応する
データに同じセル内に複数の引用エントリが含まれていたり、入れ子になったり不整合なクォート使用のような複雑なパターンが存在する場合、Excelの組み込み数式や標準的なテキストツールでは十分ではないことがあります。このような場合、VBA(マクロ)ソリューションは無限の柔軟性を提供します。VBAを使用することで、セル内のシングルクォーテーションまたはダブルクォーテーションで囲まれたすべてのテキストフラグメントを抽出でき、1つのセルから複数の一致を取得したり、トリッキーなクォートの組み合わせに対処したりできます。
このアプローチは、上級ユーザー、データアナリスト、または不規則に構造化されたテキストデータに頻繁に直面する人にとって特に有用です。マクロを使用することで、繰り返される抽出を自動化し、大規模なデータセット全体で一貫性を保証することができます。
使用方法:
1. ワークブックを開き、Alt + F11を押してMicrosoft Visual Basic for Applicationsエディタを起動します。メニューで挿入 > モジュールをクリックして新しいモジュールを作成します。次のコードをモジュールウィンドウにコピー&ペーストします:
Sub ExtractAllQuotedText()
Dim rng As Range
Dim cell As Range
Dim matches As Object
Dim regEx As Object
Dim outputCol As Long
Dim symbol As String
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set rng = Application.Selection
Set rng = Application.InputBox("Select range to extract from", xTitleId, rng.Address, Type:=8)
symbol = Application.InputBox("Extract between single (') or double ("") quotes? Enter ' or """, xTitleId, "'")
If symbol = "'" Then
Set regEx = CreateObject("VBScript.RegExp")
regEx.Global = True
regEx.Pattern = "'([^']*)'"
ElseIf symbol = """" Then
Set regEx = CreateObject("VBScript.RegExp")
regEx.Global = True
regEx.Pattern = Chr(34) & "([^" & Chr(34) & "]*)" & Chr(34)
Else
MsgBox "Symbol must be single (') or double ("") quote!", vbCritical
Exit Sub
End If
outputCol = rng.Columns(rng.Columns.Count).Column + 1 ' Output starting in next column
For Each cell In rng
Set matches = regEx.Execute(cell.Text)
Dim resultArr() As String
ReDim resultArr(matches.Count - 1)
Dim i As Integer
For i = 0 To matches.Count - 1
resultArr(i) = matches(i).SubMatches(0)
Next i
If matches.Count > 0 Then
cell.Worksheet.Cells(cell.Row, outputCol).Value = Join(resultArr, ", ")
Else
cell.Worksheet.Cells(cell.Row, outputCol).Value = ""
End If
Next cell
MsgBox "Extraction complete! Results are in the adjacent column.", vbInformation
End Sub
2. VBAエディタを閉じ、ワークシートに戻ります(再度 Alt + F11 を押します)。
3. データがあるセル範囲を選択し、F5 キーを押すか、Runをクリックします。
4. まだ選択していない場合は、範囲の選択を求められ、続いてシングル(')またはダブル(")クォートからのテキスト抽出を選択します。適切な ' または " を入力します。
5. マクロは、選択された各セルからすべての引用部分を抽出し、データの右隣の空いている列にコンマ区切りの抽出リストを配置します。
注意点とトラブルシューティング:
- データにシングルクォートとダブルクォートの両方が含まれており、両方を抽出したい場合は、クォートタイプごとにマクロを2回実行します。
- マクロは、空のセルや有効な引用テキストを持たないセルをスキップします。
- 不規則なクォートや入れ子になったクォートのシナリオでは、パターンは非入れ子の引用文字列を抽出するように設計されています。さらに深い入れ子に対応するための拡張も可能ですが、このようなパターンは通常のExcelテキストでは稀です。
- 何も抽出されない場合、クォート文字を再確認し、フォーマットや隠し文字が干渉していないことを確認してください。
まとめのヒント:データ構造に最も適合する解決策を選んでください。基本的な一回限りの抽出には数式で十分です。バッチ処理や柔軟な境界、数式を使用しないユーザー向けには、Kutools for ExcelまたはKutools AIが最も簡単です。すべての一致を抽出したり、不規則なクォートの使用に対処するなど、最も高度な要件にはVBAを使用してください。
関連記事:
最高のオフィス業務効率化ツール
🤖 | Kutools AI Aide:データ分析を革新します。主な機能:Intelligent Execution|コード生成|カスタム数式の作成|データの分析とグラフの生成|Kutools Functionsの呼び出し…… |
人気の機能:重複の検索・ハイライト・重複をマーキング|空白行を削除|データを失わずに列またはセルを統合|丸める…… | |
スーパーLOOKUP:複数条件でのVLookup|複数値でのVLookup|複数シートの検索|ファジーマッチ…… | |
高度なドロップダウンリスト:ドロップダウンリストを素早く作成|連動ドロップダウンリスト|複数選択ドロップダウンリスト…… | |
列マネージャー:指定した数の列を追加 |列の移動 |非表示列の表示/非表示の切替| 範囲&列の比較…… | |
注目の機能:グリッドフォーカス|デザインビュー|強化された数式バー|ワークブック&ワークシートの管理|オートテキスト ライブラリ|日付ピッカー|データの統合 |セルの暗号化/復号化|リストで電子メールを送信|スーパーフィルター|特殊フィルタ(太字/斜体/取り消し線などをフィルター)…… | |
トップ15ツールセット:12 種類のテキストツール(テキストの追加、特定の文字を削除など)|50種類以上のグラフ(ガントチャートなど)|40種類以上の便利な数式(誕生日に基づいて年齢を計算するなど)|19 種類の挿入ツール(QRコードの挿入、パスから画像の挿入など)|12 種類の変換ツール(単語に変換する、通貨変換など)|7種の統合&分割ツール(高度な行のマージ、セルの分割など)|… その他多数 |
Kutools for ExcelでExcelスキルを強化し、これまでにない効率を体感しましょう。 Kutools for Excelは300以上の高度な機能で生産性向上と保存時間を実現します。最も必要な機能はこちらをクリック...
Office TabでOfficeにタブインターフェースを追加し、作業をもっと簡単に
- Word、Excel、PowerPointでタブによる編集・閲覧を実現。
- 新しいウィンドウを開かず、同じウィンドウの新しいタブで複数のドキュメントを開いたり作成できます。
- 生産性が50%向上し、毎日のマウスクリック数を何百回も削減!
全てのKutoolsアドインを一つのインストーラーで
Kutools for Officeスイートは、Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proをまとめて提供。Officeアプリを横断して働くチームに最適です。





- オールインワンスイート — Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proが含まれます
- 1つのインストーラー・1つのライセンス —— 数分でセットアップ完了(MSI対応)
- 一括管理でより効率的 —— Officeアプリ間で快適な生産性を発揮
- 30日間フル機能お試し —— 登録やクレジットカード不要
- コストパフォーマンス最適 —— 個別購入よりお得