函数排错工具

由公式导致的表格删除、插入、排序卡顿问题

表格下方出现计算中>3秒

解决方法:

将自动重算关闭,但会导致整哥文档中的所有公式都不会进行自动计算
公式—重算工作簿/计算工作表(手动重算)
位置:开始—选项—重新计算—自动重算

公式出错,出现#N/A错误

解决方法:

公式选项卡—公式求值(让公式一步一步走)

简易方法:

选中公式按F9或者(FN+F9),进行强制运算,然后按下ESC返回公式,不进行强制运算

公式中循环引用错误(套娃错误)

进行公式运算时候,选择的一定是单元格,而不能是整个列,因为如果是整个列的话,就出现鸡和蛋问题,例如:公式求和的值B12,公式计算的是B列的整体的值,那么计算出来的B12也应该是公式的一部分,成为了累计死循环,所以选择的一定是单元格。
image.png
一个很有意思的鸡和蛋问题

循环引用位置:

可以点击公式—循环引用

迭代计算位置:

开始—选项—重新计算—迭代计算=循环计算
迭代次数=循环次数

场景

用NOW函数和IF函数和循环引用进行实时记录数据值和数据产生时间
NOW函数可以获取时间
IF函数可以进行判断条件等
当前的值无法进行直接获取
image.png

解读原始函数:

image.png
如果A2为空,我自身就为空
image.png
如果A2不是空,就是输出NOW函数
image.png
如果A2为空,我自身就为空,如果A2不是空,就是输出NOW函数
image.png
单元格格式设置
image.png
问题:第二行的时间会更新为最新的时间,但是第一行之前的录入时间会变更为何第二行一摸一样的。下一个进来了,上一个也跟着变化了。
原因:因为在表格当中,任何单元格值发生了变化,都会激活整个工作表,所有函数一起更新

那么改进一下
image.png

解读修改后函数:

image.png
如果A2为空,我自身就为空
image.png
如果A2不是空
如果(B2)本来就有时间,那我就等于我自己本身
如果(B2)自己没有时间,就等于当前时间
image.png
然后开启迭代计算,就可以完成
输入时间,并且会录入 当前时间的效果

总结

循环引用:就是直接或者间接的引用到自己了,默认状态下,循环引用错误,公式不会计算,只有开启迭代运算,才会进行循环引用公式。

公式中的基础运算符

算术运算符

算术运算符: 意义
+
-
*
/
% 百分比
^ 乘幂

百分比的运算规则就是直接除以100

文本连字符

连字符
& 连接

比较运算符

比较运算符 意义
= 等于
> 大于
< 小于
>= 大于或等于
<= 小于或等于
<> 不等于

单元格引用

单元格引用 意义
, 联合运算符 多个引用合并成一个引用
: 区域运算符 引用两个单元格之间全部区域
交叉运算符 引用两个区域的共有区域

联合运算符

image.png

交叉运算符

image.png

运算优先级

最高优先级 引用运算符里面的冒号(:)以及逗号(,)和空格运算符。
第二优先级 负号(-)
第三优先级 百分号(%)
第四优先级 求幂(^)
第五优先级 乘法(*)和除法(/)
第六优先级 加法(+)和减法(-)
第七优先级 连接运算符(&)
第八优先级 等于(=),大于(>),小于(<),大于等于(>=),小于等于(<=),不等于(<>)

快捷键:

ctrl+1快速打开单元格窗口
ctrl+shift 可以快速到表格的下边缘

冷知识:

表格的下边缘 为 1048576 因为2的20次方是1048576
比较运算符得到的是逻辑运算值

数组公式的计算原理

数组:原来是一个一个运算、现在是一组一组运算,就叫做数组。
按住啊ctrl+shift 再点击回车,出现中括号,表示确定为数组, 就会呈现数组的结果
ps:无法进行单一数值的删除,但用处不大

修改前

image.png

修改后

image.png

不用辅助列得到加权平均
优势:可以取代原来的辅助列

注意

image.png

利用公式标记数据

在条件格式中写公式可以将复杂问题简单化
能选单元格就选单元格,别拉取整个数据
image.png

