Excel:匹配日期范围中最近的日期

Excel:匹配日期范围中最近的日期,excel,formula,Excel,Formula,我试图显示列的标题,其中包含日期的单元格与特定单元格(A2)最接近(在其他三个有日期的单元格中,B2:D2) 这是我的工作表: A B C D 1 | T1 | T2 | T3 | T4 | 2 | 5/1/2013 | 5/31/2013 | 2/5/2013 | 3/2/2013 | A2 = a date. B2:D2 = 3 dates, can also be bl

我试图显示列的标题,其中包含日期的单元格与特定单元格(A2)最接近(在其他三个有日期的单元格中,B2:D2)

这是我的工作表:

       A           B          C          D
1 |    T1    |     T2    |    T3    |    T4    |
2 | 5/1/2013 | 5/31/2013 | 2/5/2013 | 3/2/2013 |

A2 = a date.
B2:D2 = 3 dates, can also be blank
我尝试使用在线找到的以下数组公式:

=IF(COUNT($B2:$D2)>0,INDEX($B$1:$D$1,MATCH(MIN(ABS($B2:$D2-$A2)),ABS($B2:$D2-$A2),0)),"")
但有时当只有一两个日期时,它会给我错误的标题。我还希望避免使用数组公式,但无法将其转换为常规公式


非常感谢您在这件事上提供帮助

如果您使用的数组公式不起作用,您能举个例子吗?我试过的案子都是这样

如果准备使用另一个日期与日期单元格A2不同的行,则可以避免使用数组公式

将行向下推一行,使标题位于第2行,日期位于第3行,然后在第1行输入以下公式,从单元格B1开始

=ABS(B3-$A$3)
将其拖动并输入以下HLOOKUP以获取标题行

=HLOOKUP(MIN(B1:D1),B1:D3,2,FALSE)
如果由于某种原因无法下移行,可以结合使用匹配和索引(速度较慢)。如果将差分函数=ABS(B2-$A$2)放在第7行,则公式为

=INDEX(B1:D1,1,MATCH(MIN(B7:D7),B7:D7,0))

你能举一个例子说明你使用的数组公式不起作用吗?我试过的案子都是这样

如果准备使用另一个日期与日期单元格A2不同的行,则可以避免使用数组公式

将行向下推一行,使标题位于第2行,日期位于第3行,然后在第1行输入以下公式,从单元格B1开始

=ABS(B3-$A$3)
将其拖动并输入以下HLOOKUP以获取标题行

=HLOOKUP(MIN(B1:D1),B1:D3,2,FALSE)
如果由于某种原因无法下移行,可以结合使用匹配和索引(速度较慢)。如果将差分函数=ABS(B2-$A$2)放在第7行,则公式为

=INDEX(B1:D1,1,MATCH(MIN(B7:D7),B7:D7,0))

好的,答案很简单

我回到工作表去调查发生这种情况的场景。 似乎当A2为空(=没有进行比较的日期)时,它只给出了从B2:D2开始的唯一可用日期

通过简单地向IF语句添加另一个条件,该条件仅在A2具有值时有效,从而解决了问题。因此,我们正在检查A2和B2:D2中是否都有值(B2:D2需要至少有一个值:

=IF(AND(COUNT($B2:$D2)>0,$A2>0),......)
这是完整的公式

=IF(AND(COUNT($B2:$D2)>0,$A2>0),INDEX($B$1:$D$1,MATCH(MIN(ABS($B2:$D2-$A2)),ABS($B2:$D2-$A2),0)),"")

谢谢你让我回去调查!好的,所以答案很简单

我回到工作表去调查发生这种情况的场景。 似乎当A2为空(=没有进行比较的日期)时,它只给出了从B2:D2开始的唯一可用日期

通过简单地向IF语句添加另一个条件,该条件仅在A2有值时才起作用,从而解决了问题。因此,我们正在检查A2和B2:D2是否都有值(其中B2:D2需要至少有一个值:

=IF(AND(COUNT($B2:$D2)>0,$A2>0),......)
这是完整的公式

=IF(AND(COUNT($B2:$D2)>0,$A2>0),INDEX($B$1:$D$1,MATCH(MIN(ABS($B2:$D2-$A2)),ABS($B2:$D2-$A2),0)),"")

感谢您让我回到调查!:D

对于非阵列替代方案,您可以尝试:

=LOOKUP(2,1/FREQUENCY(0,ABS(B2:D2-A2)),B$1:D$1)

代替公式的
索引(…)
部分。

对于非数组选项,您可以尝试:

=LOOKUP(2,1/FREQUENCY(0,ABS(B2:D2-A2)),B$1:D$1)

代替公式中的索引(…)部分。

它似乎对我有效。请给出一个“一个或两个日期”的例子。它似乎对我有效。请给出一个“一个或两个日期”的例子。