【问题标题】:SUM values of all entries' cost column matching a list of items与项目列表匹配的所有条目的成本列的 SUM 值
【发布时间】:2017-01-08 05:53:56
【问题描述】:

这是我的工作表设置:

  • 我有一张“Inventory”表,其中包含我所有库存商品的行。每个项目都有一个“Cost”的价值/列,以及一个“Sale Price”的列。
  • 我有另一张表“摄影”,每一行/条目都有一个单元格,用于指定哪些是项目列表照片中使用,由一些库存item ref 引用。然后我想vlookup 或其他东西,获取列表中所有这些项目的“成本”,并将它们相加。
  • 这样我就可以知道一张特定的照片,照片中使用的所有物品是什么,以及所有这些物品的成本是多少(总结)。
  • 然后我将对“销售价格”执行相同的操作,这样对于我拍摄的每张照片,我都可以“按原样”告知该产品项目的成本(包括所有不同的库存项目),和售价。

示例:

我只能对 1 个项目执行此操作,但我希望该公式适用于 B9 中的项目“列表”。

我什至尝试过这个查询公式,我只是不知道如何说“匹配列表中的任何项目”,这将是另一个单元格中的字符串:

=SUM(QUERY(A:B,"select B where A matches 'ID-100'"))

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案1】:

    如果您的“使用的项目”列始终使用逗号分隔的项目列表格式,则以下内容将起作用。

    =query(Cost!A:B, "select sum(B) where A = '" & join("' or A = '", split(B9, ", ")) & "' label sum(B) ''")
    

    这里,split 将使用的项目列表拆分为单个项目 ID。然后通过在两者之间添加' or A = ' 来连接它们,例如:

    ID-101' or A = 'ID-101
    

    有一些前置和附加的位来形成查询字符串,例如,

    select sum(B) where A = 'ID-101' or A = 'ID-101' label sum(B) ''
    

    完成这项工作。标签部分是获得单单元格输出所必需的,没有“Sum(Cost)”标头妨碍。


    关于拆分的详细信息:如上所述,split(B9, ", ") 按逗号或空格 拆分(忽略输出中的空字符串)。所以它甚至可以使用ID-1,ID-2, ID-3 ID-4。另一方面,如果您的 ID 包含空格,这可能是个问题。更严格的拆分模式是split(B9, ", ", False),它要求将整个字符串“,”用作分隔符。

    【讨论】:

    • 谢谢,这正是我想要的!
    猜你喜欢
    • 2013-04-05
    • 2017-12-20
    • 2012-10-27
    • 1970-01-01
    • 1970-01-01
    • 2014-06-28
    • 1970-01-01
    • 2021-12-03
    • 1970-01-01
    相关资源
    最近更新 更多