绝对引用和相对引用的区别

此为绝对引用,即便选中整个区域,公式也无法进行复用
在使用相对引用时,公式或函数中的行或列会随着行号和列标的变化而自动变化。
绝对引用的特点就是在使用绝对引用时,公式或函数中的行或列是绝对不会发生变化的。

countif 函数

countif 函数用来统计该区域内,统计该数值出现了多少次

利用公式制定输入规则/数据有效性

符合条件才允许输入

前一列为XXX,后一列不可以输入的有效性

image.png

后一个不可以和前一个一样的有效性

image.png

小于一定数值时,才可输入。(小于等于才可输入)

image.png

只能防止手动填写的,不能防止复制粘贴的
数据有效性只会对空白单元输入时候有效,其他已输入单元格不会更改或者仅提示
image.png
个人觉得目前没什么卵用,看看即可

名称与公式

给某个区域定义名字:公式—名称管理器

定义常量

比如数值(例如:*0.8)

定义区域

image.png

定义公式

公式—名称管理器
注意:定义名称一定要选对单元格,而且是相对引用

多行、多列填充公式

混合引用条件

我们既要将公式横着拖拽、也要将公式纵这拖拽情况,就一定会涉及混合引用
凡是涉及整行标记,一面填充,也会涉及混合引用
A1
相对引用,横向纵向都可以拉,拉取会变
$A$1
绝对引用,横向纵向都不可以拉,拉取不会变
$A1
混合引用,纵向可以拉,拉取会变,横向不可拉。
A$1
混合引用,横向可以拉,拉取会变,纵向不可拉。

用引用公式来做9*9乘法表格

image.png
$A2代表 A横向不会变,值定死,纵向会变。
B$1代表 B纵向不会变,值定死,横向会变。

column函数可以随着列号的变化来变化数字,如果column函数括号里不加任何其他常量,那么输出值直接就会为该列是第几列,
A列表示为1
B列表示为2
C列表示为3
D列表示为4
…………………..
依次往下
image.png
横向走不变、纵向走变化的情况

vlookup函数+混合引用

常规来说,vlookup函数你要索引批量数据,多行或者多列时候,你会进行手动输入每一个要变得,比如:
image.png
image.png
image.png
这样会很笨拙,一个一个复制粘贴
那么我们可以引入column函数来进行自动变化,我要索引的列
公式为:
image.png
解读为:
image.png

条件格式+混合引用

image.png
效果
image.png

反思

$这个符号放谁的前面就固定谁
$A$1 意思就是说 横和纵你两个都别动,就乖乖在这个区域里面
$A1 意思就是说 横向你不能拉了,纵向你可以拉,行不管怎么样都是这个值,怎么拉也不会变,纵向会在第几行就是第几行,即锁定列
A$1 意思就是说 纵向你不能拉了,我定死了,横向你可以拉,是第几列我就变成第几列数据,即锁定行

条件求和和条件计数

sumif函数(单条件求和)

sumif函数(区域,条件,【求和区域】)
区域是指:正在该区域内进行搜索匹配字段
条件是指:你所要求得目标字段那个单元格
求和区域:就是你要算那个数字那一列
最后的结果输出的是符合该条件下的总和

sumifs函数(多条件求和)

sumifs函数(多条件求和,逻辑上是既….又….的值)
sumifs函数(求和区域,区域1,条件1,【区域2,条件2】…..)
求和区域:就是你要算那个数字那一列
区域1,在区域1中找条件1单元格内容
区域2,在区域1中找条件2单元格内容
条件和区域总是成对出现的

大于小于的区间 需要用“ ”

大于小于的区间 需要用“ ”,比如“>50”的共有多少总和

求取次数:比如某一单元格出现的总次数,可以用countif函数(即在一个区域当中,某一个值有几个)
与sumif的区别,countif算的其实是数量,单位个数。而sumif则求取的是总和
countifs函数则是表示多个区域和条件计数(2个以上的区域计数的和)

场景:countif、countifs、sumif、sumifs之间的用途

主要用于数据核对

比如一个出库数据和一个入库数据的核对校验,表格比对差异问题

