【发布时间】:2018-11-13 13:37:26
【问题描述】:
我有一个列表,其中包含与这些时间间隔相关的日期间隔和货币换算。请参见下面的示例:
Start Date Close Date EUR
30/03/2013 26/04/2013 1.18
30/03/2013 26/04/2013 1.18
27/04/2013 24/05/2013 1.19
25/05/2013 28/06/2013 1.17
29/06/2013 26/07/2013 1.17
27/07/2013 23/08/2013 1.16
24/08/2013 27/09/2013 1.16
28/09/2013 25/10/2013 1.19
26/10/2013 22/11/2013 1.17
23/11/2013 27/12/2013 1.2
28/12/2013 24/01/2014 1.2
05/01/2014 21/02/2014 1.21
22/02/2014 28/03/2014 1.21
29/03/2014 25/04/2014 1.21
26/04/2014 23/05/2014 1.21
04/05/2014 27/06/2014 1.24
08/06/2014 25/07/2014 1.25
26/07/2014 22/08/2014 1.26
23/08/2014 25/09/2014 1.25
26/09/2014 23/10/2014 1.28
我需要将每个日期间隔转换为单行,包括该间隔内所有可能的日期,并保持各自的转换率。因此,对于第一个日期间隔,它将是:
30/03/2013 1.18
31/03/2013 1.18
01/04/2013 1.18
02/04/2013 1.18
03/04/2013 1.18
04/04/2013 1.18
05/04/2013 1.18
06/04/2013 1.18
07/04/2013 1.18
08/04/2013 1.18
09/04/2013 1.18
10/04/2013 1.18
11/04/2013 1.18
12/04/2013 1.18
13/04/2013 1.18
14/04/2013 1.18
15/04/2013 1.18
16/04/2013 1.18
17/04/2013 1.18
18/04/2013 1.18
19/04/2013 1.18
20/04/2013 1.18
21/04/2013 1.18
22/04/2013 1.18
23/04/2013 1.18
24/04/2013 1.18
25/04/2013 1.18
26/04/2013 1.18
无论如何,这对于所有日期范围都很容易吗?我在excel中想出了这样的东西:
=IF(AND(A1>='Sheet1'!$A$1, A1<='Sheet1'!$B$1), 'Sheet1'!$C$1), A1=当前单元格包含一个日期; Sheet1!A1=开始日期; Sheet1!B1=关闭日期; C1=欧元兑换
问题是,每当条件不适用时,我都需要它移动到下一行。意思是,每次分析的日期超出相关区间时,我需要在 Sheet1 中将行位置增加一。任何帮助,将不胜感激。 VBA就好了。
最好, 安东尼奥
【问题讨论】:
标签: excel vba for-loop if-statement while-loop