使用间接单元格引用来计算范围中的唯一值
嗨,我试图计算一个范围内的唯一的产品代码的数量应用使用一个标准。
迄今为止的公式是:
=COUNTIFS(INDIRECT("'" & B7 & "'!" & B8 & ":" & B9),"*Germany*",INDIRECT("'" & O7 & "'!" & O8 & ":" & O9),"criteria for counting unique values")
我不明白如何采用我在网上看到的使用我正在使用的INDIRECT
范围参考的公式。
需要计数的唯一值的范围是包含字母和数字字符的产品代码,单元格types是文本。
有人可以帮我理解我需要添加到我的公式吗?
谢谢。
如果没有空白,你可以尝试:
=SUMPRODUCT((INDIRECT("'"&B7&"'!"&B8&":"&B9)="Germany")/COUNTIFS(INDIRECT("'"&O7&"'!"&O8&":"&O9),INDIRECT("'"&O7&"'!"&O8&":"&O9),INDIRECT("'"&B7&"'!"&B8&":"&B9),INDIRECT("'"&B7&"'!"&B8&":"&B9)))
这假定你的INDIRECT
正确地parsing到你想要的地址:
- B7:第一范围的图纸名称
- B8:开始第一个范围的单元格
- B9:第一个范围的结束单元格
- O7:第二范围的图纸名称
- O8:开始第二个范围的单元格
- O9:第二个范围的结束单元格
这是做这件事的另一种方式 – 改编自Barry Houdini的回答 , 另见
=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))
你可以添加一个空白单元格的testing,如果你想
=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 Enter进行input