Excel sumif在非连续范围内

我有一组数字的配对列,每个列都与一个相邻的标记字段相关联,指示它是否属于一个组(相同的标志)。 你可以把它看作是一个有不同成本(价值)的行,并且每个都被标记,如果是应税或不标记的话。

因此,数据表中的数据如下所示:

ABCDEF --- --- --- --- --- --- 1: n1 c1 n2 c2 n3 c3 ... 2: 11 22 - 33 3: 12 22 34 - 

我为这两组数字分别命名了一个范围, “values”是定义所有具有n的列的名称,而“tags”是定义具有该条件的所有列的名称。 对于上面的例子,在名称pipe理器中,定义如下所示:

 values=A:A,C:C,E:E (and more) tags=B:B,D:D,F:F 

我可以做一个总和的价值观,它工作正常,( =总和(1:1值) ),但我也想做一个总和只有非标签值,这似乎更难。 从概念上讲,我想要做这样的事情,对于只有非标记值的每一行总计:

 =SUMIF(1:1 tags, "", 1:1 values) 

但似乎sumif不会在一个命名的范围与非连续的部分工作。
一个产品变化也不起作用,这似乎是类似的原因;

 =SUMPRODUCT(--(1:1 tags=""),1:1 values) 

我怎么能最好的做到这一点?

(如果一个函数仅限于连续的命名区域,Excel将会显示出来。

试试这个数组公式:

 =SUM(IF(ISNUMBER(A2:F3),A2:F3,0)*(LEFT(A1:F1,1)="n")*(B2:G3="")) 

诀窍是将0填入标签列中的二维数组A2:F3,然后将结果数组乘以相同的数组,将标签列中的空单元格replace为1。 因此,在标签单元格为空的情况下,对应的值单元格将被乘以1并添加到总数中。

在这里输入图像说明

你可以把c1保留在n1之上,避免这一切。

 c1 c2 c3 n1 n2 n3 11 22 33 

有什么阻止你这样做。

在你的评论

您可以保持原样

我已经将范围A1:J1命名为A,将A2:J2命名为B

单元格A1包含公式= B2,我将select如图所示的A1:B1,并复制到范围A的末尾(这将重复公式的模式和空单元格)

这工作。 你需要做的100或1000行的艰苦工作是将A1:B1范围复制到命名范围的末尾。 (复制这两个单元格后,你可以去结束,按Ctrl + Shift +左键,然后粘贴)

在这里输入图像描述