c++ 编写函数返回两个值最小值_细谈Excel函数 - 财务会计进阶必备

作为一个会计,平时工作最常使用的软件想必就是Excel了,除了复制粘贴数据外你还会不会其操作?你会不会将会计初中级教材中的计算公式应用到Excel中呢?你又会不会运用Excel来制作兼具美貌与才华的图表呢?《财务会计进阶技能篇》是“职场三叔”将要推出的多个职场技能系列之一,三叔将会结合财务会计的实际工作由浅入深地为大家介绍Excel的六个高级技能点。让你从此插上羽翼展翅高飞!

首先,我们将通过两个篇章来说说Excel函数的使用,点击文尾的阅读原文可以在线练习三叔给大家出的技能考核题哦!

1、什么是函数?

函数(functions)一词在里英文可以翻作“功能”、“职责”、“应变量”,所以我们可以简单将它理解是一种将复杂数学公式归纳为方便记忆使用的功能方法。标注为 y = f(x),f为函数式,x为输入参数(输入参数可以是多个,多个以逗号 "," 分隔),y为输出,如累加计算从1 ~ n,Excel中的函数式为SUM(n),SUM为函数,n是输入参数,SUM(n) = 1 + 2 + 3 + ...n。

有些地方将Excel的函数称作公式,其实都是一个意思,在我们的课程中统称为函数。

2db03b1b91c9d17a6598db73a563ee97.png

2、函数的分类

Excel中的函数共有11类,分别是财务函数、逻辑函数、文本函数、日期和时间函数、查找与引用函数、数学和三角函数、信息函数、统计函数、工程函数和自定义函数,总共有400多个。三叔将着重为大家介绍在日常工作中常用的2,30个函数。

3、如何在Excel中使用函数

113faa5eb01738a25af4baf8778d5001.png

首先选中某个单元格作为输出值,直接输入或在顶部功能区找到如上图的函数式输入框输入相对应的函数式,记得以等号“=”开头,之后用鼠标选取单元格设定计算范围。

3fca964485c3ad2f4424aafbf36a550d.png

0c5342439855814a84efe7184df86bf7.png

c93f3f8bcce6bb3f0c526ed08079431e.png

* 小贴士

函数大多以英文简称命名,大家可以利用已有的英文知识快速记忆和搜索。

4、12个常用函数

1)SUM(求和):计算单元格区域中所有数值的和

=sum(value1数值1,value2数值2,...)

122916850856d2f87688b0f985fd441b.png

* 括号中的冒号 ":" 代表范围取值,如C1 : C7 表示从C1 至 C7的值

2)AVERAGE(平均值):返回其参数的算术平均值;参数可以是数值或包含数值的名称、数组或引用

=average( 数值1,数值2,...)

ef439dd51a28fd59ad3e556d5ee5b253.png

7b20f1b425e556e89046d50100c866ee.png

* 此为计算C3至C8以及C9的平均值

3)IF(判断):判断是否满足某个条件,如果满足返回一个值,如果不满足则返回另一个值

=if (logical_test逻辑判断条件,if_true满足时的返回值,if_false不满足时的返回值)

a561532bd5baeb5be31175f246b47fa6.png

e7aea06cace5551d1963a3a8363c2d8a.png

* 如果大于等于80设置为1,否则设置为0

4)COUNT(计数):计算区域中包含数字的单元格的个数

=count(number1,number2,...)

3ac05e8bd7d756631764b3a2e3c29b5e.png

5)MAX(最大值):返回一组数值中的最大值,忽略逻辑值及文本

=max(number1, number2, ...)

* 相对应的是最小值:MIN,返回一组数值中的最小值

6)SUMIF(条件求和):对满足条件的单元格求和

=sumif(range单元格区域, criteria条件, sum_range实际用于求和计算的单元格【可选:默认为所选区域】)

b5f0967d01bd53482bc64dd029e8b3a9.png

266232de7b790e8aec9ad43009b57920.png

* 注解:C13(80分以上的学生数) = 对C3至C9中大于等于80的“80分以上判断值(D3至D9)“求和,换句话说参数1是判断区域,参数2是判断条件,参数3是实际求和区域

* 参数2判断条件一定要加双引号

例:根据下表求上海地区的销售总额

881d5d41f6d48fe14366cefa2558c149.png

* 注解:求和上海地区的销售额总计

<知识点:通配符>

以上所示的函数式判断条件中"*"号就是一个通配符,通配符主要用作模糊搜索,"上海*"表示所有满开头是‘上海’的单元格;通配符一般有*,?,~

"?"问号表示匹配单个字符,如"3?",表示匹配3 + 一个任意字符

如果要匹配通配符字符则需要在前面加“~”,如匹配"apple?" + 任意字符可以写成“apple~?*"

