【发布时间】:2018-06-05 17:31:25
【问题描述】:
我需要从随机日期列表中找到财政年度的第一个和最后一个日期。
Example:
Dates:
28-Mar-2015
01-Apr-2016
05-Apr-2016
.
.
.
30-Mar-2016
31-Mar-2016
03-Apr-2017
04-Apr-2017
.
.
.
26-Mar-2018
29-Mar-2018
05-Apr-2018
07-Apr-2018
.
.
10-May-2018
.
.
Till Date
Result:
FY 16-17 -> First date = 01-Apr-2016 & Last Date = 31-Mar-2017
FY 17-18 -> First date = 03-Apr-2017 & Last Date = 29-Mar-2018
FY 18-19 (Current) -> First date = 05-Apr-2018 & Last Date = Till date (Last possible date)
- 方法 #1: 对于任何 FY,获取 Apr-16 和 Mar-17 月份的硬编码日期,但这无效
Set fystart = Worksheets("Data Sheet").Range("E:E").Find(CDate("Apr-2016"), Lookat:=xlWhole)
Set fyend = Worksheets("Data Sheet").Range("E:E").Find(CDate("Mar-2017"), searchdirection:=xlPrevious, Lookat:=xlWhole)
但它只找到 01-Apr-2016 或 01-Mar-2017
- 方法 #2:
尝试使用 MIN & MAX 函数,但它返回整个随机日期列表的 Min & Max
感谢任何帮助。
【问题讨论】:
-
当您说财政年度的第一个和最后一个日期时,您实际上是指列表中最早和最新的日期吗?如果不是,您期望正确的结果是什么?
标签: vba date-range