活学活用、多表核对

当仅有一个限定条件,且值唯一我们就可以用sumif来进行校验,原理是因为,单一条件下只会有一个值,求和也当然是一个值了。
当有两个及以上限定条件,且值是唯一我们就可以用sumifs来进行校验,原理是因为,多个条件下只会有一个值,求和也当然是一个值了。

总结

image.png
条件函数:就是各种函数后面加上IF

其他条件统计函数

最大值条件函数

maxifs

最小值条件函数

minfs

平均数条件函数

averageifs
注意带变量的函数怎么去写

去掉最大最小值,求取平均数

换个说法就是:
大于最小值,写法为:=“>”&MIN某列
小于最大值,写法为:=“<”&MAX某列
原因,不能将函数也包含在“”之中

大于第N小的值,小于第N大的值情况

SMALL用于求函数中第N小的
比如,求取第三小的数:
=small(某列,3)
LARGE用于求函数中第N大的
比如,求取第三大的数:
=large(某列,3)
场景,比第三小数字大的数,和比第三大数字小的数的该列平均数:
=averageifs(求值列,条件列1,“>”&small(某列,3),条件列,“<”&large(某列,3))
image.png

统计筛选后的数据

subtotal函数

sum无论你是否使用筛选都对筛选无反应,总是求的是总集
subtotal中的sum函数会随着你筛选的数值条件不同而使求和的结果发生改变
分类两个

筛选求和

subtotal中的sum,即=subtotal(9,某列)1-11的函数:只会求去筛选之后的值

筛选+隐藏求和

subtotal中的sum,即=subtotal(109,某列)101-111的函数:会求去筛选之后的值以及隐藏之后的值

函数适用范围:

sum>subtotal9>subtotal109
结果为整体>结果为筛选后的结果>结果为筛选和隐藏后的结果
image.png

使用函数进行舍入运算

舍入方式一:四舍五入

image.png
误区:单元格样式改为保留两位小数,只是保留了表面,实际中复制粘贴仍然会是多位小数
正确方式:利用round函数,写法:=round(单元格,2/3/4)后面的数字代表保留几位小数

舍入方式二:直接进位

对小数部分直接进位,向前补一位
image.png
利用roundup函数,写法:=roundup(单元格,0/1/2)后面的数字代表保留几位小数,0代表直接保留整数

舍入方式三:直接舍去

image.png
对小数部分直接进行舍去,不向前进行补位
利用rounddown函数,写法:=rounddown(单元格,0/1/2)后面的数字代表保留几位小数,0代表直接保留整数
round函数中,数字也可以用负数来表示,比如12345,=round(单元格,-2),就会变为12300,-2就可以表示为可以按整百取整

场景

在统计之前处理求和问题,出现一分钱统计误差
image.png
先将数字进行数据处理,如四舍五入,然后再求和。

总结:

image.png

“随机选取”相关问题

rand函数

写法:=rand(),默认括号内不写数字,会在0-1之间随机产生数字,小数点后十五位的数字

randbetween函数

写法:=randbetween(1-5)

随机好随,但是难点在于防止重复

函数不能局限于现有公式,而是需要灵活变通和反思。比如:randbetween可以用于取某一范围的整数,同样我们可以用roundup函数(舍入近似函数)加上rand函数得到和randbetween一样的效果

场景:

方法一:
image.png
image.png
image.png
其他方法可以自己思考

数组公示多条件求和

一组乘一组,一排乘以一排。所得的结果会以一一对应

数组公式三键结尾

image.png
注意这里面的花括号需要Ctrl+shift,告诉函数这是一个公式

sumproduct函数

sumproduct就是数组版的sum
例如:先乘后加数据等
image.png
多条件统计实例
image.png
第五列判断海鲜粉=海鲜粉
第六列判断销售一部=销售一部
第七列表示为且的关系(求交集)、两个true相乘为1,两个/一true一flase相乘为0。
因此第八列用第七列乘单价
第九列用sum处理即可解决

用一个公示可以

image.png
sumifs函数其实更快,要比sumproduct函数快17倍

其他数学函数

