【问题标题】:How to use SUMIFS in an older version of Google Sheet - where SUMIFS was not implemented?如何在旧版本的 Google 表格中使用 SUMIFS - 未实施 SUMIFS?
【发布时间】:2015-01-19 12:31:09
【问题描述】:

我有一个包含 1000 个公式的大型电子表格,我想将它们移动到旧版本的 Google 表格中,因为那里有增强的保护选项。 (基本上我只需要为某些人保留一些表格,而其余的则通过链接保留给所有人)。

表格不是我的,所以我不知道它们的逻辑 - 我只需要将它们移植到旧版本。一个公式的例子是:

=SUMIFS('FC Eingabe'!$K$2:$K$142,'FC Eingabe'!$R$2:$R$142,"August",'FC Eingabe'!$S$2:$S$142,"100% | Auftrag erteilt")

将 SUMIFS 从 SUMIFS function in Google Spreadsheet 更改为解决方案太耗时,不值得。

有什么方法可以将自定义函数 SUMIFS 之类的东西添加到旧的 Google 表格中? - 可能是一段 VBA 代码。或附加组件。

请帮忙!

【问题讨论】:

    标签: google-sheets


    【解决方案1】:

    这是对自定义函数的快速而肮脏的尝试(没有错误检查等):

    function SUMIFS()
    {
      var test, result = 0;
      var sumArray = arguments[0];
      for (var i = 0, length = sumArray.length; i < length; i++)
      {
        test = true;
        for (var j = 1, argLength = arguments.length; j < argLength; j+=2)
          test = test && (arguments[j][i][0] == arguments[j+1]);
        if (test) result += sumArray[i][0];
      }
      return result;
    }
    

    或者,您可以在当前表格版本中使用查找和替换(使用 Ctrl+H 访问)。必须在当前版本中完成,因为旧版本不支持查找和替换内部公式。

    这应该适用于两种情况,如您的 OP:

    Find:           ^=SUMIFS(\(.+?,.+),(.+?,.+),(.+?\))$
    Replace with:   =SUM(FILTER$1=$2=$3)
    

    并确保选中“使用正则表达式搜索”和“也在公式中搜索”。

    【讨论】:

    • 很棒的答案!感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 2022-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-26
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多