源数据
结果
如图,源数据为多个数据放在一起,每个场地占用一列,每列有10个设备,如何将每个设备变成一行,并且开头不变,公式如下:
=DROP(REDUCE("",A2:A4,LAMBDA(x,y,VSTACK(x,IFERROR(HSTACK(y,WRAPROWS(OFFSET(y,,1,,170),17)),y)))),1)
公式思路:公式主体reduce(vstack(iferror(hstack(wraprows……先将每列设备部分用offset函数提取出来,再用wraprows以每17个单元格为一列分成10行,将场地名称放在每一行的前面,最后将数据堆叠在一起。
OFFSET(y,,1,,170)充分利用了reduce函数保留行列索引的特点,提取到后面的设备信息。
iferror函数是重复区域内某一个单元格数值的常用办法,它能将显示为错误的单元格替换为指定的数值。在本例中用来将场地名称传递给每一行。
评论 (0)