2014-10-07 200 views
0

Excel 2010中有一種方法可以根據近似匹配將日期列與當天日期進行比較,然後根據與當前日期的接近度對日期進行排名?這很長,讓我澄清。我有一列日期,我想將它們與今天的日期進行比較,即使沒有與今天的日期完全匹配。我想根據與今天的日期比較來排列日期列表,並希望允許關係。Excel - 根據與當天日期的比較對日期進行排名

任何建議將不勝感激。謝謝!

+0

你能澄清「允許關係」 - 可能兩個日期具有相同的級別,如果不是什麼基礎來區分它們? – pnuts 2014-10-07 17:28:49

+0

你能提供樣品數據和預期結果嗎?這將有助於提供更接近你想要的解決方案。 – 2014-10-07 17:29:24

+0

所有的日期都是過去的......或者將來的所有日期......或混合物? – 2014-10-07 17:34:26

回答

0

您可以使用DateDif並比較當天日期的值(使用TODAY),然後將DateDif應用於列並對該列進行排序以排序日期。

如果由於某種原因您沒有DateDif,那麼使用TODAY()和您的單元格的日期,您可以從eachother中減去它們以獲得排序的區別。

1

A2:A20假定日期,然後在此公式中B2複製下來的排名將日期中的最接近於今天命令(不論過去或將來)

=SUMPRODUCT((ABS(TODAY()-A$2:A$20)<ABS(TODAY()-A2))+0)+1

如果所有日期都在過去(或未來),那麼簡單RANK函數應該足夠了

+0

感謝您的回覆!日期在過去和未來,所以SUMPRODUCT完美運作。我剩下的問題是如何在表格中工作,以便在數據被添加到新行時使用正確的公式。只要我拖動這個公式超過輸入值的範圍,我會得到一個#VALUE錯誤。例如,假設只有A2:A20範圍內的值 - 但我希望範圍啓用A2:A1000的潛在範圍。只要我修改公式爲A2:A21,我就會得到一個#VALUE錯誤。有沒有使用OFFSET將範圍調整到當前範圍的方法? – 2014-10-08 12:31:33

+0

您可以使用「動態命名範圍」代替A $ 2:A $ 20 - 例如在名稱管理器中(在公式選項卡上)將數據定義爲'= OFFSET($ A $ 2,0,0,COUNT($ A:$ A))'並在公式中用數據代替A $ 2:A $ 20(或者你可以直接在公式中使用OFFSET函數) - 我假設日期將是連續的 - 即沒有差距 – 2014-10-08 13:23:00

+0

感謝Barry Houdini!與完美運作的OFFSET相結合。你是魔術師! – 2014-10-08 14:32:49