Excel中的计算就像电子表格的机房,激活数据,帮助我们从中提取信息。因此,当我们构造公式时,我们应该确保没有出错的余地。对Excel公式和函数的语法有非常明确的预期。即使是一个很小的错误,比如丢失了一个括号或者一个参数,都会产生一个错误信息,提示我们去修复它。
随着电子表格的任务越来越复杂,我们需要在上期(Excel电子表格设计的一般原则)中了解这些东西,让你不再对数据无所作为!)在我们所学的基本原理的基础上,尽最大努力防止这些错误。准确性至关重要,因此我们需要一个内置的检查和平衡机制来捕捉计算中的任何潜在错误。为了保持我们的电子表格的灵活性和响应性,我们需要在Excel电子表格中设计计算,以便公式可以自动更新,并且当工作簿的其他部分发生变化时,公式不会中断。我们还需要确保工作簿易于维护和用户友好。因此,有必要让其他人了解我们的计算,并跟踪它是如何得到结果的。换句话说,我们的计算必须是可审计和透明的。
我们先来看看下面的案例,了解一下在设计Excel操作的过程中需要注意的地方。
在处理数据的计算时,我们尽量把计算放在指定的工作表中,但偶尔有些数据计算可以在原始数据表中进行,视情况而定。例如,在下面的“数据”工作表中,我们通过计算得到“区域”列的数据。
为了提高公式的可审核性和有效性,我们在这里使用了索引和匹配的经典搭配。
INDEX函数查询的区域(数组)是查找工作表中Region列的数据,在此之前,我们已经为其创建了名称“Region”。通过MATCH函数查找要查询的行号(row_number),查询当前M列“郊区”的数据,其所在区域为查找工作表中郊区列的数据。
在“地区”列后,我们添加两列辅助数据,即“月”和“年”,以获取“日期”列中日期的月份和年份。
创建一个名为“Calc”的新工作表,单独计算一些数据。
首先,我们通过MAX函数获取最新的销售日期“最后销售日期”:=max (TBL _销售[日期])。
在这里我们可以看到,函数中的参数基本上都是使用了创建的“表”和“名称”,在复杂的操作中跨表选择数据可以节省大量的时间和精力,而且当原始数据更新时,公式中引用的参数也会自动更新。
在“最后销售日期”的基础上,我们编制了一个数据表,用于统计过去12个月中每个月的不同类型的销售数据。
在“日期”列中,我们通过函数EOMONTH进行计算:=EOMONTH(B3,-12) 1。
EOMONTH计算“最后销售日期”前12个月的日期,并在该日期后的第一天加1。
在“房子”列下,我们通过使用AVERAGEIFS函数来计算该类型在其对应的“月”和“年”日期下的平均值:=average ifs (TBL _销售[价格],TBL _销售[类型],计算!D$6,TBL _ Sales[年],Calc!$C7,tbl_Sales[Month],Calc!$B7).
要计算的平均值是“价格”一栏中的数据。第一个条件是“Type”,对应的是“House”(使用混合引用,即锁定行,保证向右拖动时公式随着列的变化而变化)。第二个条件是“年”,对应的是年份(使用混合引用,即锁定列,保证向下拖动时公式随变化而变化)。第一
但是这里需要注意的是,由于当前公式使用了结构化引用(例如tbl_Sales[Price]等。),我们不能直接拖拽公式,但是可以直接复制公式。
在这个数据表中,我们只计算了2016年10月的数据,另一个函数EDATE在“日期”中返回未来11个月的日期:=EDATE(A7,1)。
在“日期”的基础上,选择B7到F7单元格区域,将鼠标放在F7单元格的右下角,当它变成黑色十字后,双击鼠标快速完成数据填写。
通过以上案例,我们简单的知道了如何借助公式和函数从原始数据集中获取我们想要的数据进行相关计算,从而对处理后的数据进行后续操作,比如制作报表(图表)等。
上面用到的一些函数,比如AVERAGEIFS函数,请参考文章:Excel系列的AVERAGEIF和AVERAGEIFS函数,以及其他日期相关的函数比如EOMONTH、EDATE等。后续更新会进一步介绍,敬请期待!
关于数据计算,其实这一期开始就已经提到了相关原则:准确、灵活、实时响应、易维护、用户友好,尽量简短不复杂。也就是说,既要让自己担心,又要让其他用户感到舒服。
#新技能获得#
报告/反馈