COUNTIFS()函数Excel错误

时间:2019-05-24 16:37:18

标签: excel excel-formula countif

更新:我运行了一个脚本,该脚本重新启用了自动计算功能,启用了屏幕更新功能以及所有其他好的功能,这些功能现在都可以使用了。我向前移动的印象是,这是另一个Excel视觉故障,功能正在起作用,只是屏幕以某种方式破坏了这些单元格。 谢谢大家对我的迅速反应和支持,我感到很遗憾。


初始问题:

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

Evaluated Function before last step

Evaluated Function after last step

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

Red is what I'm subtracting from the sum of the rest in Yellow and Green

我可以向您展示这些功能确实起作用,当我将第一行的模型从6.3切换到6.4时,将6.3的适当更改从1转换为0,将6.4的模型更改为从5到6:

Changing the model number from the drop-down Now the values up-top correctly update

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

Switched from 6.3 to 6.5

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

Last step of Evaluation is correct Before it craps out at the last step and shows 0

该函数的简化版本是:

out[upper.tri(out)] <- t(out)[upper.tri(out)]
out
#         [,1]   [,2]  [,3]  [,4]  [,5]  [,6]   [,7]   [,8]  [,9]  [,10]
#  [1,]  0.000 15.285 26.94 32.50 31.08 61.31 16.503 10.014 26.72  6.114
#  [2,] 15.285  0.000 32.62 46.23 17.95 73.31  4.798 21.336 14.51 12.508
#  [3,] 26.943 32.620  0.00 26.20 50.25 44.29 29.178 17.539 31.46 23.037
#  [4,] 32.500 46.234 26.20  0.00 63.39 30.08 45.201 24.996 52.13 33.730
#  [5,] 31.085 17.949 50.25 63.39  0.00 91.15 21.096 38.903 23.87 30.059
#  [6,] 61.315 73.312 44.29 30.08 91.15  0.00 71.166 52.336 75.49 61.116
#  [7,] 16.503  4.798 29.18 45.20 21.10 71.17  0.000 20.257 10.71 12.052
#  [8,] 10.014 21.336 17.54 25.00 38.90 52.34 20.257  0.000 28.18  8.864
#  [9,] 26.722 14.509 31.46 52.13 23.87 75.49 10.706 28.178  0.00 21.435
# [10,]  6.114 12.508 23.04 33.73 30.06 61.12 12.052  8.864 21.43  0.000

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

=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)))

请帮助,我的想法很迷茫,这是我正在构建的关键工具。当软件无法正常运行时,这使我看起来很糟糕! 预先谢谢你:)


注释附录:

Named Ranges in the Workbook

1 个答案:

答案 0 :(得分:1)

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

  • 确保数据中没有奇怪的缠绵字符。例如标记在数据末尾的隐藏空间“”。我特别认为这可能与这些思路有关,并且您的一个数据点可能被视为“字符串”而不是“数字”,因为您张贴的“ 3-2”图像看起来像“ 2” ”以斜体显示,而“ 3”则没有。
  • 如果您可以逐个单元地浏览数据,请尝试使用F9评估公式的结果。 This tutorial explains how to use F9 to debug your formulas.确保在此最终计算的上游没有奇怪的情况。
  • 与链接的公式相比,它与数据的关系更大,因为您说自己公式适用于3个用例中的2个。