前回は、「3行ごとに1件分のデータ」が入力されている表を1行に変換する方法でした。今回は、繰り返しの行数が変動する場合の方法です。
例えば、下図のように基本的な項目パターンは一致するものの、2行や3行のデータ、空白行があるような表を1行に変換する事例です。
Excelで作成された表のデータベース化などを進めようとすると、時折このような表の処理が必要になることがあるので、対応の一例です。
内容:
事例の前提
複数行ごとの表を一行に変換の基本は次のとおり。
今回は、基本的な項目パターンは一致するものの、2行や3行のデータ、空白行があるような例外があります。
A列およびC列は、1件のレコードにつき1つのデータがあるという前提です。
上記の基本対応を踏まえて、例外の処理部分だけ以下で補足します。
対応方法
このケースでは、A列もしくはC列の値を使用して例外に対応可能です。
IF文で、A列もしくはC列が空欄の場合に値を取得するようにします。
下図は、A列が空欄でない場合は、次のレコードと判定し、空欄を表示する事例です。
この事例では、
セルH2の数式 =IF(A3="",B3,"")
セルI2の数式 =IF(A4="",B4,"")
など入力しています。どのような判定数式にするかは、実際のデータによって修正は必要です。
以降の手順は、【Excel】複数行ごとの表を一行に変換(リストのような単票の変換)と同様に、数式をコピー、抽出します。
参考情報
今回の事例では「残したい行を識別できる列」について、空欄を判定に利用しました。
データの状態によっては、文字列を検索して判定する方法など、他の方法が必要となることがあります。
以下はMATCH関数で文字列を検索して判定する事例です。
以上、Excelで複数行ごと(例外あり)の表を一行に変換する方法でした。