使用 Arrayformula 将每一行相乘
Multiply each row using Arrayformula
在 Google 表格中,我有以下数据:
| A | B | C | ... | G | TOTALS
1 | 100| 200| 400| ... | 870| =PRODUCT(A1:G1) |
2 | 120| 240| 360| ... | 232| =PRODUCT(A2:G2) |
3 | 125| 425| 100| ... | 509| =PRODUCT(A3:G3) |
如何使用 ARRAYFORMULA 创建 TOTALS 列?
尝试:
=INDEX(IFERROR(1/(1/QUERY(QUERY(
IF(LEN(TRIM(FLATTEN(QUERY(TRANSPOSE(A1:G10),,9^9)))),
IF(A1:G10="", 1, A1:G10*1), 0),
"select Col"&JOIN("*Col", COLUMN(A:G))),
"offset 1", 0))))
或者简单地说:
=INDEX(A:A * B:B * C:C * D:D * E:E * F:F * G:G)
更短并且应该更快(肯定会进行一些调整):
=INDEX(IFERROR(1/(1/DPRODUCT(TRANSPOSE({A1:A*0, A1:G}),
SEQUENCE(ROWS(A1:A)), {IF(,,); IF(,,)}))))
在 Google 表格中,我有以下数据:
| A | B | C | ... | G | TOTALS
1 | 100| 200| 400| ... | 870| =PRODUCT(A1:G1) |
2 | 120| 240| 360| ... | 232| =PRODUCT(A2:G2) |
3 | 125| 425| 100| ... | 509| =PRODUCT(A3:G3) |
如何使用 ARRAYFORMULA 创建 TOTALS 列?
尝试:
=INDEX(IFERROR(1/(1/QUERY(QUERY(
IF(LEN(TRIM(FLATTEN(QUERY(TRANSPOSE(A1:G10),,9^9)))),
IF(A1:G10="", 1, A1:G10*1), 0),
"select Col"&JOIN("*Col", COLUMN(A:G))),
"offset 1", 0))))
或者简单地说:
=INDEX(A:A * B:B * C:C * D:D * E:E * F:F * G:G)
更短并且应该更快(肯定会进行一些调整):
=INDEX(IFERROR(1/(1/DPRODUCT(TRANSPOSE({A1:A*0, A1:G}),
SEQUENCE(ROWS(A1:A)), {IF(,,); IF(,,)}))))