能否在Excel公式的单元格内添加注释?我在单元格内有一个非常长的表达式,如果我可以在其中添加注释,那么它就更容易理解了。
我的Excel版本是2010。这里是我想要做注释的示例单元格:
=MID(
A4,
((FIND("n ",A4,FIND(G4,A4))+75)+LEN(H4)+78),
(FIND("n ",A4,(FIND("n ",A4,FIND(G4,A4))+75))) - ((FIND("n ",A4,FIND(G4,A4))+78))
)
能否在Excel公式的单元格内添加注释?我在单元格内有一个非常长的表达式,如果我可以在其中添加注释,那么它就更容易理解了。
我的Excel版本是2010。这里是我想要做注释的示例单元格:
=MID(
A4,
((FIND("n ",A4,FIND(G4,A4))+75)+LEN(H4)+78),
(FIND("n ",A4,(FIND("n ",A4,FIND(G4,A4))+75))) - ((FIND("n ",A4,FIND(G4,A4))+78))
)
对于Ben Rhys-Lewis在回答中提到的Tom Sharpe问题,有一个解决方案。好吧,作为Excel,可能有五六个,但是:
对于您希望添加注释的文本函数,请使用以下内容:
=CONCATENATE(IFERROR(A1/A2,""),T(N("comment")))
N()函数将返回一个“0”,而T()函数会将其转换为Excel的空白。它在公式中的作用类似于"",因为它并不会向字符串中添加任何内容,但如果您使用它粘贴值,它将不是空值...这样就产生了Excel的“空白”。
请注意,如果除法不会导致错误,它也可以与数学运算一起使用,因为虽然Excel将结果转换为文本,但在单元格中,它将其作为数字用于对该单元格的文本-数字结果进行数学运算(例如,文本“3.5”仍将添加到在另一个单元格中将“3.5”加6得到数字9.5的单元格中)。
此外,为了使注释更加突出,您可以在该部分及其注释之前和之后使用Alt-Enter来打破公式的片段。虽然不像真正的注释,但比某些可怕的混乱更加突出,足以值得做,您几乎总是可以在注释之前添加空格:
=function stuff function stuff
CONCATENATE(IFERROR(A1/A2,""), T(N("comment")))
and a bit more function stuff and more and more and so on...
=IFERROR(A1/A2,"") & T(N("comment"))
,它本质上是等效的,但看起来更干净。另一个优点(尽管这很不可能成为问题)是,CONCATENATE有255个字符长度限制,而**&**没有。 - Adi Inbar=LET(
comment, "my comment",
SUM(P4:P10))
N()注释函数不一定要是该函数的最后部分。因此,这是可行的解决方案:
=+C6+N("C6变量的描述") +C7+N("C7信息") +C8+N("C8信息")
虽然不是必需的,但为了提高可读性,我使用params来表示评论涉及多个元素。对于这个例子,第一个注释只是指“q13”单元格,而接下来的两个注释则指“(…)”之间的计算。
=+AA435 * q13+N(奖金乘数) +(c435*$d$4/a435)+N("按面积缩放的利润") +(p24*$q$5 + w12*3)+N("blah...")
我总是喜欢将长而复杂的公式分解为单个简单的合并公式,将中间公式的隐藏列相加。
2020年发布的LET函数(仅限Microsoft 365订阅用户)使得通过使用变量,可以以更易读的方式重写复杂公式。正如Jim Pearson在他的回答中指出的那样,您还可以将注释作为未在公式中使用的变量。
以下是使用变量名称重写公式以帮助理解公式不同部分的众多方法之一:
=LET(\0, "Extract characters from text based on the contents of the other columns.",
text, A4,
find_string_G, FIND(G4, text),
find_string_n, FIND("n ", text, find_string_G),
start_num, (find_string_n+75) + LEN(H4) + 78,
num_chars, FIND("n ", text, (find_string_n+75)) - (find_string_n+78),
MID(text, start_num, num_chars)
)