【问题标题】:LibreOffice Calc : conditional execution of a calculationLibreOffice Calc:有条件地执行计算
【发布时间】:2016-04-11 06:38:58
【问题描述】:

我有一个为我的学生提供数字成绩的电子表格。如果学生没有任何有价值的原因(如生病)错过考试当天,我必须用首字母缩写词“ABI”对其进行编码,这意味着它的缺席是不合理的。

我希望 Calc在学生没有错过任何考试的情况下计算每组学生成绩的平均值(如果缺少任何成绩,我必须将“ABI”标记给学生)。

因此,我创建了以下公式,但我找不到强制 Calc 执行平均计算的方法。 IF函数似乎只能在单元格中写入一些文本...

=SI(ESTERREUR(EQUIV("ABI";C14:G14;1)); MOYENNE(C14:G14); "ABI")
=IF(ISERROR(MATCH("ABI";C14:G14;1)); AVERAGE(C14:G14); "ABI")

(我希望我在将法语关键字翻译成英文名称时没有犯任何错误)。

通过这些公式,我只得到结果 VRAI / TRUE 而不是数字(如果前面的单元格填充了白色数字),但如果前面的任何单元格包含“ABI”,我得到正确的结果“ABI”。

我在 Ubuntu 15.10 下,使用 LibreOffice 5.0.2.2。

如果有人有想法...在此先感谢。

【问题讨论】:

  • 我将公式(翻译为“AVERAGE”而不是“MEAN”)输入到 Calc 电子表格中,它似乎可以正确计算值。它是否在您的系统上出现错误?
  • 你的意思是,整个公式,还是唯一的命令 AVERAGE ?在包含法语关键字 MOYENNE()(而不是 AVERAGE)的单元格中,一切都很好。当我尝试测试单元格中是否有 ABI 内容时,困难就来了......

标签: conditional libreoffice calc


【解决方案1】:

转到Format -> Cells (Format -> Cellules)。我的猜测是VRAI/TRUE 值的单元格设置为Boolean ValueValeur logique)。改为Number (Nombre)。

图 1:没有 ABI 时。

图 2:没有 ABI(法语用户界面)时。

图 3:当有 ABI 时。

注意:在某一时刻,重新计算公式似乎有些麻烦,因为我的Number 格式行显示ABI,而Boolean Value 格式行显示TRUE。在我再次更改其中一个值后,它重新计算正确。

【讨论】:

  • 非常感谢,您是对的。我不经常使用 Calc,而且我不知道单元格可以有这样的参数。我想在我逐步创建公式时,单元格的类型会自动设置为布尔值。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多