我对Excel很陌生。这是代码
=DSUM(Table_1,"column1",INDIRECT(INDIRECT(ADDRESS(MATCH($C9,Names!B:B,0), 1, 1, , "Names"))))
它将Table_1中column1的所有值与匹配条件相加。但是,如果我想在DSUM中添加另一个标准,例如Table1_column_amount = 1,那么我怎么可能这样做呢?
任何帮助将不胜感激。
答案 0 :(得分:1)
因此,在您的设置中,您有两个表:
Table_1
,数据源。Column A:
条件范围的地址,存储为单元格中的字符串Column B:
要查找的名称您在Names
表中查找单元格并取消引用它以获取条件范围的地址。
首先,摆脱内部间接/地址对是好的,不是必需的:
=DSUM(Table_1,"column1",INDIRECT(INDEX(Names!A:A,MATCH($C9,Names!B:B,0),1)))
(只是为了它,它的可读性和执行速度更快。)
现在,问题。
您必须将条件添加到从INDEX
返回的单元格指向的单元格范围。您必须为其添加一列,提供新条件,并修改存储的引用,以便指向新的扩展范围。
您不能通过使用范围union运算符来累加该条件范围。不幸的是,D*
函数集要求条件范围为单个区域。