Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.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工作表中批量编辑公式?_Google Sheets_Edit_Google Sheets Formula_Array Formulas - Fatal编程技术网

Google sheets 是否可以在Google工作表中批量编辑公式?

Google sheets 是否可以在Google工作表中批量编辑公式?,google-sheets,edit,google-sheets-formula,array-formulas,Google Sheets,Edit,Google Sheets Formula,Array Formulas,有没有一种方法可以加速在同一个谷歌工作表的多个选项卡上编辑数百行公式 这是以下问题:;也就是说,每当谷歌表单的新提交在谷歌表单中添加新行时,一些公式会更改其引用,即使它们是用$固定的(仍然不知道为什么会发生这种情况)。解决方案是在公式中添加间接。但是,公式太多,无法轻松地手动更改 例如,我有如下公式: =COUNTIFS('Resp'!$AM$56:$AM,"Conf",'Resp'!$B56:$B,"PC Arr") 它需要改为: =COUNTIFS(INDIRECT("R

有没有一种方法可以加速在同一个谷歌工作表的多个选项卡上编辑数百行公式

这是以下问题:;也就是说,每当谷歌表单的新提交在谷歌表单中添加新行时,一些公式会更改其引用,即使它们是用
$
固定的(仍然不知道为什么会发生这种情况)。解决方案是在公式中添加
间接
。但是,公式太多,无法轻松地手动更改

例如,我有如下公式:

   =COUNTIFS('Resp'!$AM$56:$AM,"Conf",'Resp'!$B56:$B,"PC 
   Arr")
它需要改为:

  =COUNTIFS(INDIRECT("Resp!$AM$2:$AM"),"Conf",indirect("Resp!$B2:$B"),"PC 
   Arr")
搜索和替换不起作用,因为公式的编写方式不同,而且公式和引用列的类型也多种多样(尽管引用必须从56更改为2)
并且中间的“
”需要消失


有没有办法加快这些更改的速度,或者这是不可避免的手工劳动?

您可能可以编写一个正则表达式来完成此操作,但请思考如何知道要更改哪些,以及如何创建一个模式来告诉计算机要更改什么和要更改什么。如果可以的话,您也可以编写一个脚本(可以在工具部分找到)。

在Google工作表中批量更改公式的唯一方法是通过
CTRL
+
H
这样做:


我找到了一种机械方法来减少修改许多不同公式所需的工作量,但让我先从一般情况开始

选项1-用于相同公式重复时

如果到处重复相同的公式,则搜索和替换(Ctrl+H)效果良好。在这种情况下,可以进行大规模更改,或者一次更改,然后根据需要进行拖动

然而

选项2-当您有几十个公式可能只是略有不同或太相似时,“搜索并替换”(Ctrl+H)将不起作用

更重要的是,如果它的差异如此之大,以至于您无法拖动公式(例如引用更改为新列并在此基础上编写不同的文本),那么不幸的是,您需要手动更改内容

我用来减少工作量的解决方案是使用可编程键盘(在我的例子中,可编程+多媒体键盘-Steren COM-6490,最多15个宏)。
我用它写下:
间接(“
”)
$2
主要,然后是文本的所有其他主要部分,引用或公式,每个只需一个键就可以重复。在另一张纸上复制当前公式并将其打开,以便复制粘贴内容以补充公式也有帮助

如果您不介意使用Google Apps脚本,可以使用
getFormula()
将公式提取为字符串,然后对其进行更改。