【问题标题】:Can I use an arrayformula with a split arrayformula inside it?我可以使用带有拆分数组公式的数组公式吗?
【发布时间】:2020-08-04 19:29:22
【问题描述】:

尝试用逗号分隔包含“198,183,158,315,274”等数字的行,然后将它们平均并除以单数;使用数组公式。它只产生一行结果,但它不正确吗?

Here is my test sheet, editable

感谢您的帮助。

【问题讨论】:

  • 嗨!我发布了我的答案。让我知道它是否对您有用!

标签: google-sheets split sum average array-formulas


【解决方案1】:

尝试:

=ARRAYFORMULA({"Average"; IF(A4:A="",,
 IFNA((MMULT(1*IFERROR(SPLIT(INDIRECT("A4:A"&
 MAX(IF(A4:A="",,ROW(A4:A)))), ",")), 
 ROW(INDIRECT("A1:A"&COLUMNS(SPLIT(A4:A, ","))))^0)/
 (1+LEN(REGEXREPLACE(A4:A&"", "[0-9\. ]", ))))/B1))})


spreadsheet demo

【讨论】:

  • 很好的答案!为此投票!
  • 这是一个很好的答案,谢谢。所以你可以“教人钓鱼”你介意解释一下这里发生了什么吗?我不熟悉使用 MMULT 作为起点。
  • @tlhmode 答案更新了一些注释。查看演示表
【解决方案2】:

另一种解决方案:

=ArrayFormula({"Average";(ArrayFormula(mmult(N(array_constrain(ArrayFormula(IFERROR(SPLIT(A4:A8,","))),MATCH(2,1/(A4:A8<>""),1),5)),sequence(Columns(ArrayFormula(IFERROR(SPLIT(A4:A8,",")))),1)^0)/mmult(N(array_constrain(if(ArrayFormula(IFERROR(SPLIT(A4:A8,",")))>0,1,0),MATCH(2,1/(A4:A8<>""),1),5)),sequence(columns(ArrayFormula(IFERROR(SPLIT(A4:A8,",")))),1)^0)))/$B$1})

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2022-01-19
  • 1970-01-01
  • 2021-08-19
  • 2020-09-13
  • 2021-09-02
  • 1970-01-01
  • 1970-01-01
  • 2014-09-04
相关资源
最近更新 更多