咔片PPT · AI自动生成演示文稿,模板丰富、排版精美 讯飞智文 · 一键生成PPT和Word,高效应对学习与办公

今天有学员问小编这样一个问题。需要把左边的表变成右边的样子。 就是把3列数据合并到一列里面。具体效果如下图所示:

那么这个问题怎么解决呢?快跟着小编一起来看看吧:

1.首先我们需要理解从A列到C列里面取数据到F列的逻辑,小编在“苦苦”分析之后得知:

F列所需要的结果,是每隔4行(有1个空白单元格作为间隔)提取左表里1条数据记录。

那么我们来梳理一下,可知F2、F3和F4单元格内都取左表里面的第1条数据记录;F5单元格留空。同理F6、F7和F8单元格数据都取自左表里面的第2条数据.以此类推。

2.使用ROW函数模拟从1开始重复3次后隔着1个空白单元格并递增的数字序列

经分析发现,其实是隔着4行重复递增的数字序列。因此需要使用ROW函数和数组4,结合之后为:=ROW(1:1)/4。之所以使用ROW函数应用第一行,其实跟第一行的内容无关,只是为了得到了数字1而已。如下图H列的公式:

根据上图我们可以到,ROW函数得到的结果和G列的数字序列是不一样的,怎么办呢?这时我们可以用ROUNDUP/CEOLING等函数来实现向上取整的效果

3.接下来,使用INDEX函数取数就可以了,不过INDEX的第3参数(列号),得用MATCH函数根据E列的字段名在左表里面的第1行表头里定位。 在 H2 单元格输入公式:

=index($A$2:$C$30,Roundup(row(1:1)/4,0),match(E2,$A$1:$C$1,0))

4.最后使用IFERROR函数来屏蔽错误值就可以了