ABS绝对值

绝对值(正负都为正值),处理的是数字
写法:=ABS(单元格),然后下拉

MEDIAN中位值

求某一区域的中位值
若为偶数列:最中间那两个的平均值 , 奇数列:最中间那个
写法:=MEDIAN(那一列)

MODE函数求众数

出现次数最多的,如果出现次数一样,就取第一个次数出现最多的
写法:=MODE(那一列)

MOD函数求余数

写法:=MOD(分母,分子)
除以2还余1就叫做奇数,能除赶紧就叫做偶数
场景:凡是奇数行都填上填充色
如果用格式刷,或者手动设置,由于部分行的删除,单元格样式并不会发生改变

ROW函数(行号)/column函数(列号)

写法:=ROW(单元格)就可以知道行数

image.pngimage.png
公式拆解:
row函数知道行号,除以2,没有余数则表明是偶数行,利用mod函数,有余数

作业:隔两行填充一个,渐变色

使用逻辑判断函数

使用函数处理条件判断

IF函数(条件函数)

如果,是…怎么样….,否则不是….怎么样…..

IF嵌套(嵌套条件函数)

N情况,就用N-1个IF
image.png

IF函数区间用法

比如:入职时间和年假,1年对应年假,3年以上年假

!!!!!表格中的位于某个区间错误

image.png
错误写法
在表格中位于某个区间,永远不能用:20>A2>1这样的写法来表示某个单元格位于某个区间,表示大于某值,小于某值。原因,A2会和20做一个判断,得到ture和false在和1进行判断,结果无意义
image.png
image.png
image.png
大于600的显示过了,那么剩下的一定小于600了,然后再大于400即可
像剥洋葱一样,一层一层往下去拨。写的时候要理清楚逻辑结构

总结:

image.png

IF函数与逻辑运算

image.png

表格为:
image.png

AND函数

AND函数表示的且的关系,ABC…D等条件都满足
题目一为:
一个大于85,一个为优,则为优秀,其余为空白写法
image.png
题目二为:
image.png
image.png

OR函数或函数

题目为:
image.png
写法为:
image.png

小技巧:先写AND和OR函数

空白就是一对双引号什么都没有,即“”

复杂情况:AND和OR函数的一起使用

image.png
=if(or(and(B2=“男”,C2>=22),and(B2=“女”,A2>=20)),“是”,“否”)
由内往外,由小往大

总结:
image.png

处理公式中的运算错误

IFERROR查错误函数

次函数范围太宽,有可能是函数写错了,也有可能是公式确实找不到信息。但都会改为你想要改的值。
写法:IFERROR(错误列,错误之后显示的)
=IFERROR(A2,0)如果A2错误就显示为0

场景

image.png
在运用vlookup函数时候,查询信息中原表中没有该信息,显示#N/A错误

IFNA函数查错误函数

IFNA函数用于查询公式确实找不到信息情况,如果公式错误依旧会显示公式出错误。
写法同IFERROR函数写法
例如:
image.png

IFNA函数和IFERROR区别

范围不同,所有的错误都算ERROR,所以IFERROR会屏蔽所有错误,而IFNA函数专门用来屏蔽VLOOKUP找不到的错误

image.png
在表一中找不到,在表二中进行查找

总结

image.png

显示#使用+IFS函数

非必用函数
IF函数的升级版,加S表示多情况下。在此函数中每一种都需要写清楚情况
=IFS(E6>=2000000,“A级”,E6>=1200000,“B级”,E6>=600000,“C级”,E6<600000,“D级”)
解释为:
若E6大于2百万,为A级别,
否则,大于120万,为B级
否则,大于60万,为C级
否则,小于60万,为D级
总结
image.png

使用SWITCH函数

简而言之就是转换函数,一 一对应关系。工作当中可能有更简单的解决办法
写法:=switch
不要看帮助,不好理解
image.png

解释:选定单元格,选择对应关系即可
利用vlookup函数进行
image.png
对单元区域进行强制运算
image.png

SWITCH函数和IFS函数的对比

总结

image.png

使用文本与日期函数

文本截取函数
只关注文本单元格内的字/英文函数,

