表形式になっているデータを1列に取り出したいとき、1行ずつコピペすればできますが、データが多くあるときは効率が悪いです。
以下の関数を入れてオートフィルコピーで下方へドラッグすれば楽にできます。
「A1:C4」のような表がE列のように並びます。
「E1」に以下の関数を入れたら下方へオートフィルコピーです。
=INDEX($A$1:$C$4,INT((ROW(A1)-1)/3)+1,MOD(ROW(A1)-1,3)+1)
例えばデータが4列だったら範囲選択を変更するのは当然ですが、式途中の「3」のところを「4」へ変更すればそのまま対応できます。
こんな感じ。
=INDEX($A$1:$D$4,INT((ROW(A1)-1)/4)+1,MOD(ROW(A1)-1,4)+1)
・INDEX 取り出したい範囲を指定
・INT((ROW(A1)-1)/4)+1 (行番号-1)/4の結果を整数で切り捨て、プラス1
・MOD(ROW(A1)-1,4)+1 (行番号-1)を4で割った余りを出して、プラス1
INDEXの行指定の部分がINTの結果で、列指定の部分がMODの結果です。
表の範囲が3列ならば、「-1」をしているので、行番号3のところまではいくら「3」で割っても「1」以下になるので、整数で切って答えは「0」、それにプラス「1」をしているので返る値は「1」になる。
結果INDEXの行指定が「1」になります。
「4」以降「6」以下は同様の考え方で、返る値が「2」なので2行目が指定できます。
と、こんな風に1行目、2行目・・・と読んで1列に返すことができます。
以上
※表形式のデータを列ごとに縦1列に取り出して並べたい場合はこちら
「表形式のデータを列ごとに縦1列に取り出して並べる」