如何在单独的选项卡上插入行并保留公式列?

时间:2018-05-18 00:41:29

标签: google-apps-script google-sheets

我们说我有一个Google电子表格,其中包含数据表和预览表。

预览有一列,它是一个复杂的连接公式,它使用Data中相应行中的字段从模板构建文本。公式将在列中向下复制,并正确对应于数据表中的右侧行。因此,对于每一行数据,都会生成预览中的一行。

到目前为止一切顺利。

但是如果我在Data中插入一个新行,Previews中的公式会向下移动一行,其中Data中的插入行开始。

IE,如果我在数据中插入一行3以上(使3成为4),预览中的行,

=Concatenate(Data!A1, Data!B1, Data!C1)
=Concatenate(Data!A2, Data!B2, Data!C2)
=Concatenate(Data!A3, Data!B3, Data!C3)

成为,

=Concatenate(Data!A1, Data!B1, Data!C1)
=Concatenate(Data!A2, Data!B2, Data!C2)
=Concatenate(Data!A4, Data!B4, Data!C4)

(还有更多内容,例如字符串中的空格以及模板表中对模板单元格的绝对引用。但这基本上就是发生的事情。)

如果我将公式设为绝对公式,则无法将其复制下来。但是如果它可以被复制下来,那么当新行插入数据时它就会移动。

我可以使用可安装的触发器修复它(通过在预览中插入相应的行并将公式复制到它。)但我想知道它是否可以使用公式。

我是一名自由职业者,为客户设置此表,因此必须自动完成,而无需教他们。

1 个答案:

答案 0 :(得分:0)

您可以尝试使用数组公式。这些消除了在插入新行时拖下来并且不会引起问题的需要。

=Arrayformula(Data!A1:A&Data!B1:B&Data!C1:C)

(改变范围以适应)