
スプレッドシート上で、セル内にカンマやスラッシュで区切られたデータがある場合、それらを横に展開(分割)して表示したいことがあります。この記事では、SPLIT関数とIF、SEARCH関数を組み合わせることで、特定の文字が含まれる場合にデータを横に展開する方法を紹介します。さらに、展開後のデータを値のみとして貼り付け、転置して縦にまとめる手順も解説します。
カンマ区切りデータを横に展開する方法

以下の関数は、セル A1 のデータにカンマ(,)が含まれている場合、SPLIT関数を使ってそのデータを横に展開します。もしカンマが含まれていなければ、A1 の値をそのまま返します。
=IF(ISNUMBER(SEARCH(",", A1)), SPLIT(A1, ","), A1)解説:
- SEARCH(“,”, A1): セル A1 内にカンマが含まれているかを調べます。含まれていればその位置を、含まれていなければエラーになります。
- ISNUMBER(): SEARCH の結果が数値(つまりカンマが存在する)なら TRUE を返します。
- SPLIT(A1, “,”): TRUE の場合、A1 の文字列をカンマで分割して横に展開します。
- IF(…, …, A1): カンマがない場合は、A1 の内容をそのまま返します。
スラッシュ区切りの場合
カンマの代わりにスラッシュ(/)で区切られている場合も、同様の方法で展開できます。以下の関数を使用してください。
=IF(ISNUMBER(SEARCH("/", A1)), SPLIT(A1, "/"), A1)展開したデータの値貼り付けと転置
展開されたデータは、SPLIT関数によって動的に生成されるため、必要に応じて値として固定する必要があります。以下の手順で値貼り付けと転置を行うことができます。
展開したデータをコピー
展開されたデータの範囲を選択し、コピーします。
値貼り付けを実行
右クリックメニューから「値として貼り付け」を選択します。これにより、関数の結果が固定された値に変換されます。

データの転置
値貼り付けした範囲をコピーし、別の場所に「貼り付けオプション」から「転置貼り付け」を選択します。これにより、横に展開されたデータが縦方向に並びます。

まとめ
この方法を利用することで、スプレッドシート内のセルに含まれるカンマやスラッシュで区切られたデータを簡単に横に展開し、さらに必要に応じて値として固定後、転置して縦にまとめることができます。主なポイントは以下の通りです。
- IF関数とSEARCH関数を活用: 特定の文字が存在するかを確認し、条件に応じてデータを処理。
- SPLIT関数によるデータ分割: 文字列を区切り文字で分割して横に展開。
- 値貼り付けと転置: 展開したデータを固定値にし、転置して縦方向にまとめる。
これらのテクニックを活用して、スプレッドシートのデータ整形を効率化し、より使いやすいデータ管理を実現してください。