gpt4 book ai didi

regex - Countif 和 A​​rrayFormula 具有多个级别

转载 作者:行者123 更新时间:2023-12-01 12:06:03 26 4
gpt4 key购买 nike

我有一个公式。它有效 - 但感觉它可以变得更简单。
我在几个专栏中有很多部门。每行都有一个我们正在跟踪的项目,每列都有一个状态文本,随着我们的工作而变化。
'queue' - 排队等待完成并压低平均值
'active' - 进行中并提供平均值的一半
'done', 'ok'd', 'rcvd' - 完成并为最终平均值做出贡献
“无” - 表示该部门在此工作中处于非事件状态,不应计入最终平均值。
公式为:

=iferror(((ArrayFormula(sum(countif(B3:O3,{"done","ok'd","rcvd"}))))+(countif(B3:O3,"active")/2))/(counta(B3:O3)-(countif(B3:O3,"none"))),)
该公式有效,但我想看看是否有更简单的方法来处理它。在这种情况下,查询或数组修改会更好吗?
如果我想根据当前应用程序的语法添加其他文本字符串怎么办?
这是一个带有上下文的示例表的链接。
https://docs.google.com/spreadsheets/d/1zPFAcSxM7tYjZmlATYde7qKsDoeH6AW_xjFooOZFOf4/edit#gid=0

编辑:
作为后续问题 - 我如何让相同的东西跨列工作?
我对解决方案进行了一些逆向工程,可以看到公式在我的工作表顶部工作 - 但它给了我一个错误:

"MMULT has incompatible matrix sizes. Number of columns in first matrix (13) must equal number of rows in second matrix (1)."


这是我添加的公式(也在链接表中)。
=ARRAYFORMULA(IF(LEN(B4:N4), MMULT(IFERROR(( N(REGEXMATCH(B4:N9, "ok'd|done|ready|rcvd"))+ N(REGEXMATCH(B4:N9, "active"))/2)/MMULT(N(REGEXMATCH(B4:N9, "[^none]")),TRANSPOSE(ROW(B4:B9)^0)), 0), TRANSPOSE(ROW(B4:B9)^0)),))

最佳答案

As a followup question - how do I get the same thing to work across the columns?


=ARRAYFORMULA(TRANSPOSE(IF(LEN(TRANSPOSE(B4:N4)), MMULT(IFERROR((
N(REGEXMATCH(TRANSPOSE(B4:N16), "ok'd|done|ready|rcvd"))+
N(REGEXMATCH(TRANSPOSE(B4:N16), "active"))/2)/MMULT(
N(REGEXMATCH(TRANSPOSE(B4:N16), "[^none]")),
(ROW(B4:B16)^0)), 0),
(ROW(B4:B16)^0)), )))

0

关于regex - Countif 和 A​​rrayFormula 具有多个级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56861296/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com