【问题标题】:Set column default value in Google Sheets在 Google 表格中设置列默认值
【发布时间】:2017-11-14 19:42:30
【问题描述】:

我有一个财务跟踪工作表,其中每一行都有许多公式。我想补充的是,每当插入新行时都会复制这些公式(用“默认值”填充它)。

添加行之前的工作表:

添加行后的工作表:

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

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

【问题讨论】:

    标签: date if-statement google-sheets google-sheets-formula array-formulas


    【解决方案1】:

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

    【讨论】:

    • 这是一个更好的方法 - 谢谢马克!正确答案切换到这个。
    【解决方案2】:

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

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

    我将此函数设置为在编辑工作表时在触发器上运行。行号会自行增加,所以那里也没有问题。

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 2019-12-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-12-06
        • 2016-09-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多