统计两列连接的唯一组合

我有两列,它们是相邻的,我需要从连接两列获得结果值的唯一计数,并需要将它们与列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函数 。

独特的计数2列

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和反转标准所预防的。