在Google工作表中连接不同于sumif的不同工作表的范围

时间:2016-10-05 13:44:48

标签: google-sheets stylesheet google-spreadsheet-api

背景

我正在一张纸上写一个脚本,它依赖于另一张纸的范围。例如,使用SUMIF

,此行可以正常运行
=sumif(accounting!$D$3:$D$200,A2, accounting!$C$3:$C$200)

问题

当我尝试添加由子范围组成的范围时(根据说明here):

  

您可以使用相同的方法将多个范围连接到一个连续范围   标点。例如,将A1-A10的值与   从D1-D10开始,您可以使用以下公式创建一个   连续列中的范围:= {A1:A10; D1:D10}

像这样:

=sumif({accounting!D3:D6;accounting!D10:D16;accounting!D27:D28},
        A2, 
       {accounting!C3:C6;accounting!C10:C16;accounting!C27:C28})

它给了我以下错误

  

参数必须是范围

注释

请记住这项工作

=sumif({accounting!D3:D6;accounting!D10:D16;accounting!D27:D28},
        A2,
        accounting!C3:C6)

似乎只有当我向第三个参数添加一个范围时,事情就会爆炸......想法?

1 个答案:

答案 0 :(得分:2)

此公式的默认设置sumif is a range的第三个参数。没有办法将它与数组一起使用。

您可以使用sum + filter

=round(sum(filter({accounting!C3:C6;accounting!C10:C16;accounting!C27:C28},
{accounting!D3:D6;accounting!D10:D16;accounting!D27:D28}=A2)), 1) 

不确定Excel,这仅适用于Google Spreadsheets。这是sample sheet