Excel 365で「複数行1レコード」のデータをリスト・テーブル形式に変換する方法(1:結合セルなし)

Excel 365で新しく追加されたTOROW関数WRAPROWS関数を組み合わせることで、変則的な形状のリストを変換する作業も簡単に行えます。この記事では、具体的な例を用いて「複数行1レコード」のデータをリスト形式(先頭行が見出し、1行1レコードの形式)へと変換する手順を詳しく説明します。

具体例の確認(複数行1レコード)

あなたが持っているデータが以下のように3行2列で1つのレコードを形成しているとします(商品番号、分類、商品名、ジャンル、価格、カロリーの6項目)

これらの情報が連続して記載されており、各レコードが3行2列ずつのデータで構成されています。

変換の目的(1行1レコードへ)

これらのデータを、各レコードが1行にまとめられた6項目のリスト形式のテーブルに変換します。最終的な形式は次のようになります。

計算式を使った1行1レコードへの変換手順

基本ルール

  • データの準備: 元となるデータがどの範囲にあるかを確認します。例えば、B2:C40の範囲にデータが存在していると仮定します。
  • TOROW関数の使用: まず、TOROW関数関数を使用して、指定した範囲のデータを一列に変換します。この関数は次のように使用します:
=TOROW(B2:C40)

この関数は、B2:C40の範囲内の全データを単一の行に展開します。例えばこれをセルE2へ作成しましょう。下図のようになります。

  • WRAPROWS関数の適用: 次に、TOROW関数を使用して、TOROW関数で生成された横並びデータ(ここではセルE2から始まるのデータ)を適切なセル数で折り返します。6セル1レコードとする場合は次のようになります。
=WRAPROWS(E2#,6)

「#」はスピル範囲演算子で、「セル名#」の形式でスピル計算式で生成された範囲全体を指定します。

これにより、各レコードが3つの要素(商品番号、商品名、価格とカロリー)を持つ行として整理されます。

関数のネストで一括処理

以下の式では前述の操作が1つで完了します。TOROW関数で生成された1行のデータを6つずつ折り返します。

=WRAPROWS(TOROW(B2:C40), 6)

次の記事:結合セルがある場合の対処

Excel 365で「複数行1レコード」のデータをリスト・テーブル形式に変換する方法(2:結合セルあり)
前回の記事前回の記事では、結合セルがない「複数行1レコード」のデータをリスト化しました(1行1レコード形式)。ここでは結合セルがあるケースでの操作紹介をします。ただし基本は同じなので複雑な操作が加わるわけではありません。具体例の確認(複数行...

コメント