Excel公式练习94:统计子列表在列表中出现的次数
excelperfect
引言:本文的练习整理自chandoo.org。多一些练习,想想自己怎么解决问题,看看别人又是怎解决的,能够快速提高Excel公式编写水平。
本次的练习是:计算子列表在列表中出现的次数。对于名为“List”和“Sublist”的两个列表,计算“Sublist”在“List”中出现的次数。其中,“List”和“Sublist”是可变长度的。
示例数据如下图1所示,你的列表和子列表的位置可能与图示不相同,也可以假设两个列表都在行中,子列表中的项可能会重复,但列表中需要完全匹配才能对其进行计数。
图1
不应该使用任何辅助单元格、中间公式或者VBA。
写下你的公式。
解决方案
公式1:
输入数组公式:
=SUM(N(FREQUENCY((List=TRANSPOSE(Sublist))*(ROW(List)-TRANSPOSE(ROW(Sublist))),(List=TRANSPOSE(Sublist))*(ROW(List)-TRANSPOSE(ROW(Sublist))))=ROWS(Sublist)))
返回:
2
公式2:
输入数组公式:
=SUMPRODUCT(--(COUNTIF(List,T(OFFSET(A$1,SMALL(IF(FREQUENCY(MATCH(Sublist,Sublist,0),MATCH(Sublist,Sublist,0))>=1,ROW(Sublist)),ROW(OFFSET(A$1,,,SUM(1/COUNTIF(Sublist,Sublist)))))-1, 0)))>0))
返回:
2
这两个公式有点难以理解,好好研究一下,有什么发现,可以在下面留言。
赞 (0)