精进Excel
无邀自答。我也来回答下这个问题,分享下我的观点,希望能帮到大家!
Excel最强大的公式是哪个?
有个段子:"Vlookup说它匹配厉害,Lookup就笑了;If说它逻辑厉害,Choose就笑了;Sum说它求和厉害,Subtotal就笑了;Sumif说它条件求和厉害,Sumifs就笑了;Index说它引用厉害,Indirect就笑了;Find说它查找厉害,Search就笑了;Left/Right说它截字符厉害,Mid就笑了... ..."
可见,Excel中没有最强,只有更强!
都知道,Excel中,最常用的函数,一定是Vlookup,从某种角度上讲,Lookup的功能确实比Vlookup强大。只是,功能强大的背后,那一定是复杂的使用逻辑和参数,
如:Lookup实现多条件查询时,这样用
=LOOKUP(1,0/((条件1)*(条件2)*……*(条件N)),目标区域)
好吧,确实很强,只是,这逻辑,这参数,多少人能理解!
所以,我个人认为,Excel中最强的,不是哪个具体公式,而在于思路。
如上的多条件查询,我会添加一个辅助列,联合条件,然后再使用查询函数即可。
如下所示:
Index+Match组合,我心中的最强
查询函数,我基本上是天天用,也是最熟悉的,比起Vlookup和Lookup,我更喜欢使用Index+Match,因为,不管哪种情况,他们的参数都差不多,没有那些看起来羞涩难懂的各类参数写法。
基础用法
INDEX(区域, 第几行);
MATCH(找什么, 在哪里找, 查找方式);
Vlookup中所谓的逆向查询,无非就是index第一个参数的列标而已。
如: =index(C:C,match(D2,a:a,0))
用上这个组合,就不用再关心,到底目标列是在查询列的左侧,还是右侧了。
多条件查询
如上,逻辑还是很简单,match用姓名找出该人员所处的行号,再用月份找出对应列号,最后一个index定位到具体位置。
返回最后一个值
我的思路是:在源数据中先进行排序,升序或者降序,看需求了。再用查询函数查询。当然,更稳妥的做法,那就是添加辅助列,填充序号。
多个返回结果
其实,这种情况下,我一般不用公式了,高级筛选中有一个"复制到"的选项,可比那一长串的参数好用多了。
好了,都说Excel千面,每个人心中都有一个用起来最顺手的公式,那就是你的最强!
以上仅是个人观点,希望能帮到你,欢迎评论区讨论!
我是Excel技巧精选,别忘了,点赞、点赞、点赞!!!
Excel技巧精选
曾经VLOOKUP说他是最强的,LOOKUP表示不服!
说起查找与引用函数,大家最熟悉的莫过于VLOOKUP了。其实它一个家族中的另一个兄弟,LOOKUP函数比它的功能更为强大,想要更好的处理数据的查找与引用,千万不要错过它!
01、LOOKUP函数语法
LOOKUP函数的语法有两种:
1、向量式:
向量式是使用的更多的一种形式:
第一参数是要查找的值;
第二参数为一行或者一列,是被查找的区域。
第三参数是返回哪行或者哪列的结果,这里第三参数要求与第二参数有一样的尺寸。
比如第二参数是一列,B2到B5,第三参数是C1到C6,这样就是不可以的。
2、数组式:
=LOOKUP(lookup_value,array)
第二参数array, 是一个多行多列的区域。这个区域的首列须包含要查找的值,返回对应最后一列的值。
这两种方式,有的时候可以实现相同的功能,区别只是写法不同; 也有的功能只能用其中一种的写法。下面用栗子来给大家详细展现。
02、LOOKUP模糊查找
个人所得税税率查询:
(模糊匹配,类似VLOOKUP)
应纳税的工资(减去3500之后),查找应使用的税率时,没有完全一样的数值,将返回小于它的最大值。
F2单元格中的公式为(向量式):
=LOOKUP(E2,$A$2:$A$5,$C$2:$C$5)
$A$2:$A$5 是要查找的区域;
$C$2:$C$5 是对应返回的结果。
例子中工资5000在左边的表格中找不到,将返回小于它的最大值,也就是4500对应的结果,20%(虚构数值,仅供参考)。
这个例子中,还可以使用数组的方式,结果是一样的:
=LOOKUP(E2,$A$2:$C$5)
注意:在用LOOKUP进行模糊匹配的查询时,第二参数须以升序排列。
03、LOOKUP反向查找
由于LOOKUP函数向量式的写法中,被查找的区域,和结果返回的区域是分开写的,所以可以应用在,要返回的结果在被查找区域之前的情况。
例如,知道员工工号的情况下,要在左边的表中查找员工的姓名。
E2中的公式为:
=LOOKUP(D2,$B$2:$B$8,$A$2:$A$8)
B2至B8是要查找的区域,返回A2至A8对应的结果。
需要注意的是,LOOKUP函数默认在找不到完全一致的值时,会按模糊匹配来处理,返回一个接近的值(小于它的最大值对应的结果)。
所以,如果要查找的值,可能在被查找区域不存在,又需要精确匹配时,不要使用这种方式。
04、条件查询
0/条件 其实是一大类用法的总结。
公式写作:=LOOKUP(1,0/(条件),目标区域或数组)
这里的“条件”可以是多种多样的。我们可以根据不同的需求,构建不同的“条件”。利用“0除以任何数都得0”和“0除以错误值还是错误值”的原理,得到一串0和错误值组成的数组。
我们要找的是“1”,在找不到“1”时,返回最后一个“0”对应的值。(LOOKUP自动屏蔽错误值)
“条件”如何构建,决定能发挥怎样的作用。下面几种常见用法的举例。
① 求同一值最后一次出现的情况:
我们想求某值最后一次出现的结果,可以先通过使用一个条件,将出现这个值的情况挑选出来。
这个例子中用到的“条件”就是:=FIND(E3,$B$3:$B$11)
这个FIND函数的作用是,在B3到B11区域中,挨个单元格去查找,E3的值在这个单元格中的位置。
E3中是“张三”,B3中“张三”是从第一个字符开始的,所以返回1.
同理,B4和B5都会返回1。在找不到我们要的结果的时候,会返回错误值:#VALUE!.
也就是,符合条件时会返回一个非零数字,不符合条件时会返回错误值。
所以刚才的“条件”就会得到:
=FIND(E3,$B$3:$B$11)
={1,1,1,#VALUE!,#VALUE!,#VALUE!,#VALUE!,#VALUE!,#VALUE!}
=0/FIND(E3,$B$3:$B$11)
={0,0,0,#VALUE!,#VALUE!,#VALUE!,#VALUE!,#VALUE!,#VALUE!}
错误值会被LOOKUP函数排除掉,剩下就是在符合条件的值中进行运算。
最原始的公式就会变成:
=LOOKUP(1,0/FIND(E3,$B$3:$B$11),$C$3:$C$11)
=LOOKUP(1,{0,0,0},$C$3:$C$11)
由于我们要找1,而查找区域只有0,找不到1时,会返回最后一个0对应的结果。这个案例中就是第3个0对应的值,也就是B5单元格对应的结果C5。
总结一下0/[条件]的用法就是,通过构建一个“条件”,所有符合条件的值返回一个非零数字, 不符合条件的值返回一个错误值。
② 多条件查找:
多条件查找其实就是上面公式的一个变种。
写作:
=LOOKUP(1,0/((条件1)*(条件2)*……*(条件N)),目标区域)
多个条件之间使用乘号连接,表示当列出的条件同时满足时的结果。如果有多个行出现同时满足条件,则返回最后一个。
下面这个例子中,我们需要班级和姓名两个条件同时满足时,对应的结果。
I2中的公式为:
=LOOKUP(1,0/(($B$3:$B$8=F3)*($C$3:$C$8=G3)),$D$3:$D$8)
这两个条件分别是:
B3到B8中等于F3,和C3到C8中等于G3。
同时满足时,将返回D3到D8对应的结果。
能实现这么多功能,你说LOOKUP是不是最强大的函数?精进Excel
TEXT函数也相当强大,尤其在条件判断方面。
默认条件区段
四个条件区段:
TEXT函数的格式代码默认分为4个条件区段,各区段之间用半角分号间隔。
默认情况下,这四个区段的定义为:
[>0];[<0];[=0];[文本]
【举例1】 按区段条件判断,然后返回相应结果:
公式:=TEXT(A2,"0.00;-0;0;文本")的含义是:
A2单元格的值,按照四种情况返回结果:
>0,保留两位小数;
<0,只保留整数;
=0,返回0值;
文本,返回“文本”二字。
【举例2】按区段条件,强制返回相应结果:
公式:=TEXT(A8,"1!0!0;5!0;0;文本")的含义是:
A8单元格的值,按照四种情况返回结果:
>0,返回100;
<0,返回50;
=0,返回0值;
文本,返回“文本”二字。
公式中使用的感叹号(英文半角)是转义字符,强制其后的第一个字符不具备代码的含义,而仅仅是数字。比如:1!0!0,将两个0强制成数字0,而不是数字格式代码0。
在实际应用中,可以使用部分条件区段。
三个条件区段:
三个区段为:
[>0];[<0];[=0]
【举例3】
公式:=TEXT(A15,"盈利;亏损;平衡")的含义是:
A15单元格的值,按照三种情况返回结果:
>0,返回“盈利”;
<0,返回“亏损”;
=0,返回“平衡”;
两个条件区段:
两个区段的为:
[>0];[<0]
【举例4】
公式:=TEXT(A22,"盈利;亏损")的含义是:
A22单元格的值,按照两种情况返回结果:
>0,返回“盈利”;
<0,返回“亏损”;
一个区段的,就不讲了,昨天前天的两篇文章,都算是一个区段的。
自定义条件区段
TEXT函数除了可以使用默认区段以外,还可以自定义条件区段。
四个自定义条件区段:
四个区段的定义为:
[条件1];[条件2];[不满足条件的其他部分];[文本]
【举例5】
公式:=TEXT(A38,"[>=85]优秀;[>=60]合格;不合格;无成绩")的含义是:
A38单元格的值,按照自定义的四种情况返回结果:
>=85,返回“优秀”;
>=60,返回“合格”;
不满足以上条件的数值,返回“不合格”;
非数值,返回“文本”二字。
三个自定义条件区段:
三个区段的定义为:
[条件1];[条件2];[不满足条件的其他部分]
【举例6】
公式:=TEXT(A46,"[>=85]优秀;[>=60]合格;不合格")的含义是:
A46单元格的值,按照自定义的四种情况返回结果:
>=85,返回“优秀”;
>=60,返回“合格”;
不满足以上条件,返回“不合格”;
两个自定义条件区段:
两个区段的定义为:
[条件];[不满足条件的其他部分]
【举例7】
公式:=TEXT(A54,"[>=60]合格;不合格")的含义是:
A54单元格的值,按照自定义的四种情况返回结果:
>=60,返回“合格”;
不满足以上条件,返回“不合格”;
巧用TEXT嵌套自定义多条件区段
以上举例中,我们可以看到,成绩只能判断到“优秀、合格、不合格”级别,如果再多级别,一个TEXT就解决不了了。TEXT函数也可以嵌套解决这个问题:
【举例8】
要求:
90分及以上,返回“优秀”;
70分及以上,返回“良好”;
60分及以上,返回“合格”;
60分以下,返回“不合格”。
结果如下:
公式:TEXT(TEXT(A62-60,"[>=30]优秀;不合格;0"),"[>=10]良好;合格"),分解来解释:
TEXT(A62-60,"[>=30]优秀;不合格;0")
对A62-60进行分段计算:
如果>=30,返回“优秀”;
-
如果<0,返回“不合格”;
不满足以上条件,返回成绩的整数。
如果成绩中有小数,最后一个区段可以写成0.0,或0.00.
通过这个公式,把成绩分段成了>=90,<60,60~89三个区段。
TEXT(TEXT(A62-60,"[>=30]优秀;不合格;0"),"[>=10]良好;合格")
这一部分,对60~89的成绩,减去60,然后计算:
如果>=10,返回“良好”;
否则,返回“合格”;
韩老师讲office
对于Excel公式来说,我是觉得没有最强大之说,每个公式都有独立的功能,用法也不一样,能帮你更好的解决问题才能算是强大,下面我为大家分享Excel中最长用的一些公式,
1、 查找重复内容公式:=IF(COUNTIF(A:A,A2)>1,"重复\
成都朗沃教育
我个人觉得是excel公式审核。
excel公式审核是一组命令,excel2003版它位于工具 - 公式审核,excel2010版在公式选项卡中。
公式审核在编辑公式时非常的有用,但可惜的是大部分用户并没有重视和使用它。下面我们盘点一下它的作用。
1、迅速找到引用的单元格。
如果一个公式中引用了大量的单元格,而你想看到具体每个被引用单元格位置和值。就点击公式审核中的“追踪引用单元格”命令。
2、快速显示所有公式
点公式审核中的“显示公式”,所有公式都会现出原形。
3、查看公式错误原因
公式出错了,点击“错误检查”可以查看错误原因
4、快速查找长公式的出错位置
当一个很长的公式返回错误值,很多新手会手足无措,不知道哪里出错了。
【例】:如下图所示,单元格的公式返回值错误。要求排查出公式的哪部分出现了错误。
操作方法:
1、 打开单元格左上角绿三角,点“显示计算步骤”(等同于点公式审核中的公式求值命令)
2、在打开的“公式求值”窗口中,求值会自动停在即将出错的位置。这时通过和编辑栏中的公式比对,就可以找出产生错误的单元格。(D7)
如果公式中有多处错误,可以先修正前一次,然后再点显示计算步骤,查找下一处错误。
更多财税职场学习资讯,关注秀财网
秀财网
肯定是被公认为“万金油”的VLOOKUP函数。
除了最基本的查找功能外,它还可以进行多条件查找、快速核对数据、分段归类、多列查询等延伸功能,实际应用场景特别多样化。
DataHunter
每个都很厉害,看具体用途,没有最强只有更强
藍色DE流光
lookup系列函数。vlookup,hlookup。
不能说最强大,只能说使用频率最高。
强大的函数公式很多,比如:concat\\textjoin都是很强大的函数。
Excel讲堂
说到最强大,得看你做的什么方面的事情比较多而动态变化吧
但有一个,真是平时省时省力的好公式:单元格内容合并符号&
这个符号为平时很多表格制作带来了方便,且我一般用它来代替很多其它的公式,好记忆又简单易用