我在 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
来源:文档 / 操作方法 / Calc:COUNTIF 函数 (在 Excel 和 LibreOffice 中也一样)句法:
COUNTIF(test_range; condition)
test_range
是要测试的范围。
condition
或许:
- 一个数字,例如
34.5
- 表达式,例如
2/3
或SQRT(B5)
- 文本字符串
COUNTIF
计算这些细胞的数量test_range
等于condition
, 除非condition
是一个以比较器开头的文本字符串:>
,<
,>=
,<=
,=
,<>
。 在这种情况下COUNTIF
比较这些细胞test_range
文本字符串的其余部分(如果可能则解释为数字,否则解释为文本)。例如条件“>4.5
” 测试每个单元格的内容是否大于 4.5,条件“<dog
” 测试每个单元格的内容是否按字母顺序排列在文本之前dog
。
因此,例如,如果单元格 E27
包含 60,那么您想要计算包含值 ≥ 54 的单元格(因为 90% × 60 = 54)。因此您需要传递COUNTIF
一个字符串参数 >=54
。因此您需要 计算 54
并将其附加到 >=
。使用0.9*E27
计算54
,然后">="&0.9*E27
进行字符串连接。