Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 计算一列中唯一值的数量,仅当另一列中的值大于0时才添加_Excel_Excel Formula - Fatal编程技术网

Excel 计算一列中唯一值的数量,仅当另一列中的值大于0时才添加

Excel 计算一列中唯一值的数量,仅当另一列中的值大于0时才添加,excel,excel-formula,Excel,Excel Formula,考虑下表: 我希望计算唯一项目发生的数量,但仅在项目数量大于0时添加 所以在这种情况下,公式应该返回B,C和D=3 在另一个示例中,B的数量已更改,但结果仍应为3,因为我只希望对“Item”列中的唯一值求和 我试图摆弄这个公式,但不知道如何添加“数量>0”条件: =SUMPRODUCT((A1:A7<>"")/COUNTIF(A1:A7;A1:A7&"")) =SUMPRODUCT((A1:A7“”)/COUNTIF(A1:A7;A1:A7&“”) 这将返回唯一值的数

考虑下表:

我希望计算唯一项目发生的数量,但仅在项目数量大于0时添加

所以在这种情况下,公式应该返回B,C和D=3

在另一个示例中,B的数量已更改,但结果仍应为3,因为我只希望对“Item”列中的唯一值求和

我试图摆弄这个公式,但不知道如何添加“数量>0”条件:

=SUMPRODUCT((A1:A7<>"")/COUNTIF(A1:A7;A1:A7&""))
=SUMPRODUCT((A1:A7“”)/COUNTIF(A1:A7;A1:A7&“”)
这将返回唯一值的数量,而不考虑数量

如果没有VBA,我的目标可能实现吗

注意: 表格在某些数量单元格中有空白值和文本值。公式应忽略这些行

=SUM(IF(FREQUENCY(IF(LEN(IF(IF(ISNUMBER(Quantity),Quantity,0)>0,Item,""))>0,MATCH(Item,Item,0)),
IF(LEN(IF(IF(ISNUMBER(Quantity),Quantity,0)>0,Item,""))>0,MATCH(Item,Item,0),""))>0,1))
这是一个数组公式,因此应在按住Ctrl+Shift键的同时按Enter键进行确认


应处理B列中的空格和文本。

此公式应有效,即使数量列中有文本或空格

=总和(IF(频率)(IF(数量)*(数量>0),匹配(项目,项目,0)),行(项目)-MIN(行(项目))+1),1))

按CTRL+SHIFT+ENTER键确认