我有两列,它们是相邻的,我需要通过连接两列来获得结果值的唯一计数,并且需要将它们与列A的值相关联。例如:
ColA ColB
A X
A X
B Y
B Y
B Z
C X
C Y
C Z
指望A:1
计为B:2
计为C:3
我想通过命名列表来关联它们,一个列表包含两个列,另一个列表包含两个列。我宁愿不使用数组函数,我希望这个计数函数作为求和值。我很好用vba和自定义函数。列不会有空值并且总是有数据,我不相信我需要进行错误检查。
修改的
我可以在NamedList中获得包含ColA&的不同排列的计数。 COLB。我不能做的是生成一个IF语句,测试NamedList:ColA =='A'。我只有3个不同的ColA值,可以生成3个不同的函数来测试A,B和B C单独。下面给出了上面NamedList显示的不同排列的计数,等于6。
=SUMPRODUCT((NamedList<>"")/COUNTIF(NamedList,NamedList&""))
答案 0 :(得分:0)
使用fairly standard method和SUMPRODUCT function获得COUNTIF functions个唯一计数。这可以通过替换COUNTIFS function的COUNTIF来适应多个列的唯一性。
E4中的公式是,
=SUMPRODUCT((A$2:A$99=$D4)/(COUNTIFS(A$2:A$99, A$2:A$99&"", B$2:B$99, B$2:B$99&"")+(A$2:A$99<>$D4)))
要使上述公式适应命名范围,请使用INDEX function从二维单元格范围中删除列。
=SUMPRODUCT((INDEX(NamedList, 0, 1)=$D4)/(COUNTIFS(INDEX(NamedList, 0, 1), INDEX(NamedList, 0, 1)&"", INDEX(NamedList, 0, 2), INDEX(NamedList, 0, 2)&"")+(INDEX(NamedList, 0, 1)<>$D4)))
根据需要填写。
设计其中一个时遇到的最大障碍是避免#DIV/0!
错误。这就是分母中附加的空字符串和反转标准所阻止的内容。