私信回复关键词【方方】~
获取超好用的Excel插件,让你效率飞起!
一个做销售的,没有买我课的小姐姐,向我提问说:
「如何把横向的表格,每两行做为 1 组,转成纵向排列?」
如下表:
我回答了她的问题,绝对不是因为她长的好看,还是我为人师表、教书育人的高尚品德。
01梳理思路这两天,我在研究函数公式,看了 20 多个下面这样的长公式之后,我得出了一个结论。
=-LOOKUP(,-MID(B5,MIN(FIND({0;1;2;3;4;5;6;7;8;9},B5&1234567890)),ROW($1:$1024)))
=-LOOKUP(,-MID(B5,MIN(FIND({0;1;2;3;4;5;6;7;8;9},B5&1234567890)),ROW($1:$1024)))
写函数公式,其实和写代码是一样的,都要先梳理清楚思路,否则写不出公式。
比如这个案例,「每两行作为 1 组,转置成纵向排列」,该怎么做呢?
首先要梳理思路,把问题拆解成实现步骤。
这一步考验的是你的逻辑能力。
比如我分成下面几个步骤:
❶ 添加组号,两列为 1 组,按组添加序号;
❷ 提取数据,根据组号提取数据;
❸ 转置数据,各组数据改为纵向填充。
02解决方法梳理清楚了步骤,接下来就要把这些步骤,「翻译」成 Excel 能看懂的函数公式了。
这一步考验的,是你对函数公式的熟练程度。
❶ 添加组号。
每两列为 1 组,给每组中的两列添加相同的组号。
公式如下:
=ROUNDUP(COLUMN()/2,0)
❷ 提取数据。
根据组号提取数据,这里使用的是 FILTER 函数,比如要把第 1 组的数据提取出来。