7)ABS:返回给定数值的绝对值,即不带符号的数值

=abs(number)

例:abs(-1) = 1; abs(1) = 1

8)INT:数值向下取整为最接近的整数

=int(number)

例:int(1.34) = 1; int(1.99) = 1;

9)ROUNT:按指定的位数对数值进行四舍五入

=rount(number数值, num_digits小数点后位数)

例:rount(123.123123, 2) = 123.12

10)SIN:返回给定角度的正弦值

=sin(number),这里的number为弧度 = 度数*PI/180

例:sin(30 * PI() / 180) = 0.5

* 相对应的是cos(number),返回的是给定角度的余弦值

11)HYPERLINK(超链):创建一个快捷方式或链接,以便打开一个存储在硬盘、网络服务器或Internet上的文档

=hyperlink(link_location 链接地址, friendly_name 显示名称)

具体来说,这个link_location可以是以下目标地址:

(1)本地某个文件夹

hyperlink("C:测试文件夹", "某个文件夹");

(2)本地某个文件

hyperlink("C:测试文件夹测试文件.txt", "某个文件");

(3)当前工作表的某个单元格

hyperlink("#D2", "D2");

* 注意点:单元格前一定要加"#"

(4)当前工作簿的/某个工作表/某个单元格

hyperlink("#sheet2!D2", "sheet2的D2");

* 注意点:表前加"#",单元格前加"!"

(5)其他工作薄的某个工作表/某个单元格

hyperlink("[C:测试文件夹测试工作薄.xlsx]sheet1!D2","其他工作薄的D2");

* 注意点:请注意书写格式:[其他工作簿的完整地址] + 表名 + "!" + 单元格

(6)网页

hyperlink("https://www.baidu.com", "百度");

(7)名称管理器的引用范围

(8)VBA代码

(9)引用单元格内容,形成动态超链接

12)PMT:计算在固定利率下,贷款的等额分期偿还额

=pmt(rate利率, nper总期数, pv贷款总额, fv未来值, type[1 期初), 0 期末])

be0267a6d5af1cd33d523b55e1623b97.png

如上图所示,一笔10万元年化利率为2.99%的贷款,按月还款的公式为:PMT(2.99%, 12, 100000);按年还款(即期数为1)的公式为:PMT(2.99%, 1, 100000);

5、函数嵌套(混合运算)

在我们的实际工作中,经常需要进行多个单元格或多个公式组合的复杂计算。那么这里我们就可以用嵌套的方式来进行运算。如下表计算两个地区销售总额的均值:

6ce932b81fd104d102a0e2a8c90be6f8.png

平均值函数(AVERAGE)里面嵌套了两个求和函数(SUM)

=AVERAGE(SUM(C3:C6), SUM(C7:C9))

一、逻辑函数

1、AND 逻辑与:检查是否所有参数均为True,如果所有参数值为True则返回True,此函数一般会与其他函数一起使用

=AND(logical1, logical2...)

例:and(0>8, 8>0) 结果为FALSE

2、IFERROR

如果表达式是一个错误,则返回value_if_error,否则返回表达式自身的值

=IFERROR(value, value_if_error)

9d6277af7641934986257b14e957da5e.png

96a1853e75f69664f336b3b3484e968a.png

* 如上图计算单品销售额,$30000/30 = 1000没有问题故直接显示1000;$23000/0被除数不可以是0故表达式有误显示“错误”;

3、IFNA,如果表达式解析为#N/A,则返回指定值,否则返回表达式的结果

=IFNA(value, value_if_na)

4、NOT:对参数的逻辑值求反,参数为TRUE时返回FALSE;参数为FALSE时返回TRUE,一般会与其他函数一起使用

=NOT(logical表达式或值)

5、OR 逻辑或:如果任一参数值为TRUE则返回TRUE;只有当所有参数之均为FALSE时才返回FALSE;

=OR(logical1, logical2...)

6、IFS 多项式判断:检查是否满足一个或多个条件并返回对应的值

=IFS(logical_test, value_if_true, ...)

18017fce75f6a238bda2077aac4e1baa.png

* IFS((C3+D3)/2>=90, "优秀", (C3+D3)/2>=80, "良好", (C3+D3)/2>=60, "及格", TRUE, "不及格")

* 以上实例是通过计算平均分来评级(>=90为优秀,>=80为良好,>=60为及格,其他为不及格)

8、SWITCH:与IFS多项式判断不同的是switch函数仅有一个表达式,根据此表达式的值返回对应结果

=SWITCH(expression表达式, v alue1值1, result1结果1, value2, result2,...)

* 例:根据日期显示星期 SWITCH(WEEKDAY(单元格), 1, "星期天", 2, "星期一", 3, "星期三", "", "无")

