我需要找到First&从随机日期列表开始的财政年度的最后日期。
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: 对于任何风云,获得4月16日的硬编码日期& 3月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)
但它只发现2016年4月1日或2017年3月1日
- 方法#2:
试图使用MIN& MAX功能但返回Min&整个随机日期列表的最大值
感谢任何帮助。
答案 0 :(得分:0)
非VBA方法:您可以使用--link
和IF
或MIN
创建一个数组公式来执行此操作(使用 Ctrl + <输入kbd> Shift + 输入)。
由于您的FY从4月1日开始到次年的3月31日结束,我添加了两个帮助列:&#34; BEGINS&#34;和&#34; ENDS&#34;,以及相关日期。
&#34; FIRST DATE&#34;的公式是MAX
,其中{=MIN(IF($E$1:$E$13>=B16,$E$1:$E$13))}
是您的日期列表,$E$1:$E$13
是&#34;开始&#34;日期。
同样,&#34;最后日期&#34;是B16
,其中{=MAX(IF($E$1:$E$13<=C16,$E$1:$E$13))}
是&#34;结束&#34;日期。
这是有效的,因为C16
会返回&#34;已过滤&#34;然后,您可以找到IF($E1:$E$13<=C16...
或MAX
的日期数组。