如何使用数组公式计算来自不同命名Excel表的唯一值?
我有两个表(一个用于捕获每个logging,另一个用于捕获logging摘要)。
跟踪器表 – 列:代码,date,错误消息
汇总表 – 列:代码,错误计数,唯一错误
目前,我使用以下命令从“错误计数”列中的每个应用程序代码中检索总计错误数: {=COUNT(IF([@Code]=Tracker[Code],1))}
即如果我在跟踪表中有以下内容:
1234 | Dec 01 34 | Error 1111 has occurred in Application 1234
1234 | Dec 23 34 | Error 1111 has occurred in Application 1234
1234 | Dec 23 34 | Error 4444 has occurred in Application 1234
然后在总结表中我应该有:
1234 | 3 | 2
我看了这个答案 (下面的公式),我可以针对范围( B2:B100
, A2:A100
)命名表中的列,但我不知道如何使用行ROW(A2)
目标。
=SUM(IF(FREQUENCY(IF(B2:B100=1,IF(A2:A100<>"",MATCH(A2:A100,A2:A100,0))),ROW(A2:A100)-ROW(A2)+1),1))
我用什么数组公式来查找每个错误的唯一编号?
你可以使用这个数组公式:
=SUM(IFERROR(([@Code]=Tracker[Code])/COUNTIFS(Tracker[Error Message],Tracker[Error Message],Tracker[Code],[@Code]),0))
基本的方法是分1买一个特定的Error Message
出现的次数,然后SUM
那些…这将给你唯一的消息数。
我们在最初的[@Code]=Tracker[Code]
一个1
或0
来代表分子(即忽略那些不符合Code
)以及额外的COUNTIFS
条件...,Tracker[Code],[@Code]
以便我们只计算Error Message
与匹配Code
的出现次数
IFERROR
是摆脱那些烦人的#DIV/0!
错误的行不匹配…