通常,您可以使用 COUNTIFS 函数在 Excel 中使用 AND 逻辑根据一个或多个条件对单元格进行计数。 您是否遇到过需要从单列或一系列单元格中计算多个值的情况? 这意味着使用多个条件和 OR 逻辑进行计数。 在这种情况下,您可以同时应用 SUM 和 COUNTIFS 函数,或使用 SUMPRODUCT 函数。
例如,我有一系列数据,如下图所示,现在,我想计算“铅笔”或“标尺”产品的数量,在这里,我将讨论在 Excel 中解决此任务的两个公式。
在 Excel 中,要使用多个 OR 条件进行计数,可以将 SUM 和 COUNTIFS 函数与数组常量一起使用,通用语法为:
=SUM(COUNTIF(range, {criterion1, criterion2, criterion3, …}))
range:数据范围包含您计算单元格的条件;
criterion1, criterion2, criterion3…:您要根据的条件对细胞进行计数。
要计算“铅笔”或“标尺”的产品数量,请将以下公式复制或输入到空白单元格中,然后按 输入 获得结果的关键:
=SUM(COUNTIFS(B2:B13,{"Pencil","Ruler"}))
=SUM(COUNTIFS(B2:B13,{"铅笔","标尺"}))
{"铅笔","标尺"}: 首先,您应该像这样将所有条件打包在一个数组常量中:{"Pencil","Ruler"},用逗号分隔各项。
COUNTIFS(B2:B13,{"铅笔","标尺"}):这个 COUNTIFS 函数将获得“Pencil”和“Ruler”的单独计数,您将得到如下结果:{2,3}。
SUM(COUNTIFS(B2:B13,{"铅笔","标尺"}))=SUM({2,3}):最后,这个 SUM 函数对数组中的所有项求和并返回结果:5。
小贴士: 您也可以使用单元格引用作为条件,请应用以下数组公式,然后按 Ctrl + Shift + Enter 键一起得到正确的结果:
=SUM(COUNTIF(B2:B13,D2:D3))
这是由 SUMPRODUCT 函数创建的另一个公式,它也可以帮助使用 OR 逻辑对单元格进行计数。 通用语法是:
=SUMPRODUCT(1*(range ={criterion1, criterion2, criterion3, …}))
range:数据范围包含您计算单元格的条件;
criterion1, criterion2, criterion3…:您要根据的条件对细胞进行计数。
请将以下公式复制或输入到空白单元格中,然后按 输入 返回结果的键:
=SUMPRODUCT(1*(B2:B13={"Pencil","Ruler"}))
=SUMPRODUCT(1*(B2:B13={"铅笔","标尺"}))
B2:B13={"铅笔","标尺"}:此表达式将每个标准“铅笔”、“标尺”与范围单元格 B2:B13 进行比较。 如果满足条件,则返回 TRUE,否则将显示 FALSE,您将得到如下结果:{TRUE,FALSE;FALSE,FALSE;FALSE,FALSE;FALSE,TRUE;FALSE,FALSE;TRUE,FALSE ;假,假;假,真;假,假;假,假;假,真;假,假}。
1*(B2:B13={"铅笔","标尺"}): 乘法将逻辑值 - TRUE 和 FALSE 转换为 1 和 0,因此会得到如下结果:{1,0;0,0;0,0;0,1;0,0;1,0;0,0 ,0,1;0,0;0,0;0,1;0,0;XNUMX}。
SUMPRODUCT(1*(B2:B13={"Pencil","Ruler"}))= SUMPRODUCT({1,0;0,0;0,0;0,1;0,0;1,0;0,0;0,1;0,0;0,0;0,1;0,0}):最后,SUMPRODUCT 函数将数组中的所有数字相加得到结果:5。
有时,您可能需要使用两组或更多组 OR 条件对单元格进行计数,在这种情况下,您可以将 SUM 和 COUNTIFS 与数组常量一起使用,或者将 SUMPRODUCT 与 ISNUMBER MATCH 函数一起使用。
为了只处理两组 OR 条件,您只需要在 COUNTIFS 公式中添加另一个数组常量。
例如,我有如下屏幕截图所示的数据范围,现在,我想计算订购“铅笔”或“标尺”的人数,并且数量为<100 或 >200。
请输入或复制以下公式到单元格中,然后按 输入 获得结果的关键,请参见屏幕截图:
=SUM(COUNTIFS(B2:B13,{"Pencil","Ruler"},C2:C13,{"<100";">200"}))
备注: 在公式中,您应该对第二个数组常量使用分号,这将创建一个垂直数组。
上述公式仅适用于两组 OR 条件,如果您需要计算更多条件,复杂的 SUMPRODUCT 公式和 ISNUMBER MATCH 函数可以帮助您。
以以下数据为例,要计算订购“Pencil”或“Ruler”且状态为“Delivered”或“In transport”并由“Bob”或“Eko”签名的人数,您应该应用一个复杂的公式.
请将以下公式复制或输入到空白单元格中,然后按 输入 得到计算的关键,看截图:
=SUMPRODUCT(ISNUMBER(MATCH(B2:B13,{"Pencil","Ruler"},0))*ISNUMBER(MATCH(C2:C13,{"Delivered","In transit"},0))*ISNUMBER(MATCH(D2:D13,{"Bob","Eko"},0)))
=SUMPRODUCT(ISNUMBER(MATCH(B2:B13,{"Pencil","Ruler"},0))*ISNUMBER(MATCH(C2:C13,{"Delivered","In transit"},0))*ISNUMBER(MATCH(D2:D13,{"Bob","Eko"},0)))
ISNUMBER(匹配(B2:B13,{“铅笔”,“标尺”},0)):
匹配(B2:B13,{“铅笔”,“标尺”},0):这个 MATCH 函数用于将范围 B2:B13 中的每个单元格与相应的数组常量进行比较。 如果找到匹配项,则返回该值在数组中的相对位置,否则显示错误值。 所以,你会得到这样的数组列表:{1;#N/A;#N/A;2;#N/A;1;#N/A;2;1;#N/A;2;#不适用}。
ISNUMBER(MATCH(B2:B13,{"Pencil","Ruler"},0))= ISNUMBER({1;#N/A;#N/A;2;#N/A;1;#N/A;2;1;#N/A;2;#N/A}):ISNUMBER 函数将数字转换为 TRUE,将错误值转换为 FALSE,如下所示:{TRUE;FALSE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE;TRUE;FALSE;TRUE;FALSE}。
上述逻辑也可以应用于第二个和第三个 ISNUMBER 表达式。
SUMPRODUCT(ISNUMBER(MATCH(B2:B13,{"Pencil","Ruler"},0))*ISNUMBER(MATCH(C2:C13,{"Delivered","In transit"},0))*ISNUMBER(MATCH(D2:D13,{"Bob","Eko"},0))):
然后,这三个数组在 SUMPRODUCT 中相乘,作为数学运算的一部分,它自动将 TRUE 和 FALSE 值转换为 1 和 0,如下所示: SUMPRODUCT({1;0;0;1;0;1;0;1; 1;0;1;0}*{1;1;0;0;1;1;0;1;1;0;1;1} *{1;0;0;0;0;0;0; 1;0;0;1;0})=SUMPRODUCT({1;0;0;0;0;0;0;1;0;0;1;0})。
最后,SUMPRODUCT 函数将数组中的所有数字相加得到结果:3。
和:
Excel SUM 函数返回提供的值的总和。
计数:
COUNTIF函数是Excel中的统计函数,用于计算符合条件的单元格数。
总和:
SUMPRODUCT函数可用于将两个或多个列或数组相乘,然后获得乘积之和。
编号:
Excel ISNUMBER 函数在单元格包含数字时返回 TRUE,否则返回 FALSE。
匹配:
Microsoft Excel MATCH函数在一系列单元格中搜索特定值,然后返回该值的相对位置。
联系客服