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"))
AVERAGEIFS
和 ARRAYFORMULA
的以下构造可为您提供所需的结果。
对于您的 sheet 示例,以下公式将得出 38。
=AVERAGEIFS(B2:B9,ARRAYFORMULA(ISEVEN(A2:A9)),"true",ARRAYFORMULA(A2:A9),">5")
Example screenshot
我正在尝试使用工作表根据特定标准求解平均值。
我已经使用 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"))
AVERAGEIFS
和 ARRAYFORMULA
的以下构造可为您提供所需的结果。
对于您的 sheet 示例,以下公式将得出 38。
=AVERAGEIFS(B2:B9,ARRAYFORMULA(ISEVEN(A2:A9)),"true",ARRAYFORMULA(A2:A9),">5")
Example screenshot