【问题标题】:Faulty COUNTIFS() Function Excel错误的 COUNTIFS() 函数 Excel
【发布时间】:2019-05-24 16:37:17
【问题描述】:

更新:我运行了一个脚本,它重新启用了自动计算,启用了屏幕更新和所有其他好东西,这些功能现在可以工作了。我前进的印象是它是另一个 Excel 视觉故障并且功能正在运行,只是屏幕以某种方式破坏了这些单元格。 谢谢大家的快速响应和支持,我输了。


初始问题:

这让我发疯了。我在 Excel 中使用 COUNTIFS() 构建了一个函数,该函数在型号匹配时查找列中列出的该工作周的次数。型号为 6.3、6.4 和 6.5。 对于模型 6.3 和 6.4,该函数可以正常工作并正确执行所有计算。对于6.5,即使功能完全一样,它也没有。事实上,当我评估函数时,我得到了正确的数学结果(它应该是 3-2 = 1),但它最终是 0:

由于专有信息泄露,我无法提供太多功能细节。但是,我可以向您展示它正在读取的数据,而其他所有的列和行都隐藏了,所以如果它看起来很乱,我很抱歉,COUNTIFS() 函数中仅有的两个数组(顶部亮红色和绿色框,相关的型号带有下划线上)将型号与最左列(黄色、红色和浅绿色)匹配,今天(1921)工作周和年与左第二列(深和浅绿色)匹配:

我可以向您展示这些功能确实有效,当我将第一行的模型从 6.3 切换到 6.4 时,6.3 的适当更改从计数 1 切换到计数 0,并且模型 6.4 的更改从5到6:

但是,当我将第一行的模型切换到 6.5 时,6.3 和 6.4 COUNTIFS() 都正确更新(0 和 5 连续),但不是 6.5(仍然是 0,现在应该显示 2):

只是为了向你证明,我在单元格上运行“评估公式”,结果是正确的 (4-2),但最后一步它会出错并显示 0:

函数的简化版本是:

=COUNTIFS(ModelArray,ModelNumber,WorkWeekArray,INDEX(WorkWeekArray,MATCH((NUMBERVALUE(RIGHT(YEAR(NOW()),2)&TEXT((WEEKNUM(NOW(),21)),"00"))),WorkWeekArray,0)))- COUNTIFS(ModelArray,ModelNumber,ModelStatus,StatusIsRed,WorkWeekArray,INDEX(WorkWeekArray,MATCH((NUMBERVALUE(RIGHT(YEAR(NOW()),2)&TEXT((WEEKNUM(NOW(),21)),"00"))),WorkWeekArray,0)))

列出的每个 WorkWeekArray 值也是使用相同的 NUMBERVALUE() 函数计算的:

NUMBERVALUE(RIGHT(YEAR(ModelDate),2)&TEXT((WEEKNUM(ModelDate,21)),"00")

请帮忙,我疯了,这是我正在构建的一个关键工具。当软件无法正常运行时,这让我看起来很糟糕! 提前谢谢你:)


意见附录:

【问题讨论】:

  • 如果您不显示公式,我们如何提供帮助?
  • 我试图显示公式计算正确,但不知何故变成了 0,如上图所示。我向您展示公式并没有真正意义,因为它们在所有 3 个模型中都是相同的,因此它们的行为应该相同,并且正如评估所示,它们确实如此,但是 COUNTIFS() 存在一些问题,导致值最后是0?
  • 我已按照您的要求在问题中添加了 COUNTIFS() 函数。
  • 你能解释一下INDEX(WorkWeekArray,MATCH((NUMBERVALUE(RIGHT(YEAR(NOW()),2)&TEXT((WEEKNUM(NOW(),21)),"00"))),WorkWeekArray,0)) 的必要性吗?当我读到它时,它只是返回被搜索的相同内容:NUMBERVALUE(RIGHT(YEAR(ModelDate),2)&TEXT((WEEKNUM(ModelDate,21)),"00")
  • 没有真正的需要,这是我试图让它再次工作的原因。

标签: excel excel-formula countif


【解决方案1】:

希望我能发表评论,因为这不是一个很好的答案。当我提出更多建议时,我会继续编辑它。试试这个:

  • 确保您的数据中没有奇怪的延迟字符。例如隐藏空间“”标记在您的数据末尾。我特别认为这可能是这样的事情,并且您的一个数据点可能被视为“字符串”而不是“数字”,因为您发布的“3-2”图像看起来像“2 " 是斜体,但 "3" 不是。
  • 如果您可以逐个单元格地遍历数据,请尝试使用 F9 来评估公式的结果。 This tutorial explains how to use F9 to debug your formulas. 确保在最终计算的上游某处没有出现异常情况。
  • 它可能与数据有关,而不是与您链接的公式有关,因为您自己说过该公式适用于您的 3 个用例中的 2 个。

【讨论】:

  • 嘿泰勒,谢谢你的建议。 2 仍然是斜体的原因是因为 Evaluate Formula 提示的一部分是将它更改的函数中的最后一个值斜体,所以由于它以 3 的 COUNTIFS() 开始,然后完成 2 的 COUNTIFS(),在继续并再次点击评估之前(当我得到 0 时)我进行了屏幕截图。
  • 明白了,抱歉,这不是更有用:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-07
  • 1970-01-01
  • 1970-01-01
  • 2022-01-13
  • 1970-01-01
  • 2021-02-16
相关资源
最近更新 更多