Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.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 - Fatal编程技术网

Google sheets 一列中跨多个单元格的公式/间接问题

Google sheets 一列中跨多个单元格的公式/间接问题,google-sheets,Google Sheets,全部!我试图在我的谷歌工作表中输入一个动态工作表名称,这样我就不必为我创建的每个工作表编辑所有这些公式。我认为INDIRECT()的效果最好,但现在当我将公式向下拉到列中的其他单元格时,公式中的单元格出现了更新问题 我目前正在使用: =IF(indirect($J$1&"!$G9")=0,indirect($J$1&"!$C9"),0) 这个计算很好,但当我向下拖动公式时,它不会更新$G9和$C9单元格引用,这将迫使我向下移动数百个单元格并手动编辑它们。我肯定有更好的方法来做这

全部!我试图在我的谷歌工作表中输入一个动态工作表名称,这样我就不必为我创建的每个工作表编辑所有这些公式。我认为INDIRECT()的效果最好,但现在当我将公式向下拉到列中的其他单元格时,公式中的单元格出现了更新问题

我目前正在使用:

=IF(indirect($J$1&"!$G9")=0,indirect($J$1&"!$C9"),0)
这个计算很好,但当我向下拖动公式时,它不会更新$G9和$C9单元格引用,这将迫使我向下移动数百个单元格并手动编辑它们。我肯定有更好的方法来做这件事,但我不确定

此外,J1保留图纸的名称。在这种情况下,通过使用以下公式,J1=一月:

    function sheetName() {
  return SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName();
}
J1公式只是
=sheetName()
。这些都不确定,但以防万一…

你可以把

=IF(indirect($A$2&"!"&address(row(G3),column(G3)))>0,indirect($A$2&"!"&address(row(H3),column(H3))),0)
当你把G3和H3拉下来时,它们会变成G4和H4等

你可能想把>放在第一个间接变量之后,否则你总是得到零?如果不是,就把它改回=

你可以把

=IF(indirect($A$2&"!"&address(row(G3),column(G3)))>0,indirect($A$2&"!"&address(row(H3),column(H3))),0)
当你把G3和H3拉下来时,它们会变成G4和H4等

你可能想把>放在第一个间接变量之后,否则你总是得到零?如果不是,就把它改回=


通过将单元格引用放在四分之一中,它现在在任何引用的引号内。对于query()函数,这是一个特别明显的问题。同样,如果在图纸中插入行或列,公式将不会更新引号中的范围引用。因此,将此更改为:

=IF(indirect($J$1&"!"&cell("address",G9))=0,indirect($J$1&"!"&cell("address",G9)),0)
希望这有帮助


至于ARRAYFORMULA()要停止将其复制到下一行,您必须将公式更改为VLOOKUP()函数,因为间接()不允许使用数组。

通过将单元格引用放在四分之一中,它现在在任何引用的引号内。对于query()函数,这是一个特别明显的问题。同样,如果在图纸中插入行或列,公式将不会更新引号中的范围引用。因此,将此更改为:

=IF(indirect($J$1&"!"&cell("address",G9))=0,indirect($J$1&"!"&cell("address",G9)),0)
希望这有帮助


至于ARRAYFORMULA()要停止将其复制到下一行,您必须将公式更改为VLOOKUP()函数,因为间接()不允许使用数组。

您实际上可以使用间接公式和正确的地址用法动态执行此操作:

=arrayformula(如果(间接($J$1&“!”&地址(行(),7,4)和“:”&地址(10,7,4))=0,间接($J$1&“!”&地址(行(),3,4)和“:”&地址(10,3,4)),0))

注意,我放了一个
10
,只是为了举例,您应该用您认为将有多少行来替换它


您实际上可以通过间接公式和地址的正确用法动态执行此操作:

=arrayformula(如果(间接($J$1&“!”&地址(行(),7,4)和“:”&地址(10,7,4))=0,间接($J$1&“!”&地址(行(),3,4)和“:”&地址(10,3,4)),0))

注意,我放了一个
10
,只是为了举例,您应该用您认为将有多少行来替换它


请共享电子表格的链接,如果可能,请共享示例版本。另外,将ARRAYFORMULA()视为一种不将同一公式复制到行/列中多个单元格的方法。这不是确切的表单,因为它有很多敏感信息,但这是我与所有公式一起快速组合的表单。您能为任何具有链接的人提供查看或编辑(最好)权限吗?-我完全理解敏感数据和样本数据。我经常遇到同样的情况。很抱歉,忘记更新权限了。应立即设置。请共享到电子表格的链接,或者如果可能,共享示例版本。另外,将ARRAYFORMULA()视为一种不将同一公式复制到行/列中多个单元格的方法。这不是确切的表单,因为它有很多敏感信息,但这是我与所有公式一起快速组合的表单。您能为任何具有链接的人提供查看或编辑(最好)权限吗?-我完全理解敏感数据和样本数据。我经常遇到同样的情况。很抱歉,忘记更新权限了。现在应该设置。