Google sheets 计算google电子表格中项目总数的公式
我在一行中有项目(项目1、项目2等),在一列中有每个项目的价格,我可以写一个复杂的公式来计算每个人的总数,而不需要手动输入所有交叉点吗Google sheets 计算google电子表格中项目总数的公式,google-sheets,sum,google-sheets-formula,array-formulas,gs-vlookup,Google Sheets,Sum,Google Sheets Formula,Array Formulas,Gs Vlookup,我在一行中有项目(项目1、项目2等),在一列中有每个项目的价格,我可以写一个复杂的公式来计算每个人的总数,而不需要手动输入所有交叉点吗 | Name | Total | item 1 | item 2 | item 3 | | | |--------|---------|--------|--------|--------|-----------------|----| | John | 2+9+2=13| 1 | 3 | 2
| Name | Total | item 1 | item 2 | item 3 | | |
|--------|---------|--------|--------|--------|-----------------|----|
| John | 2+9+2=13| 1 | 3 | 2 | price of item 1 | $2 |
| Daniel | 0+6+1=7 | 0 | 2 | 1 | price of item 2 | $3 |
| Max | 2+3+0=5 | 1 | 1 | 0 | price of item 3 | $1 |
不幸的是,我不能在这里使用脚本,否则,这将是小菜一碟:(试试:
=ARRAYFORMULA(IF(A2:A="",,
MMULT(HLOOKUP(C1:E1, TRANSPOSE(G2:H), 2, 0)*C2:E,
ROW(INDIRECT("A1:A"&COLUMNS(C:E)))^0)))
或更短:
=INDEX(IF(A2:A="",,MMULT(1*C2:E, G2:G4)))
如需其他解决方案,请尝试:
=ArrayFormula(if(len(A2:A), mmult(--C2:E, G2:G4),))
共享您的sheet@player0感谢you@Anatoly很抱歉,第二个答案要短得多,也容易理解/reuse@Anatoly请注意,在第2行,F列中的答案项目需要与第1行中的项目顺序相同-否则不会work@Anatoly
--C2:E
相当于1*C2:E
或N(C2:E)
-原因是MMULT只对数字起作用,所以空单元格需要转换为零。索引是数组的类型,用于公式-没有好处,只是比类型短。你能解释一下它是什么意思吗--C2:E
这是我用谷歌搜索不到的单个部分。双减号,也称为双一元数,是一种转换的操作将布尔值转换为1和0。简单地说,TRUE为1,FALSE为0。由于MMULT需要数值,如果任何单元格为空,它将返回错误。此处使用的双一元数用零填充这些空单元格。