计算范围内的唯一非空条目

use*_*819 1 excel vba unique nonblank excel-formula

我在Excel中有这样的数据:

Person1    A    A    B    A         C    3
Person2                                  0
Person3    A    B    C    D    E    F    6
Person4              A    A    A         1
Run Code Online (Sandbox Code Playgroud)

我试图找到一个公式,复制每行的最后一个单元格中的数字,与该人相关的唯一元素的数量,不包括空格.所以例如Person1有3个,因为有A,B和C,即使有三个A. 列数固定/每个人都相同.值A,B,C等是字符串(与数字相对).

可以使用公式来完成吗?

tig*_*tar 6

这应该适合你:

=SUMPRODUCT((B1:G1<>"")/COUNTIF(B1:G1,B1:G1&""))
Run Code Online (Sandbox Code Playgroud)

  • @ user51819分子`(B1:G1 <>"")`取每个单元格并检查它是否为空白,如果它是空白则不通过检查并计为0,否则为1.然后分母得到总计数范围内的每个元素.然后,除法对每个元素应用1/Count,这样如果你有一个元素中的3个则变为1/3 + 1/3 + 1/3.例如,在样本线1上,细分为:1/3 + 1/3 + 1/1 + 1/3 + 0/1 + 1/1 = 0.333 + 0.333 + 1 + 0.333 + 0 + 1 = 3 (3认同)
  • 出于这个原因,我更喜欢用 FREQUENCIES 来做这些,但 COUNTIF 确实工作得非常好:-) (2认同)
  • 频率我的意思是 (2认同)