Excel 间接给予#NUM!过滤掉的单元格出错

Excel 间接给予#NUM!过滤掉的单元格出错,excel,excel-formula,excel-2010,Excel,Excel Formula,Excel 2010,我有下面的公式 INDIRECT("X5:X"&AGGREGATE(14,7,ROW($A$5:$A400))/SUBTOTAL(103,OFFSET($A$5,ROW($A$5:$A400)-ROW($A$5),0)),1)) 聚合函数返回256,这是最后一个可见(未过滤)行的行号。第一个未过滤的行是第147行。换句话说,只有147到256之间的行可见 间接函数应该给出X5:X256中的值数组。它给出了#NUM!。经过进一步调查,我发现对于被过滤掉的X5:X146,间接函数返回#NU

我有下面的公式

INDIRECT("X5:X"&AGGREGATE(14,7,ROW($A$5:$A400))/SUBTOTAL(103,OFFSET($A$5,ROW($A$5:$A400)-ROW($A$5),0)),1))
聚合函数返回256,这是最后一个可见(未过滤)行的行号。第一个未过滤的行是第147行。换句话说,只有147到256之间的行可见

间接函数应该给出X5:X256中的值数组。它给出了#NUM!。经过进一步调查,我发现对于被过滤掉的X5:X146,间接函数返回#NUM!。在X146(可见)之后,它给出单元格中的值

我的第一个问题是:为什么间接给予#NUM!对于过滤掉的、不可见的细胞

为了避免这个问题,我想我可以用这样的方法:

INDIRECT("X" & AGGREGATE(15,7....) & "X" & AGGREGATE(14,7....)
这将只提供可见范围,但我想知道是否有其他方法可以做到这一点

可在此处下载该文件的简化版本:


我的猜测:您的数据中有什么东西(或者可能是为
聚合创建的数组),或者甚至可能是您如何在工作表中输入公式的
INDIRECT(“X5:X256”)
返回完整数组,无论行是否被过滤掉。是。间接(“X5:X256”)返回我想要的完整数组。我只是不知道为什么过滤后的单元格返回#NUM@Joshua重新阅读了我的评论并提供了更多信息。我已删除了第256行。因此,现在过滤的行最多为255行。我按日期过滤数据。如果只有十月可见,那么第220到255行间接显示第5到219行为#NUM!。但是,如果可以看到1月和10月,那么就没有了!观察到。从2月到9月,这些看不见的细胞不会显示为#NUM!。如果二月和十月可见,则只有一月行为#NUM!。聚合没有问题,因为它在给出最后一个可见行的正确行号方面是一致的。当一月和十月行都可见时,间接返回一个数组,其中第5行到第222行都是0,这是正确的结果。通过在公式栏中突出显示公式的相关部分并点击F9,我得到了这些结果。我的猜测是:数据中的某些内容(或者可能是为
聚合创建的数组),或者甚至可能是您如何将公式输入到工作表中的
INDIRECT(“X5:X256”)
返回完整数组,无论行是否被过滤掉。是。间接(“X5:X256”)返回我想要的完整数组。我只是不知道为什么过滤后的单元格返回#NUM@Joshua重新阅读了我的评论并提供了更多信息。我已删除了第256行。因此,现在过滤的行最多为255行。我按日期过滤数据。如果只有十月可见,那么第220到255行间接显示第5到219行为#NUM!。但是,如果可以看到1月和10月,那么就没有了!观察到。从2月到9月,这些看不见的细胞不会显示为#NUM!。如果二月和十月可见,则只有一月行为#NUM!。聚合没有问题,因为它在给出最后一个可见行的正确行号方面是一致的。当一月和十月行都可见时,间接返回一个数组,其中第5行到第222行都是0,这是正确的结果。我通过在公式栏中突出显示公式的相关部分并点击F9得到这些结果。