如何在 Google 表格的指定单元格中评估存储的间接公式

问题描述 投票:0回答:1

我已经阅读了 Stack Overflow 上的所有内容,因为无法找到答案。关于这个主题的帖子也有好几年了,所以我希望有更新。

问题:如何引用“存储”在一个单元格中的公式并在另一个单元格中对其求值,其中公式使用间接函数来引用相对于执行单元格位置的单元格?

例子:

假设

A1=INDIRECT("R[0]C[1]",FALSE)+1
,所以它将
1
添加到右侧一列的单元格的值,在本例中为
B1
。假设本例中
B1
为空,那么
A1
中的结果为
1
。这是我们的“存储公式”.

假设单元格

B4=2
。我们想将存储的公式调用到单元格
A4
中,以得到
B4+1 = 2+1 = 3
的结果。如果我们设置
A4=A1
,我们希望的值为
3
。然而,这个实际上导致值
1
,因为设置
A4=A1
实际上只是从
A1
中获取值,而不是输入存储的公式
INDIRECT("R[0]C[1]",FALSE)+1
,这正是我们想要的。

这是一个示例图片。

C
列显示在
A
列中输入的公式。您可以看到
A4
给出了错误的结果,而
A5
给出了正确的结果,但我们必须将公式复制并粘贴到此单元格中,这不是我们想要做的。 (在实际用例中,我们将在另一张纸上有一个存储公式的“菜单”,并对另一张纸执行
vlookup
,以根据其他纸中的固定输入将正确的公式拉入
A
列中的每个单元格同一行的列。)

问题

  1. 我非常喜欢在没有任何脚本的情况下在 Google 表格中执行此操作。这可能吗?
  2. 如果不可能,在 Google Apps 脚本中执行此操作的最简单方法是什么?

谢谢!

google-apps-script google-sheets google-sheets-formula eval stored-functions
1个回答
0
投票

我的建议是创建一堆 Named Functions我见过的最好的教程 向我的导师 Ben Collins 致敬! & 官方文档 向 Google 致敬!)而不是您提到的单独的公式表。

然后您可以在

=IF()
列行中编写一个
A
函数,该函数评估您提到的同一行的其他列中的固定输入,并根据您设置的逻辑调用您想要的任何函数。

例如,您可以有一个名为

ADDONE()
的自定义函数,其中公式定义为
=INDIRECT("R[0]C[1]",FALSE)+1
,然后将其包含在您的 if 函数中。

这是我快速说明的一个例子: Custom Named Functions being called in other functions

希望对您有所帮助,如果您有任何问题,请告诉我!

© www.soinside.com 2019 - 2024. All rights reserved.