【问题标题】:Check Descending Order with Array Formula (with blank cells in range) - Excel使用数组公式检查降序(范围内有空白单元格) - Excel
【发布时间】:2016-10-14 01:15:03
【问题描述】:

我正在尝试确保数字列表按降序排列。我的数组公式适用于没有任何空白单元格的列表,但是当出现空白时它会中断。我的数据在R6:R825 范围内。

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

是否可以让公式在忽略空白单元格的同时执行相同的降序检查?

【问题讨论】:

  • 这个答案展示了如何在 VBA 中创建一个 UDF 以仅查看数组中的非空白单元格,或者,在不使用 VBA 的情况下,创建一个去除空白的辅助列(其中然后你可以运行你原来的公式):stackoverflow.com/questions/20472388/…
  • 感谢您的链接。我知道我可以使用辅助列,但我希望尽可能避免这一步。是否有另一种避免使用辅助列的解决方案?
  • 可能有一种方法可以将空白辅助列公式嵌套到原始公式中使用的数组中,我看看能不能解决。
  • 当您在等待有人提出基于公式的解决方案here are some UDFs for your consideration 时,它可以轻松实现您的要求。然而,这些是 UDF,而不是本机 Excel 公式,因此总是会执行较慢并且不会总是更新(除非您使用 Application.Volatile,从而降低工作簿的整体性能)。
  • Welp,有很多不同的方法来处理辅助列,但我不知道如何让它们在现有数组公式中作为数组工作,抱歉。似乎数组功能只应用于最外层或其他东西。 VBA 可能是您最好的选择。

标签: arrays excel sorting


【解决方案1】:

您可以使用这个简单的公式对数字进行降序排序,

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-05
    • 2020-10-19
    • 2020-01-24
    • 2023-03-16
    相关资源
    最近更新 更多