诺拉(Nora)多年来一直保持着天气记录。工作簿的每一页都是单独的一年,每一页上的A列是该年中的日期,B列是该天的降水量(如果有)。诺拉(Nora)想创建一个图表,显示到目前为止的今年降水量与去年的降水量。她想知道是否有一种方法可以根据今天的日期自动使该图表参考两个年份的正确降水值。

有多种方法可以满足此需求,具体取决于您要实现的目标。如果您只想按日期比较今年的降雨量和去年的降雨量,则可以通过设置一些动态命名范围来定义要使用的数据,从而轻松地做到这一点。

首先,假设您2015年的数据位于名为2015的工作表中,而2016年(到目前为止)的数据位于名为2016的工作表中。在每个工作表上,第1行包含标题,这意味着您的日期实际上在A2单元格中开始,而降水读数则在B2单元格中。

请按照以下步骤设置范围:

。显示功能区的“公式”选项卡。

。在“定义的名称”组中,单击“名称管理器”工具。 Excel将显示“名称管理器”对话框。

。单击新建按钮。 Excel将显示“新名称”对话框。 (请参见图1。)

。在名称字段中,输入名称CurrentYear(请注意,这是一个单词,没有空格)。

。在“引用到”字段中,输入以下公式:

。单击确定按钮以完成创建命名范围。新范围应出现在“名称管理器”对话框中。

。再次单击“新建”按钮。 Excel(再次)显示“新名称”对话框。

。在名称字段中,输入名称PreviousYear(再次注意,这是一个单词,没有空格)。

。在“引用到”字段中,输入以下公式:

。单击确定按钮。新范围应出现在“名称管理器”对话框中。

。第三次单击“新建”按钮。 Excel将显示“新名称”对话框。

。在名称字段中,输入名称日期。

。在“引用到”字段中,输入以下公式:

。单击关闭按钮以关闭“名称管理器”对话框。

定义了范围后,您现在可以使用以下范围创建图表:

。显示功能区的“插入”选项卡。

。在“图表”组中,单击“列”选项。 Excel将显示一个下拉列表。

。在“聚集列”格式上单击一次。 (这是2-D列标题下的第一个选项。)Excel在工作表中创建一个空白图表对象。

。用鼠标右键单击图表对象。 Excel将显示一个上下文菜单。

。从上下文菜单中选择选择数据。 Excel将显示“选择数据源”对话框,该对话框应完全为空,因为尚未向图表添加任何数据范围。

。在对话框的左侧,图例条目(系列)下

标题中,单击添加按钮。 Excel将显示“编辑系列”对话框。 (请参见图2。)

。在系列名称字段中,输入2015。 。在系列值字段中,输入:’2015’!PreviousYear。

。单击确定按钮。数据系列现在出现在“选择数据源”对话框中。

。再次单击在步骤6中单击的同一“添加”按钮。Excel再次显示“编辑数据系列”对话框。

。在系列名称字段中,输入2016。 。在系列值字段中,输入:’2016’!CurrentYear。

。单击确定按钮。现在,第二个数据系列出现在“选择数据源”对话框中。

。在对话框的右侧,在“水平”(类别)下

|单击“轴标签”标题,然后单击“编辑”按钮。 Excel将显示“轴标签”对话框。 (请参见图3。)

。在“轴标签范围”中,输入:“ 2016”!日期。

。单击确定按钮。 “选择数据源”对话框应完全填充必要的信息。 (请参见图4。)

。单击“确定”关闭“选择数据源”对话框。

现在应该可以看到更新后的图表,其中仅显示直到今天为止的日期。您可以根据需要继续设置图表格式。

(例如,您可能希望对图表中的日期进行格式化,以使其不包含年份。)此外,图表是动态的,因此,明天打开工作簿时,它会比原来多显示一天的时间。今天。

处理它的另一种方法是重新考虑如何存储数据。

不用将所有降水读数存储在单独的工作表上(按年),而是将它们全部放在一个工作表上。由于Excel可以处理工作表中的一百万行数据,因此您不会遇到任何实际限制。 (一百万行代表超过2700年的时间。)

现在,在另一个工作表上,您可以使用两个数组公式来计算迄今为止两个年份的累积降雨量。以下数组公式将提供上一年的降雨量:

假设原始降水读数在名为Data的工作表上,并且不超过1000行。 (您可以根据需要修改其中的任何一个。)要获取今年的最新降雨量,可以使用以下数组公式:

=SUM(Data!B2:B1000*IF(Data!A2:A1000>=DATE(YEAR(NOW())-1,1,1),IF(Data!A2:A1000<=EDATE(NOW(),-12),1,0)))

记住:这两个都是数组公式,因此应使用Ctrl + Shift + Enter输入。每个公式返回的单个值代表每年至今的累计降雨量。然后,可以在所需的任何图表中使用这两个值。

=SUM(Data!B2:B1000*IF(Data!A2:A1000>=DATE(YEAR(NOW()),1,1),IF(Data!A2:A1000<=NOW(),1,0)))

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本提示(13427)适用于Microsoft Excel 2007、2010、2013和2016。