从左截取:=left(,)

image.png
逗号后面是截取几位

从右截取:=right(,)

image.png
逗号后面是截取几位

从中间截取:=mid(A2,2,3)

image.png
从左往右第二位开始截取,截取三位

计算字符数量:=len()

image.png

注意:文本1和数字1,在表格中永远不相等

文本和数值不相等
left函数取出来的只能是文本,因此,想要数字格式可以让取出来的数字*1,会强制将取出来的数字变成文本,那么,这样在运用其他数值函数,比如vlookup函数就可以使用了。

字节函数(文本函数带B)

理解字节:
image.png
一个中文字是两个字节,字母和数字是单字节
如果是字节是文本,取不到时候就会留取空白,比如:空白的,取五个字节,那么输出结果为:空白 ,后面有“的”一半,就会用空格来表示

从左截取:=leftb(,)

image.png
逗号后面是截取几位

从右截取:=rightb(,)

image.png
逗号后面是截取几位

从中间截取:=midb(A2,2,3)

image.png
从左往右第二位开始截取,截取三位

计算字符数量:=lenb()

image.png

思维发散

image.png
注意vlookup索引的数值,left导出的是文本,以及查找值范围
可以利用字节、字符数来进行分列文本和数字情况(等同于智能分列)
原理:字节≠字符,汉字字节为2,字母和数字为1,正常来说截取的就是字节数,由于汉字存在,出现了错位,因而一减,就是汉字的数量了。

分列汉字

image.png

分列数字:先分列汉字,在倒退数字

image.png

查找文字位置

FIND函数

image.png
写法:=find(找什么,某区域)
如果要找字符时候一定要加双引号“ ”
逻辑:你要找什么,在哪儿找(会区分大小写)

search函数

image.png
写法:同find

search同find的区别:

1.要求不严格,英文不区分大小写,都会找到。
2.find不支持通配符,search函数支持通配符

严格度/范围:search函数>FIND函数

思考:找出来得到的值的是字节还是字符
image.png

find函数 的嵌套

image.png
image.png
原理:找第二个“—” 的写法,找到第一个“-”+1即可完成
先找到第一个“-”,然后此为第找到第二个的起始位置,注意默认的,即第一个是没有起始位置,不在这个单元格后加1,而是在这个函数之后加1,表示第二个

实例

image.png

思路:

观察邮件,发现规律,以@为分隔符
先利用find函数找到@,即=find(“@”,A2)-1,其中减1,就表示我可以取到@之前的一位
其次利用left函数,从左往右开始截取
即,=left(A2,find(“@”,A2)-1)

结果一:(从左往右)
image.png

结果二:(中间往后)
image.png

规范系统导出数据

image.png

大写函数UPPER

image.png
写法:=UPPER()

小写函数lower

image.png
写法:=LOWER()

首字母大写函数proper

image.png
写法:=proper()

删除空格函数TRIM(空格合理化)

image.png
(不用替换情况下,替换空白会使单词等连接,导致无法识别)
前后不合理,去掉前后空白格

单元格带绿色三角情况

纯数字带三角才能说明是文本函数
纯文本/字母带三角,可能是有空字符串(专业说法叫做,非打印字符,有字符但是看不到)

解决vlookup函数问题

image.png
image.png
clean函数可以解决vlookup函数中单元格出现非打印字符问题
总结
image.png

处理数值和文本

文本转数值函数value

或者文本*1,也可以将文本变数值
image.png

数值转文本函数TEXT

TEXT就是函数版的自定义数字格式
怎么用?
将自定义中的格式代码粘贴到函数中即可
数字换格式:只是表面换了
而TEXT函数真的可以将数值转换为文本
场景
实现自动化更新日志或者报表的情况
image.png
实现方法如下:
image.png
不用TEXT函数的话,只会显示日期的数,而非日期
image.png
=”截止到”&TEXT(E5,”yyyy/m/d”)&”,共”&E26&”元”
https://baijiahao.baidu.com/s?id=1733158272598692441&wfr=spider&for=pc(什么时候用” “)
1.公式中引用字符串,要加双引号
2.需要用“ ”代表空值
3.需要表示文本型日期
image.png
实现函数

