使用数组公式检查降序(包括范围内的空单元格)- Excel

3

我想要确保一个数字列表按照降序排列。我有一个数组公式,对于没有空单元格的列表非常有效,但是当存在空单元格时,它会出现错误。我的数据在范围R6:R825中。

={AND('Tab 1'!R6:R824>='Tab 1'!R7:R825)}

在忽略空单元格的情况下,公式是否可以执行相同的降序检查?


这个答案展示了如何在VBA中创建一个UDF,只查看数组中的非空单元格,或者,不使用VBA,创建一个帮助列来剥离空白(然后您可以运行原始公式):http://stackoverflow.com/questions/20472388/how-to-find-all-non-blank-cells-in-an-array-of-cells - CactusCake
谢谢提供链接。我知道我可以使用辅助列,但我希望尽可能避免这一步骤。是否有其他解决方案可以避免使用辅助列? - kschindl
可能有一种方法可以将去除空格辅助列的公式嵌套到原始公式中使用的数组中,我会看看能否想出来。 - CactusCake
当你在等待某人提供基于公式的解决方法时,这里有一些自定义函数供您考虑,可以轻松实现您所要求的功能。然而,这些是自定义函数,不是本地的Excel公式,因此始终会执行较慢,并且不总是更新(除非您正在使用Application.Volatile函数,从而降低工作簿的整体性能)。 - Ralph
好吧,有很多不同的方法可以创建辅助列,但我无法弄清如何将它们作为现有数组公式中的数组工作,抱歉。似乎数组功能仅适用于最外层或其他某些层。在这里,VBA可能是您最好的选择。 - CactusCake
1个回答

0

您可以使用这个简单的公式将数字按降序排序,

=IFERROR(LARGE(A:A,ROW()),"")

拖动填充手柄或双击以对整个范围进行排序。上述公式仅在数据从第1行开始时有效。看起来您的数据从第6行(R6)开始。因此,请使用以下公式,

=IFERROR(LARGE(R:R,ROW()-5),"")


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接