【问题标题】:Add comments/description inside a formula在公式中添加注释/说明
【发布时间】:2023-02-26 00:50:40
【问题描述】:

现在我在文档中制作了另一张纸,然后在那里写下更复杂的公式,并简要描述它们的作用。这种方法的问题是正确引用每个单元格需要时间,有时甚至会造成混淆,因为您需要在公式和描述之间来回切换。

我已经尝试过使用 cmets 和 notes,但它们并不理想。可以轻松关闭评论。虽然 cmets 和 notes 对非预期用户来说都是视觉上的破坏和混淆。

那么有没有更聪明的方法在公式中添加注释/描述?

【问题讨论】:

    标签: google-sheets google-sheets-formula


    【解决方案1】:

    可以在公式中添加 cmets/描述。

    请使用以下模式之一

    • 当公式产生时文本结果使用:=YourFormula&T(N("comment"))
    • 当公式产生时数值结果使用:=YourFormula+N("comment")

    例子

    数值结果

    A B C D Lambda sums
    3 5 7 15
    4 3 5 12
    1 2 4 7
    sums 8 10 16

    对于 B 的总和,可以使用 =SUM(B1:B3)
    添加评论使用这个模式=SUM(B1:B3)+N("this is for numbers")
    即使在 LAMBDA 公式中 =BYROW(C107:F109,LAMBDA(row,SUM(row)+N("results by row")))

    文本结果

    A (dept.) B (name) just PRs
    PR John John
    HR Mary Ben
    HR Paul Tom
    PR Ben
    PR Tom

    查找公关部门名称有评论,您可以使用:

    =INDEX(FILTER(B2:B6,A2:A6="PR")&T(N("just PRs")))
    

    按照上面的方法,您还可以隐藏您的 cmets,从而不会混淆非预期用户。

    【讨论】:

    • 您提出的解决方案有效,无论单元格是否具有数字或文本结果,都使用正确的公式。 T 和 N 函数在使用中看起来非常简单,但只是为了澄清起见,使用这种方法,cmets 不会影响任何计算,并且只有在有人去检查公式本身时才会可见?
    • @Unsapiensaurus“使用这种方法,cmets 不会影响任何计算,只有在有人去检查公式本身时才会可见”.那是正确的.这意味着如果您授予任何人viewer访问权限,他们将无法查看您的“公式中的cmets”(甚至整段),仍然享受公式的结果。
    【解决方案2】:

    无法在公式中添加 cmets。使公式更具可读性的有用方法是使用 LAMBDA 命名变量并使用 ALT+ENTER 分隔表达式。例如:

    =(A1^2-A2^2)^(0.5)
    

    可以表示为:

    =LAMBDA(hyp,side1,
      (hyp^2-side1^2)^(0.5)
    )(A1,A2)
    

    或者你可以使用命名函数来做类似的事情,你也可以将一些 cmets 应用于每个变量

    【讨论】:

      【解决方案3】:

      一种选择是使用 IFERROR 函数来包含说明,以防公式中出现错误。这是一个例子:

      =IFERROR(SUM(A1:A10), "Calculate sum of values in cells A1 through A10")
      

      在此示例中,如果 SUM 函数出错,将显示说明“计算单元格 A1 到 A10 中的值的总和”而不是错误消息。

      另一种选择是使用 CONCAT 函数在公式本身中包含描述。这是一个例子:

      =SUM(A1:A10) + CONCAT("Calculate sum of values in cells A1 through A10")
      

      在此示例中,CONCAT 函数用于将说明“计算单元格 A1 到 A10 中的值的总和”添加到 SUM 函数的结果。

      请注意,这两种方法都可能影响公式的可读性,因此明智地使用它们并考虑是否值得为添加的上下文牺牲可读性是很重要的。

      【讨论】:

      • 如果我以这种方式添加 CONCAT,则会出现错误。这种使用 IFERROR 进行描述的方式是一个聪明的想法。
      【解决方案4】:

      现在我们在 Google 表格中有了 LET,我们可以使用可以在 Excel 中使用的相同技巧,我第一次看到的是在这个线程中: https://stackoverflow.com/a/67002574/18645332

      =let(
      rem,"insert comment here",
      formula_expression)
      

      详细来说,您可以在 LET(包括文本字符串)中为您想要的任何值分配一个名称,并且没有任何地方说您实际上有义务在最终公式表达式中使用这些名称......所以除了LET 在用描述性名称标记公式表达式的部分方面给您带来的好处(比 LAMBDA 更容易理解),您也可以有效地添加内联 REM 语句。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-12-01
        • 2012-12-29
        • 1970-01-01
        • 1970-01-01
        • 2011-04-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多