八位数字转换为日期

image.png
首先利用TEXT函数,转换为0000-00-00形式
image.png
然后用VALUE函数,将文本转换为数值。或者1
image.png
乘1:
1
image.png
最后调整单元格即可
image.png

使用函数进行替换

SUBSTITUTE函数(基于格式替换)

写法:=SUBSTITUTE(,,,)中文记得加双引号” “
SUBSTITUTE函数是文本函数,记得*1才能变成数值
image.png
image.png
subtitute函数可以直接替换掉第几个特殊符号或者空格等等…..
image.png

replace函数(基于位置替换函数)

写法:=replace(单元格,第几位开始,替换几位)image.png

利用SUBSTITUTE函数来统计

原理,利用逗号来进行统计
首先利用SUBSTITUTE将逗号替换掉:=SUBSTITUTE(C2,”,”,””)
image.png
然后利用len函数求出先后两个状态的差值,加一即可得到人数:=LEN(C2)-LEN(SUBSTITUTE(C2,”,”,””))+1

总结

image.png

文本链接函数

简单链接concat函数

写法:=concat()
image.png

复杂链接textjoin函数

image.png
image.png
功能强大版的concat
写法:=TEXTJOIN(“,”,TRUE,D2:P2)

TURE表示不保留空值

image.png

FLASE表示保留空值(后期好分列)

计算结款日期

MONTH月函数

image.png
month函数可以得出月份,日期具体是几月

year年函数

image.png
year函数可以得出年份,日期具体是几几年

day日函数

image.png0
day函数可以得出日子,日期具体是几号

=date(year()+ 某年,month()+某月,day()+某日)
DATE函数可以将年月日组合到一起,形成一个新的组合日期

date日期函数

image.png
可以利用date函数进行日期的加减,比如项目延期,预计完成时间需要加一定时间,可以利用此函数,先用day、month、year函数拆开,然后用date合。
image.png
image.png

总结

image.png

使用函数计算工龄

日期间隔函数datedif

间隔月/年/日:

datedif函数得到的一定是整数
=datedif(开始日期,结束日期,比较单位)

年份的比较单位:y

image.png

月份的比较单位:m

image.png

日子的比较单位:d

image.png

单位之间的组合

简而言之就是忽略前面,算后面

ym:忽略年份算月份

image.png

yd:忽略年份算日子

image.png

md:忽略年忽略月只算天数

image.png

场景:

截止到目前为止,已经安全生产xxx天
=”截止到今天,已经安全生产”&DATEDIF(A2,B2,”y”)&”年零”&DATEDIF(A2,B2,”yd”)&”天”
image.png

处理星期问题

weeknum函数

计算一年的第几周

weekday函数

返回的数字更好判断

用weekday函数来进行标记格式周六周末

image.png
image.png
总结
image.png

处理工作日问题

间隔工作日函数networkdays
=networkdays(开始日期,截止日期,假期参数)
需要完整写出节假日的列表,用以计算工作日

image.png

设置“到期自动提醒”
today函数
年月日
now函数
年月日小时分钟
单元格输入1,改为日期表示为1900年1月1日
单元格输入1.5,改为日期表示为1900年1月1日中午12点(0.5,就是1/2天)
单元格输入1.25,改为日期表示为1900年1月1日早上六点(0.25,就是1/4天)

利用身份证算出年龄

公式——插入常用公式——身份证算出年龄公式
image.png
发货函数/实时更新函数
image.png

使用查找函数与引用函数

vlookup函数查找数据

=VLOOKUP(G2,$A$2:$B$18,2,0)

image.png

精确匹配

一模一样

近似匹配

找到最接近那个单元格的,只有数值才有近似匹配一说
近似匹配原则:找到小于等于自己的最大值

vlookup函数和hlookup函数

vlookup函数:竖表,通过左边找右边,0是精确匹配
image.png
hlookup函数:横表,横版的vlookup,注意错行问题,可以利用F4进行绝对引用

