Excel CSVなどの文字列の分割を関数で行う方法

2022年9月12日

カンマなど特定の文字で区切られている文字列を

セルごとに分割する方法がExcelでは4つあります。

それぞれ下記の特徴があります。

-方法特徴
テキストファイルウィザード柔軟性が高いが手間も大きい。
定型化されていない業務に適切。
文字列関数の組み合わせ一度関数を作れば、その後の手間が小さい。
ただし数式が非常に複雑。
何度も分割を行う場合に適切。
最新でない状況でも利用可能です。
TEXTSPLIT関数2022年9月のアップデートで追加された関数。
簡潔な数式で文字列の分割が可能です。
最新の関数が利用できる状況では最もお勧めです。
ユーザ定義関数(マクロ・VBA)マクロ・VBAを使う必要があるが
手間の少なさと数式のシンプルさで
②より優秀

この記事では②の文字列関数の組み合わせで行う方法を紹介します。

他の方法は関連記事よりリンクする別の記事で紹介します。

サンプルファイル

数式が複雑で準備の手間があるのでサンプルファイルを

そのまま使っていただくのが最も手間が少ないです。

B2セルにカンマやパイプ(||)などの区切り文字を指定して

B5以降に分割したい文字を記入します。

するとD~M列に分割した文字列が表示されます。

50列以上存在する場合はD4以降の数式をコピーしてください。

サンプルファイル

作成手順

まず作業用の文字列を作成します。数式は下記のようになります。

=区切り文字&文字列&区切り文字

これにより文字列の前後で区切り文字で囲みます。

区切り文字で囲んだ作業用セルを作成

次に1から連番のセルを用意して(N番目)、その数式をコピーします。

IFERROR関数MID関数FIND関数SUBSTITUTE関数LEN関数を指定します。

=IFERROR(
 MID(作業用セル,
 FIND(代替文字,SUBSTITUTE(作業用セル,区切り文字,代替文字,N番目)) + LEN(区切り文字),
 FIND(代替文字,SUBSTITUTE(作業用セル,区切り文字,代替文字,N番目+1)) -
 (FIND(代替文字,SUBSTITUTE(作業用セル,区切り文字,代替文字,N番目)) + LEN(区切り文字)))
 ,"")
作業用セル区切り文字で囲んだ文字列を
列のみ$で指定します。
代替文字作業用セル中に登場しない1文字を
行列共に$で指定します。
区切り文字区切り文字を行列共に$で指定します。
2文字以上でも問題ありません。
N番目1以降の数字を指定します。
ここでは項目行に数値を記載して
行のみ$で指定しています。

これにより1以降の行(サンプルではD5以降)に分割された文字が表示されます。

分割する関数が完成した状態

Excel完全マスター: 関数・テクニック・新機能を網羅した決定版ガイド

本書は、Excelの基礎から応用まで、包括的に学べるガイドブックです。当サイトの豊富な情報を、電子書籍向けに最適化し、読みやすく再構成しました。

【本書の特徴】

  • 情報量:Word-A4サイズ換算で1,400ページ相当
  • 基本操作から高度なテクニックまで、段階的に学習可能
  • 140種類の関数を詳細に解説
  • 109種類の実用的なテクニックと具体例を紹介
  • 最新機能(XLOOKUP関数、LET関数、シートビュー、LAMBDA関数、スピル等)を徹底解説

【対象読者】

  • Excel初心者からプロフェッショナルまで
  • 体系的にExcelスキルを向上させたい方
  • 業務効率化を目指すビジネスパーソン
  • データ分析や可視化のスキルを磨きたい方

【本書の強み】

  • 実務に即した例題と解説
  • 視覚的な図表やスクリーンショットで理解を促進
  • 最新のExcelバージョンに対応した内容
  • 著者の長年の経験に基づく、実践的なTipsを多数収録

【更新とサポート】

  • 常に最新の情報を反映するため、定期的に内容を更新
  • 最新版の入手方法:Amazonカスタマーサポートへお問い合わせください

【入手方法】

  • 買い切り:950円
  • Kindle Unlimited:読み放題プランで利用可能

Excelマスターを目指す方、業務効率を劇的に向上させたい方に、自信を持っておすすめできる一冊です。この1冊で、Excelの可能性を最大限に引き出す力が身につきます。

関連記事

他の方法で区切り文字列の分割を行う

テキストファイルウィザード

ユーザ定義関数(マクロ・VBA)

活用例

姓と名(苗字と名前)を結合・分割する方法

Power Automate Desktop

「テキストの分割」アクション