我有一个excel电子表格,该表格汇总了一个数据表,当前使用Sum(countifs())函数查找列并计算满足特定条件的时间。其中两个条件是数组形式。我想将它们更改为“命名范围”并引用它们,以便我可以更轻松地维护表单。
在网上环顾四周,没有运气。尝试了Sumproduct的几个版本,但无法弄清楚。
SUM(COUNTIFS(InspectionCompany,{"Company 1","Company 2",...,"Company 8"},InspectionType,"*Part of Inspection Title*",InspectionCreatedBy,{"Name 1";...;"Name X"})))
在这种情况下,该功能可以正常工作,并且我得到了预期的结果。但是我想将Company Array和CreatedBy Array都更改为Named Ranges,所以我可以只更新一个位置而不必担心复制该功能。 我在VBA上没有太多经验,所以如果可以的话,我想避免这种情况。
答案 0 :(得分:0)
您可以使用excel中的数据透视表进行复杂的计数逻辑。数据透视表设置中有许多不同的下拉选项可用,包括不同的过滤器,分组,计数和求和选项。
答案 1 :(得分:0)
让我们说包含公司列表的范围命名为CompanyArray,而包含名称列表的范围命名为NameArray。如果CompanyArray是指单元格的水平范围,而NameArray是指单元格的垂直范围,请尝试...
=SUMPRODUCT(COUNTIFS(InspectionCompany,CompanyArray,InspectionType,"*Part of Inspection Title*",InspectionCreatedBy,NameArray))
如果CompanyArray和NameArray都引用了单元格的垂直范围,请尝试使用需要通过CONTROL + SHIFT + ENTER ...确认的以下公式...
=SUM(COUNTIFS(InspectionCompany,TRANSPOSE(CompanyArray),InspectionType,"*Part of Inspection Title*",InspectionCreatedBy,NameArray))
希望这会有所帮助!