尝试使用单元格的值作为 COUNTIF 中的条件

尝试使用单元格的值作为 COUNTIF 中的条件

我在 LibreOffice Calc 中创建了一个成绩册,并试图跟踪有多少学生在作业中获得了 A、B 等成绩。目前,我将作业的成绩放在一列中。成绩以分数显示(而不是百分比,因此总分数不一定是 100)。我试图在列中构建一个单元格,如果单元格 >= 0.9 ×(总分数),则计算代表成绩的单元格数,并且总分数也位于同一列的单元格中,但我一直收到错误。到目前为止,我尝试了以下操作:

=COUNTIF(E2:E25, ">="0.9*E27)

但没有运气。

在阅读了一些有关 Open Office 的文章后,我尝试了以下操作

=COUNTIF(E2:E25, ">="&E27)

虽然没有引发错误,但没有将其与所需的数量进行比较。

我也尝试过

=COUNTIF(E2:E25, ">=0.9*"&E27)

并且它只产生 0。

是否有人知道是否可以在内完成这种事情COUNTIF,或者我是否实际上需要构建一个额外的单元格0.9*E27并引用该单元格?

答案1

你的第三个形式几乎正确。它应该是

=COUNTIF(E2:E25, ">="&0.9*E27)

— 你搞错了顺序。

问题在于,对于关系运算符(>,,,,( 在电子表格 中表达“不等于”的奇怪方式)或>=),第二个参数必须是文本字符串:<>=<>=COUNTIF

句法:

COUNTIF(test_range; condition)

    test_range是要测试的范围。

    condition或许:

    • 一个数字,例如34.5
    • 表达式,例如2/3SQRT(B5)
    • 文本字符串


    COUNTIF计算这些细胞的数量test_range 等于condition, 除非condition是一个以比较器开头的文本字符串:  ><>=<==<>。 在这种情况下COUNTIF比较这些细胞test_range 文本字符串的其余部分(如果可能则解释为数字,否则解释为文本)。例如条件“>4.5” 测试每个单元格的内容是否大于 4.5,条件“<dog” 测试每个单元格的内容是否按字母顺序排列在文本之前dog

来源:文档 / 操作方法 / Calc:COUNTIF 函数  (在 Excel 和 LibreOffice 中也一样)

因此,例如,如果单元格 E27包含 60,那么您想要计算包含值 ≥ 54 的单元格(因为 90% × 60 = 54)。因此您需要传递COUNTIF一个字符串参数 >=54。因此您需要 计算 54并将其附加到 >=。使用0.9*E27计算54,然后">="&0.9*E27进行字符串连接。

相关内容