【スプレッドシート】縦一列に長いデータを複数列に変換する

こんてんつ

縦一列に並んだデータがあるとする。このデータを、指定行で折り返させ、複数列に変換するための方法を示す。

例題

次の図の様に、A列に長いデータが存在するとする。このデータを、4行おきにB列、C列、…のように横に移動させることを考える。

方法

B1列に次の様な関数を記入し、オートフィルで周りに広げればよい。4*(ROW()-1)+(COLUMN()-1)4の部分を折り返したい行数に一致させることがポイント。 =INDEX($A:$A,4*(ROW()-1)+(COLUMN()-1),0)

解説

INDEXは、INDEX(参照, 行, 列)として、値を取得してこれる。4*(ROW()-1)+(COLUMN()-1)におけるn=4の部分で、記入している行のn倍の行を取得して、(COLUMN()-1)分足した行の値を取得してくる。

利用の用途

例えば、次の様な、氏名・年齢・住所の様に縦に並んだデータを、横に並べるときなどに有用である。