统计两列连接的唯一组合
我有两列,它们是相邻的,我需要从连接两列获得结果值的唯一计数,并需要将它们与列A的值相关联。例如:
ColA ColB AX AX BY BY BZ CX CY CZ
算A:1
计算B:2
计算C:3
我想通过命名列表将它们关联起来,一个是包含两列的列表,另一列是每列一列的两个列表。 我宁愿不使用数组函数,我想这个计数函数作为总和值。 我很好,使用VBA和自定义函数。 列不会有空值,并且总是有数据,我不相信我会需要错误检查。
编辑
我可以在包含ColA和ColB的NamedList中计算不同的排列。 我不能做的是生成一个IF语句来testingNamedList:ColA =='A'。 对于ColA,我只有3个不同的值,并且可以生成3个不同的函数,分别针对A,B和C进行testing。 下面给出了上面的NamedList节目的不同排列的计数,等于6。
=SUMPRODUCT((NamedList<>"")/COUNTIF(NamedList,NamedList&""))
使用SUMPRODUCT函数和COUNTIF函数有一个相当标准的获得唯一计数的方法。 这可以适应一个独特的多个列byt换出COUNTIF的COUNTIFFS函数 。
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函数从二维单元格范围中剥离列。
=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)))
根据需要填写。
devise其中一个的最大障碍是避免#DIV/0!
错误。 这是分母附加的空string和反转标准所预防的。