如下所示,需要根据重复出现的次数,将左边的数据,批量转换成右边的数据
介绍2种方法快速实现,VLOOKUP公式和TOCOL公式
方法一:使用VLOOKUP公式首先,需要在数据的最左边建立一个辅助列,在A2单元格输入的公式是:
=SUM($C$1:C1)
第1个C1固定引用,表示从C1单元格开始累计求和
数据向下填充的时候,需要超过原始数据一行,如下所示:
然后我们只需要输入公式:
=VLOOKUP(ROW()-1,A:B,2,1)
ROW()函数是返回当前行的行号
然后对辅助列和数据列查找匹配,用近似匹配来查找
方法二:使用TOCOL公式如果说不方便建立辅助列,想一气呵成的完成,那就需要用到新函数公式TOCOL了
一条公式就可以搞定:
=TOCOL(IF(B2:B4>=COLUMN(1:1),A2:A4,NA()),2)
看起来公式很复杂,我们逐步分解,理解其计算思路,就很简单了
首先是COLUMN(1:1)
它是一个一维数组,结果是1,2,3一直到16384,表格的最大列数
然后我们再使用公式:
=B2:B4>=COLUMN(1:1)
它是用我们的数字来判断,是否比自然数大或相等
当数字是2的时候,它就会有两个TRUE,它数字是3个的时候,就有3个TRUE
然后我们使用的是:
=IF(B2:B4>=COLUMN(1:1),A2:A4,NA())
对应上面的TURE的时候,返回姓名,否则,返回错误值
最后一步很简单了,我们用TOCOL公式,将这3行数据连接起来,参数为2表示忽略错误值连接成一列:
关于这个函数公式,你学会了么?动手试试吧!