在 Google 个工作表中设置列默认值

Set column default value in Google Sheets

我有一个财务跟踪工作表,每一行都有许多公式。我想添加的是在插入新行时复制这些公式(用 "default value" 填充)。

Sheet 添加行之前:

Sheet 添加行后:

我希望其中一些单元格(在本例中为 B28)包含一个公式。对于这一行,公式为:

=IF(ISBLANK(C27), "", CONCATENATE(YEAR(C27), "-", MONTH(C27)))

因为所有行的公式都相同,所以我添加了一个函数来执行以下操作:

function addRow() {
  SpreadsheetApp.getActiveSheet().getRange('B7:B').setValue('=IF(ISBLANK(C7), "", CONCATENATE(YEAR(C7), "-", MONTH(C7)))');
}

每当编辑 sheet 时,我都会在触发器上将此功能设置为 运行。行号自行递增,所以也没有问题。

使用这个 SO 问题寻求帮助:Default cell values when Inserting new row in Google Sheets

您可能需要考虑一个 ArrayFormula。 Here's a place 获取详细信息。在您的情况下,最大的技巧是知道您可以使用 C1:C 之类的符号 运行 通过所有 C 列的公式。这样做比将它埋在 Google 函数中更能自我记录,而且更通用。

删除 B 列中的所有内容并将其粘贴到 B1 单元格中:

={"Date", ARRAYFORMULA(IF(C2:C<>"", YEAR(C2:C)&"-"&MONTH(C2:C)))}