Google Sheets/Excel 的评估标准

Evaluation Criterion for Google Sheets/Excel

我正在尝试使用工作表根据特定标准求解平均值。 我已经使用 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 也不是 N/A 的单元格,我需要 col D 的正则表达式,其中包含单词 work 。 我也一直想知道如何只获得偶数。 MOD(cell, 2)=0 作为标准。

我认为问题出在标准上。总体答案是 div/0,因为没有单元格评估为真。我认为 $D1$A1 不会在每一行都切换。

在此 Sheets Example 中,所需的输出为 38。(最后一列,最后一行)

在图像中,如果第 1 列是大于 5 的偶数,我想得到所有数字的平均值。为了匹配我的具体问题,为偶数添加文本 "yes" 和 "no" 为奇数。使用正则表达式确定该数字是否应包含在平均值中。

编辑:[附加信息]

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

基本上,存在一个值和一个关联的关键字。平均值必须仅针对一个词的值。由于其他限制,这些值已排序。

尝试删除 IF

=AVERAGEIFS(Average_Range, 
 Criterion1_Eval_range, 1=(IFNA($A1, FALSE))*(NOT($A1=0))), 
 Criterion2_Eval_range, REGEXMATCH($D1, "Work"))

AVERAGEIFSARRAYFORMULA 的以下构造可为您提供所需的结果。

对于您的 sheet 示例,以下公式将得出 38。

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

Example screenshot