简体   繁体   English

Excel计算范围内是否唯一

[英]Excel count unique in range if

What formula can be used to count unique values in column A if Column B is a value. 如果B列是一个值,可以使用什么公式来计算A列中的唯一值。 i have seen many online but none of them seem to work when only using Column ranges , the data will be of varied length so only column ref can be used 我在网上看到了很多,但是当仅使用Column range时,它们似乎都不起作用,数据的长度是可变的,因此只能使用column ref

this worked 这工作

=SUMPRODUCT((A1:A18<>"")*(B1:B18=$D$1)/COUNTIF(A1:A18,A1:A18))

but not when changed to 但更改为

=SUMPRODUCT((A:A<>"")*(B:B=$D$1)/COUNTIF(A:A,A:A))

table

  A           B         C         D          E
12/12/2015  criteria1           criteria1      3
12/12/2015  criteria1           
13/12/2015  criteria1           
13/12/2015  criteria1           
14/12/2015  criteria1           
14/12/2015  criteria1           
18/12/2015  criteria2           
19/12/2015  criteria2           
20/12/2015  criteria2           
21/12/2015  criteria2           
22/12/2015  criteria2           
23/12/2015  criteria2           
24/12/2015  criteria3           
25/12/2015  criteria3           
26/12/2015  criteria3           
27/12/2015  criteria3           
28/12/2015  criteria3           
29/12/2015  criteria3       

I Have also tried sumproduct with frequency but always got N/A 我也尝试过用频率求和,但总是不适用

If your data are in A1:B18 , and criteria1 is in C1 , try: 如果您的数据在A1:B18 ,而criteria1C1 ,请尝试:

{=SUM(IF(FREQUENCY(IF(A1:A18<>"", IF(B1:B18=C1, MATCH(A1:A18, A1:A18, 0))), ROW(A1:A18)-ROW(A1)+1), 1))}

Expanded: 展开:

{=SUM(
    IF(
        FREQUENCY(
            IF(A1:A18<>"", 
                IF(B1:B18=C1, 
                    MATCH(A1:A18, A1:A18, 0)
                )
            ), 
            ROW(A1:A18)-ROW(A1)+1
        ), 
    1)
)}

Enter as an array formula with Ctrl Shift Enter 使用Ctrl Shift 输入为数组公式

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM