如何 select select 在 EXCEL 的每日数据中编辑月份的最后一天
How to select the last day of selected months in daily data in EXCEL
我有从 2005 年 1 月 1 日到 2017 年 12 月 29 日的每日数据。我想要每年 select 三月、六月、九月和十二月的最后一天,以及它们各自的数据。部分数据:
Date Variable
30-Mar-2005 1.2943
31-Mar-2005 1.2964
1-Apr-2005 1.2959
4-Apr-2005 1.2883
5-Apr-2005 1.281
I.E:对于 2005 年,我想要 2005 年 3 月 31 日、2005 年 6 月 30 日、2005 年 9 月 30 日和 2005 年 12 月 30 日的日期。期望的输出:
Date Variable
31-Mar-2005 1.2964
30-Jun-2005 1.9859
30-Sep-2005 1.2233
30-Dec-2005 1.2814
我目前有内置的 excel 公式(我还没有安装任何其他插件等)。
更具体地说:左边是数据,右边是所需的输出。
我将欧元转换列表转换为 Table 并使用了结构化引用。但如果您愿意,可以使用正常范围引用。
在其他一些 table 中,输入以下公式,其中 $A$45 指的是数据中第一季度的结束日期 table。
F2: =IF(EOMONTH($A,(ROWS(:1)-1)*3)>MAX(Table1[Date]),"",LOOKUP(2,1/(EOMONTH($A,(ROWS(:1)-1)*3)>=Table1[Date]),Table1[Date]))
在相邻的列中,输入公式:
G2: =IFERROR(VLOOKUP(F3,Table1,2,FALSE),"")
然后往下填,直到出现空白。
(在我的示例 table 中,最后一个日期是 2006 年 1 月 27 日,所以最后包含的 "End date" 是 2005 年 12 月 30 日,没有 2005 年 12 月 31 日的数据)
不确定这是否适合您,但无论如何。
您似乎总是查看特定年份(例如 2005 年)的三月、六月、九月和十二月的最后一天。
但您并不是要查找每个月的最后一个 自然 日。您希望每个月的最后一天出现在您的数据中(例如,这解释了为什么您使用 2005 年 12 月 30 日而不是 31 日,因为没有 31)。
在Excel中,日期是数字。以后走的越多,相关的数字就越大。了解这一点后,您可以获取每个月的日期 只需查看日期范围内的最大值 。
但首先,您需要定义日期范围,使用 2 个条件:
- 日期的月份必须是三月、六月、九月和十二月
- 您需要特定年份的日期(例如 2005 年)。
为此,您需要一个数组公式。我的公式获取特定月份和年份的最大天数。为了测试它,在我的 Excel 中,我做了一个日期系列,从 01/01/2005 开始,到 31/12/2017 结束。我手动删除了 31/12/2005 因为那个日期没有数据。
在单元格 I4 中,只需键入要检查的年份。该公式将获取当年三月、六月、九月和十二月的最后一天。
我的数组公式是:
=MAX(IF(MONTH(IF(YEAR($A:$A50)=$I;$A:$A50))=3;$A:$A50))
IMPORTANT!: Because it is an array formula, you will need to type it
as usual, and then, instead of pressing Enter press
CTRL+SHIFT+ENTER
你需要4次这个公式。只需将 3(三月)更改为您需要的月份数(6、9 和 12)即可。
现在你有了日期,你只需要 VlookUp
来获得你想要的值。
=VLOOKUP(G5;$A:$B50;2;false)
如果我更改年份值,我会得到这些新值:
如果要查看文件。我把例子上传到Gdrive了,有需要的可以下载Download
无论如何,请尝试根据您的需要调整此公式。
那么,有两种情况
当您知道该月的最后几天时。 (更简单)。
我有每两周一次的数据。我采用了这种简单而创新的方法。从所有日期中,我首先使用 Day()
函数提取了日期。例如,Day(A1)
。 (请记住,在执行此操作时,请勿删除原始日期列。在单独的列中执行此操作,因为这将帮助您稍后匹配日期)。
然后我使用之前构建的 Day 列对数据进行降序排序。这会将所有结束日期放在首位。然后删除底部的开始日期。所以,现在我只剩下结束日期,但显然月份不对。
因此,使用 =MONTH(A1) & "/" & YEAR(A1)
创建另一列,仅从原始日期列中提取月份和年份。使用此列对数据进行排序。而且,你很高兴去!
当您没有确切的最后几天,但像上图所示的最长日期时。
在这种情况下,在删除初始日期时,您必须注意需要删除的日期。
例如,我删除了有 31 天(包括第 17 天)的月份的第 17 天和有 30 天的月份的第 16 天(如果存在)因为如果有这个日期,假设是 2018 年 4 月 18 日,那么这个将是该月的最后一天,因为我有每两周一次的数据。
我有从 2005 年 1 月 1 日到 2017 年 12 月 29 日的每日数据。我想要每年 select 三月、六月、九月和十二月的最后一天,以及它们各自的数据。部分数据:
Date Variable
30-Mar-2005 1.2943
31-Mar-2005 1.2964
1-Apr-2005 1.2959
4-Apr-2005 1.2883
5-Apr-2005 1.281
I.E:对于 2005 年,我想要 2005 年 3 月 31 日、2005 年 6 月 30 日、2005 年 9 月 30 日和 2005 年 12 月 30 日的日期。期望的输出:
Date Variable
31-Mar-2005 1.2964
30-Jun-2005 1.9859
30-Sep-2005 1.2233
30-Dec-2005 1.2814
我目前有内置的 excel 公式(我还没有安装任何其他插件等)。
更具体地说:左边是数据,右边是所需的输出。
我将欧元转换列表转换为 Table 并使用了结构化引用。但如果您愿意,可以使用正常范围引用。
在其他一些 table 中,输入以下公式,其中 $A$45 指的是数据中第一季度的结束日期 table。
F2: =IF(EOMONTH($A,(ROWS(:1)-1)*3)>MAX(Table1[Date]),"",LOOKUP(2,1/(EOMONTH($A,(ROWS(:1)-1)*3)>=Table1[Date]),Table1[Date]))
在相邻的列中,输入公式:
G2: =IFERROR(VLOOKUP(F3,Table1,2,FALSE),"")
然后往下填,直到出现空白。
(在我的示例 table 中,最后一个日期是 2006 年 1 月 27 日,所以最后包含的 "End date" 是 2005 年 12 月 30 日,没有 2005 年 12 月 31 日的数据)
不确定这是否适合您,但无论如何。
您似乎总是查看特定年份(例如 2005 年)的三月、六月、九月和十二月的最后一天。
但您并不是要查找每个月的最后一个 自然 日。您希望每个月的最后一天出现在您的数据中(例如,这解释了为什么您使用 2005 年 12 月 30 日而不是 31 日,因为没有 31)。
在Excel中,日期是数字。以后走的越多,相关的数字就越大。了解这一点后,您可以获取每个月的日期 只需查看日期范围内的最大值 。
但首先,您需要定义日期范围,使用 2 个条件:
- 日期的月份必须是三月、六月、九月和十二月
- 您需要特定年份的日期(例如 2005 年)。
为此,您需要一个数组公式。我的公式获取特定月份和年份的最大天数。为了测试它,在我的 Excel 中,我做了一个日期系列,从 01/01/2005 开始,到 31/12/2017 结束。我手动删除了 31/12/2005 因为那个日期没有数据。
在单元格 I4 中,只需键入要检查的年份。该公式将获取当年三月、六月、九月和十二月的最后一天。
我的数组公式是:
=MAX(IF(MONTH(IF(YEAR($A:$A50)=$I;$A:$A50))=3;$A:$A50))
IMPORTANT!: Because it is an array formula, you will need to type it as usual, and then, instead of pressing Enter press CTRL+SHIFT+ENTER
你需要4次这个公式。只需将 3(三月)更改为您需要的月份数(6、9 和 12)即可。
现在你有了日期,你只需要 VlookUp
来获得你想要的值。
=VLOOKUP(G5;$A:$B50;2;false)
如果我更改年份值,我会得到这些新值:
如果要查看文件。我把例子上传到Gdrive了,有需要的可以下载Download
无论如何,请尝试根据您的需要调整此公式。
那么,有两种情况
当您知道该月的最后几天时。 (更简单)。
我有每两周一次的数据。我采用了这种简单而创新的方法。从所有日期中,我首先使用Day()
函数提取了日期。例如,Day(A1)
。 (请记住,在执行此操作时,请勿删除原始日期列。在单独的列中执行此操作,因为这将帮助您稍后匹配日期)。
然后我使用之前构建的 Day 列对数据进行降序排序。这会将所有结束日期放在首位。然后删除底部的开始日期。所以,现在我只剩下结束日期,但显然月份不对。
因此,使用=MONTH(A1) & "/" & YEAR(A1)
创建另一列,仅从原始日期列中提取月份和年份。使用此列对数据进行排序。而且,你很高兴去!当您没有确切的最后几天,但像上图所示的最长日期时。
在这种情况下,在删除初始日期时,您必须注意需要删除的日期。
例如,我删除了有 31 天(包括第 17 天)的月份的第 17 天和有 30 天的月份的第 16 天(如果存在)因为如果有这个日期,假设是 2018 年 4 月 18 日,那么这个将是该月的最后一天,因为我有每两周一次的数据。