メインコンテンツへスキップ

最初と2番目のコンマの間のテキストを文字列から抽出する

Author: Xiaoyang Last Modified: 2025-08-06

文字列から最初と2番目のコンマ、または2番目と3番目のコンマの間のテキストを抽出したい場合、このチュートリアルではExcelでこのタスクを解決するためのいくつかの数式を紹介します。

doc-extract-text-between-two-commas-1


最初と2番目のコンマまたはその他の区切り文字の間のテキストを文字列から抽出する

最初と2番目のコンマまたはその他のセパレータの間のテキストを抽出したい場合、MID関数とSEARCH関数を使用してこの作業を達成できます。汎用的な構文は次のとおりです:

=MID(セル, SEARCH("文字",セル) + 1, SEARCH("文字",セル, SEARCH("文字",セル)+1) - SEARCH("文字",セル) - 1)
  • セル: テキストを抽出したいセル参照または文字列です。
  • 文字: 抽出基準となる特定の区切り文字です。

結果を得たい空白セルに次の数式をコピーまたは入力してください:

=MID(A2, SEARCH(",",A2) + 1, SEARCH(",",A2,SEARCH(",",A2)+1) - SEARCH(",",A2) - 1)

そして、この数式を適用したいセルまでフィルハンドルをドラッグすると、最初と2番目のコンマの間にあるすべてのテキストが抽出されます。スクリーンショットをご覧ください:

doc-extract-text-between-two-commas-2


数式の説明:

1. SEARCH(",",A2) + 1: このSEARCH関数は、セルA2内の最初のコンマの位置を見つけるために使用され、1を加えることで次の文字から抽出を開始することを意味します。結果として14という数字が得られます。この部分はMID関数内でstart_num引数として認識されます。

2. SEARCH(",",A2,SEARCH(",",A2)+1) - SEARCH(",",A2) – 1: この部分はMID関数内のnum_chars引数として認識されます。

  • SEARCH(",",A2,SEARCH(",",A2)+1): この数式の部分は、2番目のコンマの位置を取得するために使用され、結果として21という数字が得られます。
  • SEARCH(",", A2): このSEARCH関数は、セルA2内の最初のコンマの位置を取得します。結果として13という数字が得られます。
  • SEARCH(",", A2, SEARCH(",", A2)+1) - SEARCH(",", A2)-1=21-13-1: 最初のコンマの位置を2番目のコンマの位置から減算し、さらに結果から1を減算することでコンマ文字を除外します。結果は7です。

3. MID(A2, SEARCH(",",A2) + 1, SEARCH(",",A2,SEARCH(",",A2)+1) - SEARCH(",",A2) - 1)=MID(A2, 14, 7): 最終的に、MID関数はA2セルの中間から始まる14番目の文字から7文字を抽出します。


注意:

1. テキスト文字列が他の区切り文字で区切られている場合、数式内のコンマを必要な区切り文字に変更するだけです。

2. こちらにもう一つのシンプルな数式があります:

=TRIM(MID(SUBSTITUTE(A2,",",REPT(" ",100)),100,100))

doc-extract-text-between-two-commas-3


2番目と3番目のコンマまたはその他の区切り文字の間のテキストを文字列から抽出する

時々、2番目と3番目のコンマの間のテキストを抽出する必要がある場合があります。このような場合、MID、FIND、SUBSTITUTE関数の組み合わせが役立ちます。汎用的な構文は次のとおりです:

=MID(セル, FIND("#",SUBSTITUTE(セル,"文字","#",2))+1, FIND("#",SUBSTITUTE(セル,"文字","#",3)) - FIND("#",SUBSTITUTE(セル,"文字","#",2))-1)
  • セル: テキストを抽出したいセル参照または文字列です。
  • 文字: 抽出基準となる特定の区切り文字です。

以下の数式を空白セルにコピーまたは入力してください:

=MID(A2, FIND("#",SUBSTITUTE(A2,",","#",2))+1, FIND("#",SUBSTITUTE(A2,",","#",3)) - FIND("#",SUBSTITUTE(A2,",","#",2))-1)

数式を貼り付けた後、この数式を適用したいセルまでフィルハンドルをドラッグすると、2番目と3番目のコンマの間にあるすべてのテキストが抽出されます。下のスクリーンショットをご覧ください:

doc-extract-text-between-two-commas-4


数式の説明:

1. FIND("#",SUBSTITUTE(A2,",","#",2))+1: この部分はMID関数内でstart_num引数として認識されます。

  • SUBSTITUTE(A2,",","#",2): このSUBSTITUTE関数は、セルA2内の2番目のコンマを#文字に置き換えるために使用され、結果として「Apple-3000KG,Houston#Texas,US」が得られます。
  • FIND("#",SUBSTITUTE(A2,",","#",2))+1: SUBSTITUE関数によって返された文字列内での#文字の位置を取得するためにFIND関数を使用しています。1を加えることで次の文字から抽出を開始します。結果として22という数字が得られます。

