逆透视:二维表转一维表!你可能会用到!
下图左表是数据源,它是一个二维表,记录的是各位同学各科目的分数。现在的要求是将其转为一维表,结果如右表所示。
函数法
用函数做这样的转换还是比较难的,一条公式是很难完成的。我们可以分多条公式来完成。
=IFERROR(INDEX(A:A,SMALL(IF(B$2:D$6<>"",ROW($2:$6)),ROW(A1))),"")
此公式可以看做二维数组的万金油公式(一对多查询),由于时间关系,我就不一步步拆解公式了。
对于已经入门的小伙伴,看了我这么久的文章,我相信你肯定会拆解公式了。还未入门的小伙伴也不要着急,慢慢积累,先从基础抓起,学会单个函数的用法。慢就是快。
=IFERROR(INDEX($1:$1,MOD(SMALL(IF(B$2:D$6<>"",ROW($2:$6)/1%+COLUMN(B:D)),ROW(A1)),100)),"")
=IFERROR(INDIRECT(TEXT(SMALL(IF(B$2:D$6<>"",ROW($2:$6)/1%+COLUMN(B:D)),ROW(A1)),"r0c00"),),"")
vba代码法
https://pan.baidu.com/s/1lJI4XmnNlgBqUKnHBKD6lg
赞 (0)