vlookup函数近似匹配的妙用
层次太多,用IF函数写起来很麻烦,可以用vlookup函数的近似匹配
因为vlookup函数近似匹配的区间划分必须从小到大,而且利用vlookup函数的近似匹配原则:找到小于等于自己的最大值。这样,可以有以下两种选择的妙用

P1计算提成比列

image.png

P2计算分数区间

image.png

用IF函数

image.png
image.png
image.png

用vlookup函数

image.png

总结

image.png

match和index函数

vlookup函数都是根据左边选右边,即VLOOKUP函数第二参数,一定是要确保数据表中的搜索的那一列一定是第一列。(vlookup函数一个找一个取两个动作)
image.png
此情况下,就无法使用vlookup函数,因为公司名称数据不是左边数据表的第一列。
只能通过左边找右边,不能通过右边找左边
必须从右往左找情况下,就需要用match和index函数

match函数负责找找

=match(找什么,哪一列,0精确匹配)vlookup函数找的那部分,只是找
image.png

index函数负责取回来

=index(要取什么,在第几行),只是取
image.png

match+index函数=自由度更大的vlookup函数

image.png
注意都是单行或者单列,不跨行处理

vlookup返回多列结果

colum函数可以直接取回连续多列的数据

利用vlookup函数取回不连续间断性顺序的数据

=VLOOKUP($I2,$A$1:$E$21,MATCH(J$1,$A$1:$E$1,0),0)
=VLOOKUP($I2,$A$1:$E$21,MATCH(J$1,$A$1:$E$1,0),0)这里的$锁定了行,可以向右拖拽
=VLOOKUP($I2,$A$1:$E$21,MATCH(J$1,$A$1:$E$1,0),0)这里的$锁定了列,可以向下拖拽
image.png

换个index函数公式来完成

=index(数组,行序数,【列序数】,【区间序数】)
数组:index函数不光可以选择一列,还可以选择一堆。即可以是一列,也可以是一个区域
行序数:要取的是第几行。技巧:可以抽象化出来为match函数
列序数:要取的是第几列。技巧:可以抽象化出来为match函数
image.png
利用两个match给index函数定个坐标
=INDEX($A$1:$E$21,MATCH($I2,$A$1:$A$21,0),MATCH(J$1,$A$1:$E$1,0))
绿色部分定位列坐标
=INDEX($A$1:$E$21,MATCH($I2,$A$1:$A$21,0),MATCH(J$1,$A$1:$E$1,0))
紫色部分定位行坐标
=INDEX($A$1:$E$21,MATCH($I2,$A$1:$A$21,0),MATCH(J$1,$A$1:$E$1,0))
蓝色部分注意混合引用的问题

跨表引用数据

indirect函数(文本转引用)

=indirect(,)
直接把举例:输入A2,然后利用利用indirect函数直接可以吧A2单元格的内容可以索引过来
image.png
image.png
跨表抓取
利用=号来进行

场景:

手工构建出来一个文本的引用
这样的自由度非常大
可以任意抓取不同的表,不同的数据,但最终他是一个文本,引用不到数据,所以就需要一个indirect函数
跨sheet表进行vlookup和indirect
image.png
image.png

总结

image.png

使用简单的财务函数

速算每月还款函数

函数中都用的是月利率
函数中月还款一定是负值
函数中终值一定是0

PMT函数计算月还款

image.png
=pmt(利率,支付的总期数,现值,终值)
利率为年利率,月利率需要/12
支付的总期数:需要还多少期(月)
现值:一共欠银行多少钱(一共要还多少钱)
终值:就是0,一定等于0

NPER函数计算总期数

image.png
固定利率、固定总额,设置每月还款金额,推算出来总期数
=NPER(利率,定期支付额,现值,终值)
注意:定期支付金额是负的

PV函数计算最大贷款额

image.png
根据总期数、利率、月还款计算最大贷款额
=pv(利率,支付总期数,定期支付额,终值)
月还款设置为负值,还款额才为正值

FV函数计算贷款剩余

image.png
=fv(利率(月利率),支付总期数,定期支付额,现值)
现值:一共贷款多少钱
函数中月还款一定是负值

总结

image.png