为了能够有效地处理、计算和分析财务数据,进行财务建模、决策制定和预测分析,我们需要学习财务数据分析中常用的Excel函数,这些函数可以用来汇总数据、求取平均值、查找特定值、计算财务指标等,对提高财务分析的准确性、效率和可靠性有很大的帮助。
提示 这里不展开讲解函数,如果读者对Excel函数完全没有了解,可以通过其他渠道学习。
本小节简要介绍常用的求和函数SUM、SUMIF、SUMIFS、SUMPRODUCT。
SUM函数用于计算一组数字的总和,可以一次性输入多个数字,也可以引用包含数字的单元格范围,将它们相加以得到总和。
语法: =SUM(number1, number2,…),其中number是要求和的数值。
SUMIF函数用于根据指定条件对一组数据进行条件求和,例如可以使用SUMIF来计算某类产品的销售总额。
语法: =SUMIF(range, criteria, [sum_range]),其中range是要应用条件的数据范围,criteria是条件,[sum_range](可选)是要求和的范围,如果省略,则默认为range。
SUMIFS函数用于根据多个条件对一组数据进行条件求和,例如可以使用SUMIFS来计算某个地区、某个产品的销售总额。
语法: =SUMIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2],…),其中sum_range是要求和的范围,criteria_range1、criteria1是第一个条件范围和条件,[criteria_range2,criteria2](可选)是额外的条件范围和条件。
SUMPRODUCT函数用于执行按元素相乘后的总和操作,通常用于多个数组的计算,例如可以使用SUMPRODUCT来计算销售数量与销售价格的总收入。
语法: =SUMPRODUCT(array1, array2,…),其中array1、array2等是要相乘并求和的数组。
为了方便大家理解,这里给出一个饮料厂的统计数据,如表3-1所示。
表3-1 一个饮料厂的统计数据
使用SUM、SUMIF、SUMIFS、SUMPRODUCT对表3-1的数据进行计算,结果如表3-2所示。
表3-2 使用函数对数据进行计算
本小节简要介绍常用的计数函数COUNT、COUNTIF、COUNTIFS。
COUNT函数用于计算一组数据中包含数字的单元格数量,例如可以使用COUNT函数来统计一个区域内包含数字的单元格数量。
语法: =COUNT(value1, value2,…),其中value1、value2等是要计数的数值或单元格引用。
COUNTIF函数用于根据指定条件计数一组数据中符合条件的单元格数量,例如可以使用COUNTIF函数来统计某个区域内符合特定条件(例如大于10的数值)的单元格数量。
语法: =COUNTIF(range, criteria),其中range是要应用条件的数据范围,criteria是条件。
COUNTIFS函数用于根据多个条件计数一组数据中符合所有条件的单元格数量,例如可以使用COUNTIFS函数来统计某个区域内同时符合多个条件的单元格数量,如统计销售额大于1000且产品为A的订单数量。
语法: =COUNTIFS(range1, criteria1, [range2, criteria2],…),其中range1、criteria1是第一个条件范围和条件,[range2, criteria2](可选)是额外的条件范围和条件。
仍然以表3-1为例进行计算,函数COUNT、COUNTIF、COUNTIFS对该表中的数据计算后,结果如表3-3所示。
表3-3 使用函数对数据进行计算
本小节简要介绍常用的平均值函数AVERAGE、AVERAGEIFS。
AVERAGE函数用于计算一组数字的平均值,例如可以使用AVERAGE函数来计算一组考试分数的平均分。
语法: =AVERAGE(number1, number2,…),其中number1、number2等是要计算平均值的数值或单元格引用。
AVERAGEIFS函数用于根据多个条件计算一组数据中符合所有条件的单元格的平均值,例如可以使用AVERAGEIFS函数来计算某个区域内符合多个条件(例如,地区为A且产品为B)的单元格的平均值。
语法: =AVERAGEIFS(range, criteria_range1, criteria1, [criteria_range2, criteria2],…),其中range是要计算平均值的范围,criteria_range1、criteria1是第一个条件范围和条件,[criteria_range2,criteria2](可选)是额外的条件范围和条件。
仍然以表3-1为例进行计算,使用函数AVERAGE、AVERAGEIFS对该表中的数据计算后,结果如表3-4所示。
表3-4 使用函数对数据进行计算
本小节简要介绍查询相关函数VLOOKUP、LOOKUP、INDEX、MATCH。
VLOOKUP函数用于在垂直方向上查找一个值,并返回相应的结果,例如给定员工的姓名,可以使用VLOOKUP函数来查找员工的工资。
语法: =VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup]),其中lookup_value是要查找的值,table_array是包含查找数据的表格范围,col_index_num表示返回结果的列索引,[range_lookup](可选)用于指定查找方式,TRUE或省略表示近似匹配,FALSE表示精确匹配。
LOOKUP函数用于在一维数据数组中查找一个值,并返回相应的结果,例如可以使用LOOKUP函数来查找学生成绩所对应的等级。
语法: =LOOKUP(lookup_value, lookup_vector, [result_vector]),其中lookup_value是要查找的值,lookup_vector是包含查找数据的一维数组,[result_vector](可选)是包含相应结果的一维数组。
INDEX函数用于根据行号和列号从数组或范围中返回一个值,例如可以使用INDEX函数通过指定行号和列号从数据表中获取特定单元格的值。
语法: =INDEX(array, row_num, [column_num]),其中array是要从中检索数据的数组或范围,row_num表示行号,[column_num](可选)表示列号。
MATCH函数用于在一维数据数组中查找一个值的位置,例如可以使用MATCH函数来确定特定产品在产品列表中的位置。
语法: =MATCH(lookup_value, lookup_array, [match_type]),其中lookup_value是要查找的值,lookup_array是包含查找数据的一维数组,[match_type](可选)匹配的类型有三个取值,0表示精确匹配,1表示查找比lookup_value小的最大值,-1表示查找比lookup_value大的最小值。默认参数为1。
仍然以表3-1为例,使用函数VLOOKUP、LOOKUP、INDEX、MATCH对该表中的数据进行查询后,结果如表3-5所示。
表3-5 使用函数对数据进行计算
本小节简要介绍常用的排序函数RANK、MAX、MIN、LARGE、SMALL、COUNTA。
RANK函数用于确定一组数字在排序顺序中的排名,例如可以使用RANK函数来确定学生在一次考试中的排名。
语法: =RANK(number, ref, [order])。其中number是要确定排名的数字,ref是包含数字的范围,[order](可选)指定排序顺序,1表示升序(从小到大),0表示降序(从大到小)。
MAX函数用于查找一组数字中的最大值,例如可以使用MAX函数来找到某个数据集中的最大值。
语法: =MAX(number1, number2,…),其中number1、number2等是要比较的数值或单元格引用。
MIN函数用于查找一组数字中的最小值,例如可以使用MIN函数来找到某个数据集中的最小值。
语法: MIN(number1, number2,…),其中number1、number2等是要比较的数值或单元格引用。
LARGE函数用于查找一组数字中的第N大的值,例如可以使用LARGE函数来找到销售额数据中的第三大值。
语法: =LARGE(array, k),其中array是包含数字的范围,k表示要查找的第N大的值的位置。
SMALL函数用于查找一组数字中的第N小的值,例如可以使用SMALL函数来找到成绩数据中的第五小值。
语法: =SMALL(array, k),其中array是包含数字的范围,k表示要查找的第N小的值的位置。
COUNTA函数用于计算一组数据中非空单元格的数量,例如可以使用COUNTA函数来统计某个范围内非空单元格的数量,以了解数据的完整性。
语法: =COUNTA(value1, value2,…),其中value1、value2等是要计算的数值、文本或单元格引用。
为了方便大家理解,这里提供一些上市公司的统计数据,并进行排序,如表3-6所示。
表3-6 一些上市公司的统计数据
使用函数RANK、MAX、MIN、LARGE、SMALL、COUNTA对表3-6中的数据进行排序,结果如表3-7所示。
表3-7 使用函数对数据进行计算
本小节简要介绍常用的取整或四舍五入函数INT、ROUND。
INT函数用于将一个数值向下取整到最接近的整数,例如使用INT函数将2.9取整,结果将是2。
语法: =INT(number),其中number是要取整的数值。
ROUND函数用于将一个数值四舍五入到指定的小数位数,例如使用ROUND函数将2.9四舍五入到一位小数,结果将是3.0。
语法: =ROUND(number, num_digits),其中number是要四舍五入的数值,num_digits是要保留的小数位数。
为了方便大家理解,这里提供一些上市公司的统计数据,并进行计算,如表3-8所示。
表3-8 一些上市公司的统计数据
使用函数INT、ROUND对表3-8中的数据进行计算,结果如表3-9所示。
表3-9 使用函数对数据进行计算
本小节简要介绍常用的行列相关引用函数ROW、COLUMN。
ROW函数用于返回指定单元格的行号。例如,可以使用ROW函数来获取某个单元格的行号。
语法: =ROW(reference),其中reference是要获取行号的单元格引用。
COLUMN函数用于返回指定单元格的列号。例如,可以使用COLUMN函数来获取某个单元格的列号。
语法: =COLUMN(reference),其中reference是要获取列号的单元格引用。
这里简单给出函数ROW、COLUMN的使用案例,如表3-10所示。
表3-10 函数ROW、COLUMN的使用案例
本小节简要介绍常用的计算存款还款相关的函数RATE、FV、PV、PMT、NPER。
RATE函数用于计算贷款或投资的利率。例如,可以使用RATE函数来计算贷款的年利率。
语法: =RATE(nper, pmt, pv, [fv], [type]),其中nper是期数,pmt是每期支付的金额,pv是现值或贷款的总额,[fv](可选)是将来值或投资的未来价值,[type](可选)是付款类型(0表示期初支付,1表示期末支付)。
FV函数用于计算投资或贷款在一定期限内的未来价值。例如,可以使用FV函数来确定存款在若干年后的价值。
语法: =FV(rate, nper, pmt, [pv], [type]),其中rate是每期的利率,nper是期数,pmt是每期支付的金额,[pv](可选)是现值或投资的总额,[type](可选)是付款类型(0表示期初支付,1表示期末支付)。
PV函数用于计算未来价值的现值,也就是投资或贷款的当前价值。例如,可以使用PV函数来确定未来收入的现值。
语法: =PV(rate, nper, pmt, [fv], [type]),其中rate是每期的利率,nper是期数,pmt是每期支付的金额,[fv](可选)是将来值或投资的未来价值,[type](可选)是付款类型(0表示期初支付,1表示期末支付)。
PMT函数用于计算贷款的每期付款额。例如,可以使用PMT函数来确定每月的贷款还款额。
语法: =PMT(rate, nper, pv, [fv], [type]),其中rate是每期的利率,nper是期数,pv是现值或贷款的总额,[fv](可选)是将来值或投资的未来价值,[type](可选)是付款类型(0表示期初支付,1表示期末支付)。
NPER函数用于计算贷款或投资的期数。例如,可以使用NPER函数来确定需要多少期才能还清贷款。
语法: =NPER(rate, pmt, pv, [fv], [type]),其中rate是每期的利率,pmt是每期支付的金额,pv是现值或贷款的总额,[fv](可选)是将来值或投资的未来价值,[type](可选)是付款类型(0表示期初支付,1表示期末支付)。
为了方便大家理解,这里提供一个投资项目的数据,并进行计算,如表3-11所示。
表3-11 一个投资项目数据
使用函数RATE、FV、PV、PMT、NPER对表3-11的数据进行计算,结果如表3-12所示。
表3-12 使用函数对数据进行计算
本小节简要介绍常用的日期相关函数DATE、EDATE、TODAY、MONTH、EOMONTH。
DATE函数用于根据给定的年、月和日创建一个日期值。例如,可以使用DATE函数来创建一个特定日期的日期值。
语法: =DATE(year, month, day),其中year是年份,month是月份,day是日期。
EDATE函数用于在给定的日期上添加或减去若干月。例如,可以使用EDATE函数来计算一年后的日期。
语法: =EDATE(start_date, months),其中start_date是起始日期,months是要添加或减去的月数。
TODAY函数用于返回当前日期。例如,可以使用TODAY函数来获取今天的日期。
语法: =TODAY(),无须输入任何参数。
MONTH函数用于从日期值中提取月份。例如,可以使用MONTH函数来获取一个日期的月份部分。
语法: =MONTH(serial_number),其中serial_number是日期值或日期单元格的引用。
EOMONTH函数用于返回某个月的最后一天的日期。例如,可以使用EOMONTH函数来获取下个月的最后一天的日期。
语法: =EOMONTH(start_date, months),其中start_date是起始日期,months是要添加的月数。
为了方便大家理解,这里提供一些财务数据,并进行计算,如表3-13所示。
表3-13 一些财务数据示例
使用函数DATE、EDATE、TODAY、MONTH、EOMONTH对表3-13的数据进行计算,结果如表3-14所示。
表3-14 使用函数对数据进行计算
本小节简要介绍常用的逻辑函数IF、AND、OR。
IF函数用于根据某个条件返回不同的值。例如,可以使用IF函数来判断成绩是否及格并返回相应的结果。
语法: =IF(logical_test, value_if_true, value_if_false),其中logical_test是要测试的条件,value_if_true是条件为真时返回的值,value_if_false是条件为假时返回的值。
AND函数用于判断多个条件是否同时成立,如果所有条件都成立,则返回TRUE,否则返回FALSE。例如,可以使用AND函数来检查某人是否同时满足多个资格条件。
语法: =AND(condition1, condition2,…),其中condition1、condition2等是要检查的条件。
OR函数用于判断多个条件中是否有一个或多个条件成立,如果至少有一个条件成立,则返回TRUE,否则返回FALSE。例如,可以使用OR函数来判断是否至少有一个产品在销售中。
语法: =OR(condition1, condition2,…),其中condition1、condition2等是要检查的条件。
为了方便大家理解,这里提供一些产品数据,并进行计算,如表3-15所示。
表3-15 一些产品数据
在预设利润率>10%,定义为利润高,销售量>20000,定义为销量高的前提下,使用函数IF、AND、OR对表3-15的数据进行计算,结果如表3-16所示。
表3-16 使用函数对数据进行计算