AVERAGEIFS不起作用,但是AVERAGE(IF(确实)

我们有一个很大的电子表格,用来计算赛车手的performance。 它已经稳定了很长时间了。 今天,我打开它,发现其中一个表格计算不正确。 我尝试重新计算表(它被设置为手动计算),并试图重build树(ctl + alt + shift + f9)无济于事。 与其他使用平均值的公式相比,其他公式引用相同的命名范围的function正确。

variables

list_of_names =从CSV文件导入的单个文本string中的名字和姓氏列表

local_name =一个名称(100%保证包含在list_of_names中)来计算轨道给定扇区中的驱动程序性能的平均值

sector_percent =驾驶员通过特定部门的预定范围内的百分比

sector_count =驾驶员通过一个扇区旅行的次数

我原来的公式返回一个#Value错误。 这是原始公式(实际公式包含一个IFERROR语句,但为了清晰起见,我已将其删除)#VALUE错误以任一方式发生。

{= AVERAGEIFS( sector_percentlist_of_nameslocal_namesector_percent ,“> 0”, sector_count ,“>”和min_number_sectors )}

经过一番实验,我发现下面的公式成功地报道了正确的答案:

{= AVERAGE(IF( list_of_names = local_name ,IF( sector_percent > 0,IF( sector_count > min_number_sectorssector_percent ,0))))}

如果从AVERAGEIFS公式中除去 list_of_nameslocal_namevariables,则performance正确(给定满足条件的数据)。 这使我相信,名称和本地名称列表不是匹配的数据types。 但是,如果两者都设置为常规或文本,仍然会出现#VALUE错误。 TYPE(list_of_names)或TYPE(local_name)都返回2。 {TYPE(list_of_names)}返回64,因为它应该。

工作表能够在工作簿中的其他位置和同一工作表的其他区域中正确执行list_of_names到local_name的function。

我努力了:

– 用公式中名称引用的实际单元格replace所有命名的范围

– 引用list_of_names中的不同local_names

-INDEX( list_of_names ,ROW(A1))在您将其拖出时正确报告名称列表。

– 使用其他标准的各种标准。

– 我目前无法回想起的其他一些热度变化

从本质上讲, list_of_nameslocal_name的比较在每次使用AVERAGEIFS的AVERAGE(IF(不)的地方。

对我而言,公式无论如何都是正确的,但是这一部分的突然失败是很奇怪的。

这是我在这里的第一篇文章,我将不胜感激任何可用的帮助。 希望我已经提供了足够的信息来回答问题。 如果没有,让我知道,我会填补任何空白。

@barryhoudini和@Jeeped都是正确的。 我没能将源表中的信息拖到足够远的地方,导致范围大小不匹配。 我无法弄清楚如何接受这个答案,而不是自己回答,而这个答案在适当的情况下并不适用。 我感谢你们的协助,简洁而优秀。 我仍然不明白为什么一个公式的作品,一个没有。 是否有可能是平均值(如果在范围大小方面限制较less的一组限制?