没有排序的近似匹配

时间:2016-08-15 17:34:05

标签: excel-formula

我在A列中有一列日期按升序排序。单元格C1包含日期。我想要一个公式来找到A列中最早的日期,该日期等于或大于C1中的日期。

我意识到这可以通过按降序对A列进行排序并使用以下公式来完成...

=MATCH(C1,A:A,-1)

...但好奇心让我想知道如果不改变排序顺序是否可行。当工作表按升序排序时,上面的公式返回错误。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

使用此:

=IF(ISNUMBER(MATCH(C1,A:A,0)),MATCH(C1,A:A,0),MATCH(C1,A:A)+1)

它测试是否存在完全匹配,如果是,则使用完全匹配。否则它使用默认值然后向下移动一行。

或简化:

=MATCH(C1,A:A)+IF(ISNUMBER(MATCH(C1,A:A,0)),0,1)

甚至更简单:

=MATCH(C1,A:A)+ISERROR(MATCH(C1,A:A,0))

enter image description here

答案 1 :(得分:1)

如果您的数据按升序排序,则可以使用countif

=countif(A:A, "<" & C1)

确保您的数据始终排序,如果文本是文本,则可能需要手动添加标题。