如何计算Excel中的唯一值:带标准,忽略空白处

  • Share This
Michael Brown

本教程探讨了如何利用新的动态数组函数来计算Excel中的唯一值:用公式来计算一列中的唯一条目,有多个标准,忽略空白,等等。

几年前,我们讨论了在Excel中计算唯一的和不同的值的各种方法。 但像其他软件程序一样,Microsoft Excel不断发展,几乎每个版本都有新的功能出现。 今天,我们将看看如何用最近推出的动态数组函数来计算Excel中的唯一值。 如果你还没有使用这些函数,你可以你会惊奇地发现,在建造和使用方便方面,公式变得如此简单。

注意:本教程中讨论的所有公式都依赖于UNIQUE函数,该函数仅在Excel 365和Excel 2021中可用。 如果你使用的是Excel 2019、Excel 2016或更早的版本,请查看本文以了解解决方案。

    计算列中的唯一值

    计算一列中唯一值的最简单方法是使用UNIQUE函数和COUNTA函数。

    COUNTA(UNIQUE( 范围 ))

    这个公式的工作原理很简单:UNIQUE返回一个唯一条目的数组,COUNTA计算数组中的所有元素。

    作为一个例子,让我们计算B2:B10范围内的唯一名字。

    =counta(unique(b2:b10))

    该公式告诉我们,在获奖者名单中有5个不同的名字。

    提示:在这个例子中,我们计算唯一的文本值,但你也可以对其他数据类型使用这个公式,包括数字、日期、时间等。

    计算只出现一次的唯一值

    在上一个例子中,我们计算了一列中所有不同的(独特的)条目。 这一次,我们想知道有多少条独特的记录在 只发生一次 要做到这一点,请以这种方式建立你的公式。

    要获得一次性出现的列表,将UNIQUE的第三个参数设置为TRUE。

    unique(b2:b10,,true))

    为了计算唯一的一次性出现,在ROW函数中嵌套UNIQUE。

    rows(unique(b2:b10,,true))

    请注意,COUNTA在这种情况下不会起作用,因为它计算所有非空白单元格,包括错误值。 因此,如果没有找到结果,UNIQUE将返回一个错误,而COUNTA将把它算作1,这是错误的!

    为了处理可能的错误,将IFERROR函数包在你的公式中,并指示它在发生任何错误时输出0。

    =iferror(rows(unique(b2:b10,,true)), 0)

    结果,你得到一个基于数据库唯一概念的计数。

    计算Excel中唯一的行数

    现在你知道了如何计算一列中的唯一单元格,有什么办法可以找到唯一行的数量?

    解决办法是这样的。

    ROWS(UNIQUE( 范围 ))

    诀窍是将整个范围 "喂 "给UNIQUE,这样它就能找到多列中的唯一值组合。 之后,你只需将公式放在ROWS函数中计算行数即可。

    例如,要计算A2:C10范围内的唯一行,我们使用这个公式。

    =rows(unique(a2:c10))

    计算唯一条目,忽略空白单元格

    要在Excel中计算忽略空白的唯一值,可以使用FILTER函数来过滤掉空单元格,然后在已经熟悉的COUNTA UNIQUE公式中进行扭曲。

    counta(unique(filter( 范围 , 范围 "")))

    在B2:B11的源数据中,公式采用这种形式。

    =counta(unique(filter(b2:b11, b2:b11""))

    下面的屏幕截图显示了结果。

    计算有标准的唯一值

    为了根据某些标准提取唯一的值,你再次使用UNIQUE和FILTER函数,如本例所解释的那样。 然后,你使用ROWS函数来计算唯一的条目,使用IFERROR来捕获各种错误并将其替换为0。

    iferror(rows(unique( 范围 , 标准_范围 标准 ))), 0)

    例如,要想知道某项运动有多少个不同的赢家,请使用这个公式。

    =iferror(rows(unique(filter(a2:a10,b2:b10=e1)), 0)

    其中A2:A10是一个范围,用于搜索唯一的名字( 范围 ),B2:B10是获胜者参加的运动( 标准_范围 ),而E1是感兴趣的运动( 标准 ).

    计算具有多个标准的唯一值

    基于多个标准计算唯一值的公式与上面的例子基本相似,尽管标准的构建方式有些不同。

    iferror(rows(unique( 范围 , ( 标准_范围1 标准1 ) * ( 标准_范围2 标准2 )))), 0)

    那些好奇地想知道内部机制的人,可以在这里找到公式逻辑的解释:根据多个标准寻找独特的值。

    在这个例子中,我们要找出在F1的某项运动中,有多少个不同的冠军( 标准1 )和F2中的年龄以下( 标准2 为此,我们使用这个公式。

    =iferror(rows(unique(filter(a2:a10, (b2:b10=f1) * (c2:c10)

    其中A2:B10是名字的列表( 范围 ),C2:C10为运动( 标准_范围 1 ),D2:D10为年龄( 标准_范围 2 ).

    这就是在Excel中用新的动态数组函数计算唯一值的方法。 我相信你会欣赏所有的解决方案变得如此简单。 无论如何,感谢你的阅读,并希望下周在我们的博客上看到你!

    供下载的实践工作手册

    计数唯一值公式示例(.xlsx文件)。

    Michael Brown is a dedicated technology enthusiast with a passion for simplifying complex processes using software tools. With more than a decade of experience in the tech industry, he has honed his skills in Microsoft Excel and Outlook, as well as Google Sheets and Docs. Michael's blog is dedicated to sharing his knowledge and expertise with others, providing easy-to-follow tips and tutorials for improving productivity and efficiency. Whether you're a seasoned professional or a beginner, Michael's blog offers valuable insights and practical advice for getting the most out of these essential software tools.