如图,源数据中的表格将名字整合到以宿舍号为准的一行中,如何转换成以姓名为准,每个姓名一行,并且包含年级、宿号舍、床位号等信息的表格,公式如下:
=LET(array,DROP(REDUCE("",原始格式!C2:H66,LAMBDA(x,y,VSTACK(x,HSTACK(OFFSET(y,,-COLUMN(y) 1),y,OFFSET(y,,-COLUMN(y) 2),OFFSET(y,-ROW(y) 1,))))),1),
FILTER(array,INDEX(array,,2)<>0))
公式思路,本例公式的思路为以姓名为循环对象,根据姓名所在的行列提取中其所对应的年级、宿舍号、床位号信息。
本例的特点是rowcolumn函数的使用,它利用的reduce在引用一个区域数组时会自带其索引信息的特点,根据每个行号或者列号的信息找到了第一行,第一列、第二列的信息,并用hstack函数组合到一起。
评论 (0)