在如图所示的工作表中,其中A3:C6为一个二维数组,下面的公式将分别按先行后列的顺序转换为一个一维数组。
为了简化公式,首先定义名称如下。
●待转换数组Array:={"A","B","C";"D","E","F";"G","H","I";"J","K","L"}
●取得总行数ROWS:=ROW(INDIRECT("1:"&COUNTA(Array)))
F2:F13多单元格联合数组公式如下:
{=CHOOSE(ROUNDUP(Rows/ROWS(Array),),LOOKUP(Rows,Rows,INDEX(Array,,1)),LOOKUP(Rows,Rows+ROWS(Array),INDEX(Array,,2)),LOOKUP(Rows,Rows+ROWS(Array)*2,INDEX(Array,,3)))}
公式主要利用HOUNDUP函数来等长度变换自然数序列,将1-12的序列转换为{1;1;1;1;2;2;2;2;3;3;3;3},再利用LOOKUP函数分别对子数组进行分段查询,最后生成合并后的一维数组。