Google SheetsExcel的评估标准

问题描述 投票:0回答:1

我是想根据具体的标准,用单子来求平均数。我已经使用了 AVERAGEIFS() 来解决它,但我似乎无法得到相应的标准。

这是我一直在做的事情。

=AVERAGEIFS(Average_Range,Criterion1_Eval_range,AND(IFNA($A1,FALSE),NOT($A1=0)),Criterion2_Eval_range,IF(REGEXMATCH($D1, "Work"), TRUE, FALSE))

如你所见,我的评估标准是:

AND(IFNA($A1,FALSE),NOT($A1=0))
IF(REGEXMATCH($D1, "Work"), TRUE, FALSE)

我想在col A中得到既不是0也不是NA的单元格 而且我需要col D的REGEX中含有work字样的单元格 我也一直在想如何只得到偶数的值 MOD(cell, 2)=0 我也一直在想如何只得到偶数值。

我认为问题出在准则上。整体答案是div0,因为没有单元格评估为真。我认为问题出在 $D1$A1 并非每行都在切换。

在这个 表格示例 所需输出为38。(最后一列,最后一行)

在图像中,我想得到所有数字的平均数,如果第1列是超过5的偶数。为了符合我的具体问题,添加一列文字 "是 "为偶数,"否 "为奇数。使用regex来确定该数字是否应该包含在平均值中。

编辑:【补充信息】。

数据。10, home,, 35, work,, 763, office,, 4, work,, 7345, work,, 74, office,, 65, home,,n/a, work,,0, work,,

基本上,存在一个值和一个相关的关键词。平均值必须只针对一个词的值。由于其他限制,值是有顺序的。

arrays google-sheets average google-sheets-formula
1个回答
0
投票

以下构造的 AVERAGEIFS 连同 ARRAYFORMULA 得到你想要的结果。

对于你的表的例子,下面的公式将导致38。

=AVERAGEIFS(B2:B9,ARRAYFORMULA(ISEVEN(A2:A9)),"true",ARRAYFORMULA(A2:A9),">5")

示例截图


0
投票

试试看 IF

=AVERAGEIFS(Average_Range, 
 Criterion1_Eval_range, 1=(IFNA($A1, FALSE))*(NOT($A1=0))), 
 Criterion2_Eval_range, REGEXMATCH($D1, "Work"))
© www.soinside.com 2019 - 2024. All rights reserved.