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