为什么这个组合的 SORTYBY,FILTER,SEQUENCE,INDEX,COUNTIF 公式会部分排序?

问题描述 投票:0回答:1

我在 H:O 列中有公式计算值(行数根据 A:G 列中过滤值的数量动态调整。标题在第 2 行结束)

H:O 列中的计算根据时间判断某项的状态是否到期、即将到来或合规。以及其他相关数据。 O 列用最逾期的数字对这些值进行排名。

这些工作完美。

下面是一个过滤数组,仅显示到期项目,并且应该按从 1 到最低数字的升序对它们进行排名(此排名在值 O 中列出)。但它只是部分排序,例如 3,6,9,11,2。等等

=SORTBY(FILTER(INDEX($A:$O,SEQUENCE(ROWS($A:$O)),{6,7,3,11,15}),$N:$N="DUE"),INDEX($O:$O,SEQUENCE(COUNTIF($N:$N,"DUE"))),1)

我确实尝试粘贴为值并执行更简单的公式,因为它只处理值而不是过滤范围并且排序正确。我尝试将 O 列中的值调整为常规、数字、文本等,但它的排序仍然不稳定。

sorting excel-formula filtered-index
1个回答
1
投票

INDEX($O:$O,SEQUENCE(COUNTIF($N:$N,"DUE")))
未返回与
FILTER(INDEX($A:$O,SEQUENCE(ROWS($A:$O)),{6,7,3,11,15}),$N:$N="DUE")

相同的行

它返回 O 列中顶部的单元格,总计整个 N 列中的单元格数量 =

DUE
。即,如果有 10 个单元 =
DUE
那么它会返回
O1:O10
,而不是加入 DUE 的单元:

而是使用 SORT 并仅指定退货的第 5 列:

=SORT(FILTER(INDEX($A:$O,SEQUENCE(ROWS($A:$O)),{6,7,3,11,15}),$N:$N="DUE"),5,1)
© www.soinside.com 2019 - 2024. All rights reserved.