Googleスプレッドシートでは、任意の長さの列があります。1列を複数の列に分割して、それぞれ最大500個のセルに分割する
私はこれを行うことができますどのように長さ500の別々の列にこの列を分割したい
?
私が考えてきたいくつかのものは、溶液中で関与することがあります。
-
任意の長い列を持つ
- TRANSPOSE
- ARRAY_CONSTRAIN
Googleスプレッドシートでは、任意の長さの列があります。1列を複数の列に分割して、それぞれ最大500個のセルに分割する
私はこれを行うことができますどのように長さ500の別々の列にこの列を分割したい
?
私が考えてきたいくつかのものは、溶液中で関与することがあります。
はあなたが任意に多くの列が必要になります意味分割、およびスプレッドシートの式では新しい列を作成できません。したがって、利用できるすべての列を使用することが最善です。
データ列がセルA1で始まり、分割する範囲の左上隅をB1とすると、シートの最初の500行に
を入力すると、次の数式が有効になります。=offset($A$1, row()-row($B$1) + 500*(column()-column($B$1)), 0)
それ以外の場合は、A1とB1を送信元と送信先の左上隅に変更します。
説明:オフセットはA1から指定された量だけ移動し、行ごとに1ずつ増加し、すべての列で500ずつ増加します。
Arrayformula
、数5の例は、500
=ArrayFormula(IFERROR( vlookup( (TRANSPOSE(ROW(INDIRECT("a1:a"&ROUNDUP(COUNTA(A:A)/5))))-1)*5 + ROW(INDIRECT("a1:a"&5)), {ROW(A:A),A:A},2,) ))
ROUNDUP(COUNTA(A:A)/5
に列の数を変更します。 Up
です。最後の列にはN行未満が含まれる可能性があるためです。TRANSPOSE(...)*5 + ROW(INDIRECT("a1:a"&5))
数値の行列を得る。マトリックス:
1 6 11 16
2 7 12 17
3 8 13 18
4 9 14 19
5 10 15 20
{ROW(A:A),A:A}
"" を示すために値
IFERROR
を返すために
vlookup
を返すために、行の数と値を取得しますエラーの場合。