使用间接单元格引用计算范围中的唯一值

时间:2017-03-10 11:33:10

标签: excel count unique excel-indirect

您好我正在尝试计算一个范围内使用一个标准的唯一产品代码的数量。

目前的公式是:

 =COUNTIFS(INDIRECT("'" & B7 & "'!" & B8 & ":" & B9),"*Germany*",INDIRECT("'" & O7 & "'!" & O8 & ":" & O9),"criteria for counting unique values")

我不明白如何采用我在网上看到的公式来使用我正在使用的INDIRECT范围参考。

需要计算的唯一值范围是包含字母和数字字符的产品代码,单元格类型为文本。

有人可以帮我理解我需要添加到配方中的内容吗?

感谢。

2 个答案:

答案 0 :(得分:1)

如果没有空格,您可以尝试:

=SUMPRODUCT((INDIRECT("'"&B7&"'!"&B8&":"&B9)="Germany")/COUNTIFS(INDIRECT("'"&O7&"'!"&O8&":"&O9),INDIRECT("'"&O7&"'!"&O8&":"&O9),INDIRECT("'"&B7&"'!"&B8&":"&B9),INDIRECT("'"&B7&"'!"&B8&":"&B9)))

这假设您的INDIRECT正确解析为您想要的地址:

  • B7:第一个范围的工作表名称
  • B8:启动第一个范围的单元格
  • B9:第一范围的结束细胞
  • O7:第二范围的工作表名称
  • O8:启动第二范围的单元格
  • O9:第二范围的结束单元

答案 1 :(得分:0)

这是另一种方法 - 改编自Barry Houdini's answersee also

=SUM(IF(FREQUENCY(IF(INDIRECT("'"&B7&"'!"&B8&":"&B9)="Germany",MATCH(INDIRECT("'"&O7&"'!"&O8&":"&O9),INDIRECT("'"&O7&"'!"&O8&":"&O9),0)),ROW(INDIRECT(O8&":"&O9)))>0,1))

如果您想

,可以为空白单元格添加测试
=SUM(IF(FREQUENCY(IF(INDIRECT("'"&B7&"'!"&B8&":"&B9)="Germany",IF(INDIRECT("'"&O7&"'!"&O8&":"&O9)<>"",MATCH(INDIRECT("'"&O7&"'!"&O8&":"&O9),INDIRECT("'"&O7&"'!"&O8&":"&O9),0))),ROW(INDIRECT(O8&":"&O9)))>0,1))

是数组公式,必须使用 Ctrl Shift 输入