excel - Google Sheets 仅评估 SUMIFS 语句中数组中的第一个条件

标签 excel google-sheets

我在 Excel 中找到了一个示例,其中可以使用数组来设置 OR 条件。我想在 Google 表格中执行此操作,但不知道如何操作。使用相同的语法不起作用。

SUM(SUMIFS({})
卓越大学

报告

Sales   30,050 => formula: =SUM(SUMIFS($C$18:$C$28,$B$18:$B$28,{"Sales-Labor","Sales-Hardware","Sales-Software"}))
COS 21,136

Gross Profit    8,914

SG&A    2,054

Net Income  6,860

数据

Account Amount
Sales-Labor 15,050
Sales-Hardware  10,779
Sales-Software  4,221
COS-Labor   9,058
COS-Hardware    8,172
COS-Software    3,906
Supplies    256
Marketing   1,200
Trade shows 200
Telephone   299
Internet    99

如果您将相同的值和与上面标记的相同的公式弹出到 Google 表格中,您将只能获得第一个条件的值。

来源:http://www.excel-university.com/sumifs-with-or/

最佳答案

一个相当简单的解决方案就是使用 SUMPRODUCTISNUMBER(MATCH)

=SUMPRODUCT(
  $C$18:$C$28,
  ISNUMBER(MATCH(
    B18:B28,
    {"Sales-Labor","Sales-Hardware","Sales-Software"},
    0)))

或者使用SUMIFS。您可以将分隔符设置为空字符串以外的其他内容,以避免冲突。

=ArrayFormula(SUMIFS(
   C18:C28, 
   FIND(B18:B28,
        JOIN("",
             {"Sales-Labor","Sales-Hardware","Sales-Software"})), 
   ">0"))

关于excel - Google Sheets 仅评估 SUMIFS 语句中数组中的第一个条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39459942/

相关文章:

excel - 也使用引用公式计算同一单元格中 3 个数字的总和

c# - 在 C# 中将数据导出到 Excel 时,索引超出了数组的范围

excel - 如果所有都是excel中的数字,如何删除所有第一个字符

javascript - 省略没有值的字段

google-apps-script - 设置 setFormulas() 将清除现有数据

c# - 如何打开具有只读保护的Excel文件?

excel - 在文本框中使单词加粗

google-apps-script - 如何自动将Google Doc(Google Drive)表单数据传输到Google文档

google-apps-script - 如何发布使用 Google 脚本开发的 Google 电子表格的自定义函数

google-sheets - 如果相邻单元格包含给定字符串,则检索值