Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google sheets 改进电子表格公式,使其更具动态性_Google Sheets_Spreadsheet - Fatal编程技术网

Google sheets 改进电子表格公式,使其更具动态性

Google sheets 改进电子表格公式,使其更具动态性,google-sheets,spreadsheet,Google Sheets,Spreadsheet,我有两张表,我想过滤它们的值并将它们相加。我有一个工作职能: =SUM(INDEX(Grades!M32:V32,0,B2)+INDEX(Grades!M32:V32,0,C2)+INDEX(Grades!M32:V32,0,D2)+INDEX(Grades!M32:V32,0,E2)+INDEX(Grades!M32:V32,0,F2)+INDEX(Grades!M32:V32,0,G2)) 这很好用。问题是它不是真正动态的,我想知道是否有一种更有效的方法来代替使用这么多索引 索引是从另一张

我有两张表,我想过滤它们的值并将它们相加。我有一个工作职能:

=SUM(INDEX(Grades!M32:V32,0,B2)+INDEX(Grades!M32:V32,0,C2)+INDEX(Grades!M32:V32,0,D2)+INDEX(Grades!M32:V32,0,E2)+INDEX(Grades!M32:V32,0,F2)+INDEX(Grades!M32:V32,0,G2))
这很好用。问题是它不是真正动态的,我想知道是否有一种更有效的方法来代替使用这么多索引

索引是从另一张表中获取水平范围的数字,并从另一张表中的小表中获取所需的索引位置

使现代化 我可以通过插入一个IF语句来得到我想要的公式,如果其中一个单元格为空,该语句将不会执行VLOOKUP

=ArrayFormula(SUM(IF(B2:I2 <> "",VLOOKUP(1,{1,Grades!$M$32:$V$32},B2:I2+1))))

这看起来有点奇怪,但这是一种方式:

=ArrayFormulaSUMVLOOKUP1,{1,Grades!M32:V32},B2:G2+1,0

在VLOOKUP中,1是您正在搜索的值,{1,Grades!M32:V32}是您正在搜索的数组,B2:G2+1是列索引,或者更确切地说,是您希望返回的索引,0指示您需要精确匹配

{1,Grades!M32:V32}构造了一个水平的单行数组,该数组的最左侧元素中有1,值以Grades为单位!M32:V32在它的右边

VLOOKUP将搜索该数组最左边的列。它总是会在最左边的列中找到它正在搜索的1,因为我们特意制造了它


在第三个参数中,实际发生的操作是,我们返回与我应该添加的B2:G2中的值对应的制造数组中的列,我假设B2:G2中的所有单元格都已填充-如果任何单元格为空,它将返回错误的结果。+1是用来解释额外的元素,我们在查找数组的左侧加上了1。

您好,谢谢您的回答。看起来这可能是我正在寻找的方向。不幸的是,它返回了错误的求和结果。你能告诉我在VLOOKUP发生了什么吗?为什么搜索键是1,什么类型的范围是{1,Grades!M32:V32},B2:G2+1,0是索引?如果你能帮我把这件事说出来就好了。谢谢在玩了一会儿之后,我终于得到了正确的答案=ArrayFormulaSUMVLOOKUP1,{0,B11:K11},B2:G2+1'仍然不确定它为什么工作。如果可以的话,向前看一看步行街!后期编辑。不太清楚它为什么不起作用。B2:G2中的所有单元格都有值吗?可以进行解决方法请参见编辑。奇怪的是,如果一个单元格是空的,甚至是0,那么它似乎会使最终的总和每空/0行增加一个。再次感谢你的帮助!