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

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

Author: Xiaoyang Last Modified: 2025-05-23

文字列から最初と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でこのタスクを迅速かつ簡単に解決するにはどうすればよいでしょうか?
  • 特定の文字の最後の出現位置以降のテキストを抽出する
  • (ハイフン、カンマ、スペースなど複数の区切り文字を含む)複雑なテキスト文字列があり、最後に現れるハイフンの位置を見つけ、その後の部分文字列を抽出したい場合、この記事ではこのタスクに対処するためのいくつかの数式を紹介します。

最高のOffice生産性ツール

Kutools for Excel - あなたを群衆から際立たせるツール

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

Kutools for Excelは300以上の機能を誇り、必要なものがワンクリックで手に入ります...


Office Tab - Microsoft Office(Excel含む)でのタブ形式の閲覧と編集を有効にする

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