我有一个谷歌工作表工作簿与2个工作表。
表1列出了大约1000个项目(组件)。这份名单可能会越来越多。
(忽略上面示例中的E到K列)
表2列出了一些产品(目前约有200种,但列表可能会增加)。每个产品最多可以包含12个组件。这些组件列在C到N列中(所有这些列都有数据验证,因此需要从表1的1000个组件列表中选择这些组件)。列R包含产品的单位数。
在表1中,在每个组件旁边,我想计算所有产品中使用的组件的单位数。当然,countif
只会计算Sheet 1!C2:N200
中特定组件的实例。同样,sumproduct
也不符合要求,因为1.C到N不是数值型的,2.C到N不是固定的。
有没有一种简单的方法来计算每个组件的单位数?(不使用VBScript/Javascript,也不复制-将转置的组件列表粘贴到工作表2上)
我在想,使用sumif
或sumifs
的一些奇怪的方式可能是这里的答案,但还没有弄清楚。
发布于 2021-10-05 03:13:35
在Sheet1细胞B2中。放入这个公式:
=ARRAYFORMULA(IFERROR(VLOOKUP(A2:A,QUERY(SPLIT(FLATTEN(Sheet2!C2:N&"|"&Sheet2!R2:R),"|",0,0),"select Col1,SUM(Col2) group by Col1"),2,0)))
如果你想为未使用的组件返回0而不是空格,稍微修改一下就可以了。
=ARRAYFORMULA(IF(A2:A="",,IFERROR(VLOOKUP(A2:A,QUERY(SPLIT(FLATTEN(Sheet2!C2:N&"|"&Sheet2!R2:R),"|",0,0),"select Col1,SUM(Col2) group by Col1"),2,0),0)))
发布于 2021-10-05 08:42:00
一种互补的方法是建立一个数据库
=ARRAYFORMULA(SPLIT(FLATTEN(Sheet2!A2:A&"|"&Sheet2!C2:N&"|"&Sheet2!R2:R),"|",,false))
然后通过在https://docs.google.com/spreadsheets/d/1Lokoms22tuqU53TlhAcdqaldQe_H7Pq8Jah2kBBYo7c/edit#gid=1233865099中添加的数据透视表进行计算
https://stackoverflow.com/questions/69449203
复制