* weekday是一个日期函数后面会介绍,他会根据日期返回1-7来代表星期一至星期日,所以这里我们可以这点来显示星期

9、XOR 逻辑异或:异或是一个数学运算符(a⊕b),如果ab两个值不同则为TRUE,如果ab两个值相同则为FALSE,那在Excel里可能会有很多个参数,所以只要有一个参数不同结果就为TRUE,否则为FALSE

=XOR(logical1, logical2, ...)

二、文本函数

1、LEFT:从左至右返回指定个数的字符

=LEFT(text, num_chars)

例:left("hello", 2) = "he"

2、RIGHT:从右至左返回指定个数的字符

=RIGHT(text, num_chars)

例:right("hello", 2) = "lo"

3、MID:从指定位置起返回指定长度的字符

=MID(test, start_num, num_chars)

* 例:MID("hello", 2, 1),即从"hello"的第2个字符起返回1个字符,结果为“e"

4、FIND:返回一个字符串在另一个字符串中出现的起始位置

=FIND(find_text待查字符, within_text待搜索的字符, start_num起始搜索位置默认为1)

* 例:FIND("hello", "hello world"),即"hello"在"hello world"中第一次出现的位置为1,所以find("hello", "hello world") = 1

5、LEN:返回字符个数

=LEN(text字符串)

三、日期与时间函数

1、year/month/day/hour/minute/second:返回相对应的日期/时间值

* 例:YEAR("2020-09-16") = 2020

2、weeknum:返回一年中的周数

=WEEKNUM(serial_number日期, return_type一周的第一天(周日1,周一2...)

3、WEEKDAY:返回一周中代表第几天的值(1-7),一般会与其他函数配合使用

=WEEKDAY(serial_number返回值, return_type一周的第一天(周日1,周一2...)

五、查找与引用

1、VLOOKUP:筛选

使用方法:搜索表区域首例满足条件的元素,确定待检索但愿格在区域中的行序号,再进一步返回选定单元格的值,默认情况下,表是以升序排序的

=VLOOKUP(lookup_value, table_array, col_index_num, range_lookup)

1)基本用法:按照姓名查找学生的语文成绩

8704ec457bdc527eb0fc8e7c838510e3.png

7f6bf88f0c0a205a0f5a7d6f973eb4ac.png

* 待查字段为姓名,故搜索区域必须从B2开始(姓名所在列),目标所在列是指从搜索区域第一列算起的列数,VLOOKUP函数需要按 Ctrl+Shift+Enter 才能执行否则会报错

2)反向查找:按照姓名查找学生的班级

04a7679c927b4f022a3b0f500e59ec83.png

da4d17f83136027510067dd8c629e4fe.png

* IF数组形式(IF({1, 0}, value_1, value_2),利用数组运算返回数组,当第一个参数为1时value_1放在返回数组的第一列,为0时放在第二列,一般会与其他函数一并使用

* 举例说明,如上图所示表格,IF({1, 0}, B3:B9, A3:A9)返回的第一列是姓名列,第二列为班级列;IF({0, 1}, B3:B9, A3:A9)返回的第一列为班级列,第二列为姓名列

* 所以这里使用IF函数“IF({1, 0}, B3:B9, A3:A9)”的作用是将班级与姓名列对换了

3)多条件查询

e3c0a68de1d67fe457c5fd382c1d12b4.png

例:根据班级和姓名查询学生的评级信息,如下图。=VLOOKUP(G3&H3, IF({1,0}, A3:A9&B3:B9, E3:E9), 2, 0)

* 多个条件之间用"&"号连接,这里我们根据班级和姓名查询学生的评级信息
* IF({1,0}, A3:A9&B3:B9,E3:E9)始终返回两列数据,A3:A9&B3:B9合并看作一列

4) 如果需要返回多列数据,思路是将VLOOKUP函数中的目标所在列动态化,然后通过拖拽复制单元格的方式来实现。为了实现动态化我们这里引入一个函数COLMUN(单元格),他会返回目标单元格的列数,如上图COLMUN(B2) = 2, COLMUN(B3) = 3。故最终实现函数为:VLOOKUP(待查字段, 搜索区域, COLMUN(目标单元格), 0)

c9c8de4f23a9c4efbb13e49e031daa29.png

2、HLOOKUP

与VLOOKUP以列为参考对象不同的是,HLOOKUP是以“行”为参照对象。

333205b3c6556e32c5b5b6617d6f4a16.png

例:上图所示根据组别搜索销售额,因为他的字段名称都在一列,所以这里我们要用HLOOKUP,HLOOKUP(F13, A12:D13, 2, 0)

若大家在操作过程中有任何疑问和建议请搜索关注“职场三叔“微信公众号后留言/发信息给三叔,三叔会及时为大家解答。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值