【问题标题】:how to reference a formula from another cell in google sheets如何从谷歌表格中的另一个单元格引用公式
【发布时间】:2016-10-13 09:35:43
【问题描述】:

背景

我有一个包含一些高级公式的电子表格。例如,我正在汇总当月的预算,并且我有不同的员工,他们有不同的薪酬结构(即一些小时,一些小时,根据估计目标等的奖金) )..

我喜欢放置一个公式,然后将其复制并粘贴到单元格中。这就是我现在所拥有的

=if(C54="employee 1",D54*'resource information'!$D$3,
   if(C54="employee 2",D54*'resource information'!$D$8,
     if(C54="employee 3",D54*'resource information'!$D$4)))

每个员工的小时*小时工资的基本乘积(员工 1/2/3 的工资不同)

问题

如果我想添加一个员工 4,他有一个复杂的公式来提取他们的工资(即使用 3-4 个不同的变量并从不同的工作表中提取?)我不想在上面添加那个丑陋的公式..我想在上面引用一个具有该公式的单元格..像这样

=if(C54="employee 1",D54*'resource information'!$D$3,
   if(C54="employee 2",D54*'resource information'!$D$8,
     if(C54="employee 3",D54*'resource information'!$D$4))) 
 + employee 4 formula with parameters C54,D54 <-- this formula will be stored elsewhere

有什么想法吗?

【问题讨论】:

    标签: google-sheets formulas


    【解决方案1】:

    简答

    在 Google 表格中,无法“隐藏”丑陋的公式。

    扩展答案

    不要太担心公式的外观,担心可维护性和可读性。作为替代方案,可以考虑创建一个custom function

    提示 1:不要嵌套 IF,而是尝试使用查找函数,例如 VLOOKUP
    提示 2:正如您已经想到的那样,您可以嵌套一个公式作为大多数函数的参数,就像你对 IF 所做的那样。

    备注: Google 表格公式不能调用存储在别处的公式,只能调用它们的结果。

    应用提示 1 和 2 的示例

    假设资源信息在 A 列中有资源 ID(员工 1、员工 2 等)

    =D54*IF(
      C54<>"employee 4",
      VLOOKUP(C54,'resource information'!$A$3:$D$8,4,0),
      your_formula_goes_here
     )
    

    提示 3:如果您不想在公式栏中显示员工 4 的计算,请使用自定义函数。

    备注:Google Apps 脚本无法调用电子表格内置函数,但您可以从 GitHub 存储库中复制 JavaScript 版本,例如

    请参阅我的answer 到另一个问题,我在其中与一个有界 Google Apps 脚本项目共享一个电子表格,其中包含来自 SocialCalc 的 JavaScript 文件。

    另见

    【讨论】:

    • 嘿@Ruben 我克隆了 EtherCalc 存储库.. 但我不知道如何将我需要的函数复制到谷歌表中.. 例如,如果我搜索 vlookup 在EtherCalc repo ..我没有找到一个地方将 vlookup 定义为我可以调用的函数..你能给我一些关于如何在谷歌表格中使用 EtherCalc 中的这些函数的说明/帮助吗?否则我唯一的选择是迁移到 excel :(
    猜你喜欢
    • 1970-01-01
    • 2018-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-25
    • 2022-07-20
    • 1970-01-01
    相关资源
    最近更新 更多