2. FIND("#",SUBSTITUTE(A2,",","#",3)) - FIND("#",SUBSTITUTE(A2,",","#",2))-1: この部分はMID関数内のnum_chars引数として認識されます。

  • FIND("#",SUBSTITUTE(A2,",","#",3)): この数式は3番目のコンマの位置を返し、結果として27という数字が得られます。
  • FIND("#",SUBSTITUTE(A2,",","#",3)) - FIND("#",SUBSTITUTE(A2,",","#",2))-1= 27-21-1: 2番目のコンマの位置を3番目のコンマの位置から減算し、さらに結果から1を減算することでコンマ文字を除外します。結果は5です。

3. MID(A2, FIND("#",SUBSTITUTE(A2,",","#",2))+1, FIND("#",SUBSTITUTE(A2,",","#",3)) - FIND("#",SUBSTITUTE(A2,",","#",2))-1) = MID(A2, 22, 5): 最終的に、MID関数はA2セルの中間から始まる22番目の文字から5文字を抽出します。


注意:

1. テキスト文字列が他の区切り文字で区切られている場合、数式内のコンマを必要な区切り文字に変更するだけです。

2. もう一つのシンプルな数式も2番目と3番目のコンマの間のテキストを抽出するのに役立ちます:

=TRIM(MID(SUBSTITUTE(A2,",",REPT(" ",100)),200,100))

doc-extract-text-between-two-commas-5


関連する関数:

  • MID:
  • MID関数は、指定されたテキスト文字列の中間から特定の数の文字を検索して返すために使用されます。
  • FIND:
  • FIND関数は、ある文字列を別の文字列内で検索し、その文字列の開始位置を返します。
  • SEARCH:
  • SEARCH関数は、指定されたテキスト文字列内の特定の文字または部分文字列の位置を見つけるのに役立ちます。
  • SUBSTITUTE:
  • ExcelのSUBSTITUTE関数は、テキスト文字列内のテキストまたは文字を別のテキストまたは文字に置き換えます。

その他の記事:

  • セルから複数行を抽出する
  • (Alt + Enterキーを押すことで改行が挿入された)改行で区切られたテキスト文字列のリストがあり、これらの行を複数のセルに抽出したい場合、どのようにExcelで数式を使って解決すればよいでしょうか?
  • 括弧内のテキストを文字列から抽出する
  • 括弧で囲まれたテキストが文字列内に含まれている場合、括弧内のすべてのテキストを抽出したい場合、Excelでこのタスクを迅速かつ簡単に解決するにはどうすればよいでしょうか?
  • 特定の文字の最後の出現位置以降のテキストを抽出する
  • (ハイフン、カンマ、スペースなど複数の区切り文字を含む)複雑なテキスト文字列があり、最後に現れるハイフンの位置を見つけ、その後の部分文字列を抽出したい場合、この記事ではこのタスクに対処するためのいくつかの数式を紹介します。

最高のオフィス生産性ツール

Kutools for Excel - 群衆から一歩抜け出すためのお手伝い

🤖 KUTOOLS AI アシスタント: 次の基盤でデータ分析を革新: スマート実行   |  コード生成  |  カスタム数式を作成  |  データを分析しチャートを生成  |  Kutools 機能を呼び出し
人気機能: 重複を検索、ハイライト、または特定  |  空白行を削除  |  データを失うことなく列やセルを結合  |  数式を使わずに丸める ...
スーパーVLookup: 複数条件 | 複数値 | 複数シート間 | ファジーマッチ...
高度なドロップダウンリスト: 簡単ドロップダウンリスト  |  依存ドロップダウンリスト  |  複数選択ドロップダウンリスト...
列マネージャー: 特定の数の列を追加 |  列を移動 |  非表示列の可視性ステータスを切り替え 列を比較して同じおよび異なるセルを選択 ...
注目機能: グリッドフォーカス |  デザインビュー |  強化された数式バー |  ワークブックとシートマネージャー | リソースライブラリ (オートテキスト) |  日付ピッカー |  ワークシートを統合 |  セルの暗号化/復号化 |  リストによるメール送信 |  スーパーフィルター |  特殊フィルタ(太字、斜体、取り消し線のフィルタリング...) ...
上位15のツールセット12個の テキストツールテキストの追加特定の文字を削除 ...) |  50以上の チャート タイプガントチャート ...) |  40以上の実用的な 数式誕生日に基づいて年齢を計算 ...) |  19個の 挿入ツールQRコードの挿入パスからの画像挿入 ...) |  12個の 変換ツール単語に変換する通貨変換 ...) |  7つの マージ&分割ツール高度な行のマージExcelセルの分割 ...) |  ... など
お好みの言語でKutoolsを使用できます。英語、スペイン語、ドイツ語、フランス語、中国語、その他の40以上の言語に対応!

Kutools for Excelは300以上の機能を誇り、必要なものがクリック一つで利用可能です...


Office Tab - Microsoft Office(Excel含む)でタブ形式の読み書きを可能に

  • 数十の開いている文書間を1秒で切り替え!
  • 毎日数百回のマウスクリックを減らし、マウス疲れとはおさらば!
  • 複数の文書を閲覧・編集する際の作業効率を50%向上します。
  • Chrome、Edge、Firefoxのように、Office(Excel含む)に効率的なタブをもたらします。