Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 所有项目的总和';与项目列表匹配的成本列_Google Apps Script_Google Sheets - Fatal编程技术网

Google apps script 所有项目的总和';与项目列表匹配的成本列

Google apps script 所有项目的总和';与项目列表匹配的成本列,google-apps-script,google-sheets,Google Apps Script,Google Sheets,以下是我的工作表设置: 我有一张表“库存”,它保存了我所有库存物品的行。每个项目都有一个“成本”的值/列,以及一个“销售价格”列 我有另一张表“摄影”,每一行/条目都有一个单元格,指定照片中使用的项目列表,由一些库存项目参考引用。从这一点上,我想vlookup或其他什么,获取列表中所有项目的“成本”,并将其汇总 这样我就可以知道一张特定的照片,照片中使用的所有物品是什么,以及所有这些物品的成本是多少(合计) 然后,我将对“销售价格”做同样的处理,这样,对于我拍摄的每一张照片,我将能够“按原样”

以下是我的工作表设置:

  • 我有一张表“库存”,它保存了我所有库存物品的行。每个项目都有一个“成本”的值/列,以及一个“销售价格”列
  • 我有另一张表“摄影”,每一行/条目都有一个单元格,指定照片中使用的项目列表,由一些库存
    项目参考
    引用。从这一点上,我想
    vlookup
    或其他什么,获取列表中所有项目的“成本”,并将其汇总
  • 这样我就可以知道一张特定的照片,照片中使用的所有物品是什么,以及所有这些物品的成本是多少(合计)
  • 然后,我将对“销售价格”做同样的处理,这样,对于我拍摄的每一张照片,我将能够“按原样”(包括所有不同的库存项目)说出该产品项目的成本,以及销售价格
示例:

我只能对1个项目执行此操作,但我希望公式能够在B9中的“列表”项目上运行

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

=SUM(QUERY(A:B,"select B where A matches 'ID-100'"))
如果“使用的项目”列始终使用逗号空格分隔格式作为项目列表,则以下操作将起作用

=query(Cost!A:B, "select sum(B) where A = '" & join("' or A = '", split(B9, ", ")) & "' label sum(B) ''")
这里,
split
将使用的项目列表拆分为单个项目ID。然后,将
或A='
放在两者之间,将它们连接起来,例如:

ID-101' or A = 'ID-101
在查询字符串的前面和后面都有位,例如

select sum(B) where A = 'ID-101' or A = 'ID-101' label sum(B) ''
谁来做这个工作。标签部分是获得一个单元格输出所必需的,没有“总和(成本)”标题的阻碍



关于拆分的详细信息:如上所述,
split(B9,“,”)
通过逗号或空格拆分(忽略输出中的空字符串)。因此,它甚至可以与
ID-1、ID-2、ID-3和ID-4
一起工作。另一方面,如果您的ID包含空格,则可能会出现问题。更严格的拆分模式是
split(B9,,,,,False)
它需要整个字符串“,”用作分隔符。

谢谢,这正是我想要的!