繁体   English   中英

gSheets:如何在 ARRAYFORMULA 中对列使用 SPLIT

[英]gSheets: How to use SPLIT in ARRAYFORMULA over columns

对于数字 x 和 y,我将单元格数据格式化为 x@y。

示例行:

| A      |    B   |  C    |  D     |
| ------ | ------ | ----- | ------ |
|10@100  | 10@120 | 8@150 | 5@175  |

我想将这种类型的行解析为两个量:x 的总和和 y 的总和。

在我的示例中,我应该有两个单元格:33 和 545

基本上,我想对应用于 A1:D1 中每个单元格的 SPLIT 的结果数组求和。

我的尝试

=SUM(ARRAYFORMULA(SPLIT(A1:D1, "@")))

不幸的是,这种方法不允许我指定我想要 x 还是 y(当我调用 SPLIT 时)并且它似乎返回 x + y,而不是 sum(i=1 to 4) x_i。

另外的选择:

=ArrayFormula({SUM(INDEX(SPLIT(TRANSPOSE(A1:D1),"@"),0,1)),SUM(INDEX(SPLIT(TRANSPOSE(A1:D1),"@"),0,2))})

在此处输入图像描述

尝试这个:

=index(query(arrayformula(split(transpose(A1:D1), "@")),"select sum(Col1),sum(Col2) ",0),2)

结果

利用:

=SUMPRODUCT(SPLIT(JOIN("@",A1:D1),"@"),ISEVEN(SEQUENCE(1,COUNTA(A1:D1)*2)-1))

在此处输入图像描述

F3= (replace ISEVEN -> ISODD)

利用:

=ARRAYFORMULA(QUERY(QUERY(SPLIT(TRANSPOSE(A1:D1); "@"); 
 "sum(Col1),sum(Col2)"); "offset 1"; 0))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM