我在 Google Sheet 中有 2 个表格,我需要使用另外 2 个表格的信息来完成第三个表格。这 3 个表格是:
产品:
产品 | 数量 |
---|---|
一个 | 10 |
乙 | 15 |
按产品分类:
产品 | 成分 | 数量 | 类型 |
---|---|---|---|
一个 | 十 | 20 | T1 |
一个 | 是 | 10 | T1 |
乙 | 十 | 15 | T1 |
乙 | 是 | 20 | T2 |
碳 | 十 | 5 | T1 |
碳 | 是 | 5 | T2 |
最后是具有以下标题的表格组件:
成分 | 数量 |
---|
CompsByProd
如果相应的产品在表中Product
且类型为“T1”,则
此表的“组件”列应显示表中的不同组件。这很简单,只需使用以下公式即可:=UNIQUE(FILTER(CompsByProd[Component];ISNUMBER(MATCH(CompsByProd[Product];Products[Product];0));CompsByProd[Type]="T1"))
给出值“x”和“y”。排除“z”,因为产品 C 不在表中Products
(如果有更好/更简洁的方法,欢迎反馈)
但是对于“金额”列,我需要将表中每个组件的金额CompsByProd
乘以表中每个产品的金额Products
。换句话说,表格需要如下所示:
成分 | 数量 |
---|---|
十 | 200(10×20) |
是 | 325(10×10+15×15) |
我尝试过几种方法,例如:
=ARRAYFORMULA(IFERROR(VLOOKUP(CompsByProd[Product];Products;2;FALSE);0)*CompsByProd[Amount])
此公式给出了产品数量和每个组件数量的乘积。但是,当我尝试在 SUMIF/SUMIFS 中使用该结果来应用条件“Type=T1”和“Component = 每行中的相应值”时,我收到一条错误消息,指出参数需要是区间,但我认为不是。
我制作了一个包含上述信息公开的 google-sheet示例表,以便通过查看实际表格更容易理解。
由于我刚刚开始学习 Google 表格,因此欢迎任何更正或建议。