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

Excel のセルからシングルクォートまたはダブルクォート内のテキストの抽出

著者Siluvia変更日

Excel のセル内でシングルクォートまたはダブルクォートで囲まれたテキストを抽出する作業は、データクリーニング、データベースへのエクスポート処理、クォート付きテキストからなるリストの作成など、さまざまなシーンでよく行われます。こうした抽出機能はExcel の標準機能には直接搭載されておらず、高度な関数や自動化ツールに慣れていないとやや難しく感じられるかもしれません。しかし、クォート内のテキストを正確に抽出できれば、レポート作成のためのデータ整理、インポートデータの変換、さらなる分析に向けたテキストコンテンツの構造化がぐっとスムーズになります。

本チュートリアルでは、Excel のセル内にあるシングルクォートまたはダブルクォートで囲まれたテキストを抽出するための、実用的で使いやすい複数の方法をご紹介します。標準の数式を活用したアプローチ、「Kutools for Excel」の高度な機能(「AI アシスタント」や「指定された文字の間の文字列を抽出します」ツールを含む)、さらに複数またはネストされたクォートにも対応可能な強力な VBA コードによる方法までを詳しく解説します。各手法には、適用シーンの説明、ステップバイステップの操作手順、およびよくあるエラーを回避するための実践的なヒントもあわせてご提供します。

元のテキストと抽出された引用テキストを示すスクリーンショット

数式からシングルクォートまたはダブルクォート内のテキストの抽出

Excel 数式でクォート内のテキストを抽出する方法は、MIDFINDといった関数を活用した、直接的で透明性の高いアプローチです。この方法は、標準のExcel 機能を使いたい方や、予測可能な単一のクォートペアを含むセルから素早く結果を得たい場合に最適です。ただし、この数式はシンプルなケース——つまり、セルにクォートセクションが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(formula, "")を使用することを検討してください。


KUTOOLS AI でクォート内のテキストの抽出を簡単に

KUTOOLS AIは、「Kutools for Excel」アドインに内蔵されたインテリジェントアシスタントで、複雑な数式や手作業を要する多くのExcel 操作を自動化することを目的としています。大規模な範囲や不規則なデータを含め、クォート内の値を素早く確実に抽出したい方にとって、この AI 機能は非常に便利な代替手段です。特に、Excel の数式に慣れていない方に最適です。

Kutools for Excel をインストール後、「KUTOOLS AI」タブに移動して「AI アシスタント」を選択し、Excel の右側に実行ペインを開きます。

  1. クォート内のテキストを抽出したいセル範囲を選択してください。1 列、複数行、またはニーズに応じたカスタム範囲から選べます。
  2. 「KUTOOLS AI Aide」ペインの編集ボックスに次のコマンドを入力し、「Enter」キーを押してください。
    次の操作を実行してください:範囲内からシングルクォートで囲まれた値を抽出し、隣接セルに配置します。
  3. KUTOOLS AI がコマンドを分析し、タスクに最適な抽出方法を自動で特定します。準備ができたら、ペイン内の「Execute」ボタンをクリックするだけです。
    Kutools AI Aide ペインで実行ボタンをクリック

数秒以内に、クォート内のテキストが隣接セルに自動抽出され、数式の入力や手動でのコピー作業は一切不要です。この方法は、バッチ処理やさまざまなクォートシナリオに特に効果的です。

元のテキストと抽出された引用テキストを示すスクリーンショット

ヒント:テキストにダブルクォートやカスタム文字が含まれている場合は、プロンプトを適宜調整してください(例:「ダブルクォート内の値を抽出…」)。特にデータに不規則な文字や対応の取れていないクォートが含まれる場合は、必ず結果を再確認してください。


Kutools for Excel で同じ文字または異なる文字の間のテキストの抽出を簡単に

クォートだけでなく、その他の独自の区切り文字を含むデータを扱う際は、複雑な数式を作成する手間を省きましょう。「Kutools for Excel」なら、シングルクォートやダブルクォート、さらには任意のカスタム文字で囲まれたテキストを、わずか数回のクリックで簡単に抽出できます。特に、非技術的なユーザーの方や、複数の異なる列や形式から一括で情報を抽出したい方に最適です。直感的なインターフェースが、数式エラーのリスクを軽減し、ワークフローをより効率的にします。

Kutools for Excelは300 以上の高度な機能を提供し、複雑な作業を効率化して、創造性と生産性を高めます。AI 機能と統合されたKutools は、正確にタスクを自動化し、データ管理を簡単にします。Kutools for Excel の詳細情報。。。         無料トライアル。。。

Kutools for Excel をインストール後、次のようにして機能にアクセスします:Kutools>関数ヘルパー>Text>指定された文字の間の文字列を抽出します

  1. 「関数ヘルパー」ダイアログで、次のように設定してください:
    1. クォートや区切り文字を含むセルを選択してください。
    2. 開始文字と終了文字(例:' や " など)を定義したら、「OK」をクリックしてください。(クォートに限らず、任意の文字や文字列を指定できます。)
  2. オートフィルハンドルを下方向にドラッグして、リストの残りの部分にも抽出処理を適用し、すべての列を並べ替えたり範囲を効率的に処理したりできます。
    結果を示すスクリーンショット

メリット:この方法は数式の知識が不要で、一般的なエラーを抑えられ、さまざまな開始/終了区切り文字にも対応できます。ただし、同一セル内に複数のクォートセクションを抽出するなど、より高度なタスクには、以下で紹介する 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キーを押すか、実行をクリックしてください。

4。範囲がまだ選択されていない場合は、まず範囲の選択を求められます。その後、シングルクォート(')とダブルクォート(「)のどちらから抽出するかを選択してください。適切な方(' または 」)を入力してください。

5。このマクロは、選択された各セル内で引用符で囲まれたすべての部分(その数にかかわらず)を抽出し、結果をカンマ区切りのリストとしてデータの右側にある最初の空列に配置します。

注意事項とトラブルシューティング:

  • データにシングルクォートとダブルクォートの両方が含まれていて、それぞれを抽出したい場合は、マクロをクォートの種類ごとに1 回ずつ、合計2 回実行してください。
  • マクロは、空白セルや有効な引用テキストを含まないセルを無視して処理します。
  • 特殊なクォートやネストされたクォートを含むシナリオにおいて、このパターンはネストされていないクォート文字列の抽出を目的として設計されています。より深いネストに対応する拡張も可能ですが、通常のExcel テキストではこのようなパターンは稀です。
  • 何も抽出されない場合は、クォート文字を再度ご確認いただき、書式設定や非表示文字が干渉していないかもあわせてご確認ください。

 

まとめのヒント:データ構造に最も適したソリューションを選びましょう。単発で簡単な抽出であれば、数式で十分です。柔軟な区切り文字に対応するバッチ処理が必要で、かつ数式を使いたくないユーザーには、Kutools for Excel またはKUTOOLS AIが最も手軽です。すべての一致箇所を抽出したい場合や、引用符の使い方が不規則なデータなど、高度な要件がある場合は 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 日間のフル機能トライアル— 登録不要、クレジットカード不要
  • 最高のお得感— 個別アドイン購入よりお得