2012-01-13 56 views
1

我对Excel很新颖。以下是代码有多个标准的Excel DSUM

=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,数据源。
  2. 表上的名字片:
    • Column A:的标准地址范围,存储为在细胞中串
    • Column B:的名称来查找

可以查找在小区Names表并将其取消引用以获取标准范围的地址。


首先,这是很好的摆脱内间接/地址对的,不要求:

=DSUM(Table_1,"column1",INDIRECT(INDEX(Names!A:A,MATCH($C9,Names!B:B,0),1))) 

(只是为了它的缘故,这是更具可读性和更快以执行)。


现在,问题。
您必须将条件添加到由INDEX返回的单元格指向的单元格区域。您必须添加一列,提供新的条件,并修改已存储的参考,以使其指向新的扩展范围。

通过使用范围联合运算符,您不能只添加到该条件范围。不幸的是,D*功能集要求条件范围是单个区域。