Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 当缩小一个正常工作的平均函数的范围时,为什么会出现#n/a错误?_Excel_Excel Formula - Fatal编程技术网

Excel 当缩小一个正常工作的平均函数的范围时,为什么会出现#n/a错误?

Excel 当缩小一个正常工作的平均函数的范围时,为什么会出现#n/a错误?,excel,excel-formula,Excel,Excel Formula,我的电子表格中有一个运行良好的平均值函数:=average( 如果('Sheet2'!$2:$2=“星期二”,如果('Sheet2'!7:7”“, “Sheet2”!7:7))) 我不想在平均值计算中使用所有的第7行,我只想在一个小范围内工作,所以我将公式改为:=average( 如果('Sheet2'!$2:$2=“星期二”,如果('Sheet2'!B7:Y7”“), “Sheet2”!B7:Y7))) 进行此更改时,我的公式返回一个#n/a错误。“Sheet2”范围内没有不适用项!B7:Y7

我的电子表格中有一个运行良好的平均值函数:
=average(
如果('Sheet2'!$2:$2=“星期二”,如果('Sheet2'!7:7”“,
“Sheet2”!7:7)))

我不想在平均值计算中使用所有的第7行,我只想在一个小范围内工作,所以我将公式改为:
=average(
如果('Sheet2'!$2:$2=“星期二”,如果('Sheet2'!B7:Y7”“),
“Sheet2”!B7:Y7)))

进行此更改时,我的公式返回一个#n/a错误。
“Sheet2”范围内没有不适用项!B7:Y7


是什么导致了这个错误?

我建议您将IF语句的组成部分拆分成单独的单元格,看看它们是如何计算为True还是False的

我认为你的问题出在声明中如果('Sheet2'!$2:$2=“周二”,…)-据我所知,'Sheet2'$2:$2定义一行单元格,而不是一个可能等于“星期二”的值

试试='Sheet2'$A$2=“星期二”作为您的第一个测试,单独在一个单元中进行。如果手机号码是2!A2确实是“星期二”,那么这个公式的计算结果将为真。

试试这个:
=平均值(IF('Sheet2'!$B2:$Y2=“星期二”,IF('Sheet2'!$B$7:$Y$7”,“Sheet2'!$B$7:$Y$7))

由于这是一个数组公式,请确保键入后按Ctrl+Shift+Enter

当数组的大小对应时,Excel最适合使用数组公式。 您的原始公式在每个部分使用整行,因此如果您只想使用某个部分,请编辑整个公式,使其在数组公式的每个阶段使用相同数量的单元格

这样想,它所做的是在第2行上运行IF测试。 对于参数,我们假设有30列,所以它运行30个测试。
对于这些测试中的每一个,它都会运行subif测试,并最终返回30个值,这些值被发送到average函数

如果您使用的是
Excel2007
或更高版本,则有一个内置的单个函数
AVERAGEIF
。这对您来说可能更容易,它不需要
CTRL+SHIFT+ENTER
,也不需要检查空白范围(
AVERAGEIF
忽略这些),因此您可以使用此公式


=AVERAGEIF(Sheet2!$B2:$Y2,“星期二”,Sheet2!$B7:$Y7)

这是一个数组公式,因此
IF('Sheet2'!$2:$2=“星期二”…)是准确的。