如下图所示:
C列分别列出了B列的数字在A1单元格中出现的次数,现在希望将B列的数字按照C列统计的次数,从大到小组合起来成为“3465298710”,可以在D1单元格中输入如下的函数公式:
=TEXT(SUMPRODUCT(N(OFFSET(B1,--RIGHT(LARGE(C1:C10*100000+ROW(1:10),ROW(1:10)),5)-1,0))*10^(10-ROW(1:10))),"0000000000")
公式的算法如下:
- 先将C列的出现次数同时乘以一个特大的数,然后加上它们所在的行号
- 用Large函数从大到小依次获取
- 用Right函数取出排序好的行号,也就是从大到小出现次数对应的行号
- 用Offset函数依次取出C列出现次数对应的数值
- 然后依次乘以10的N次方,相加,实现数值的合并
- 为了确保0为出现的最大次数的数值时,不显示,在函数公式的外围再套一个TEXT函数。
发表评论