让公式简化优美的寄生函数,LET
作者:小窝来源:部落窝教育发布时间:2023-07-20 14:43:52点击:1199
无意之间发现一个简单但很有意思的函数让,let。它不提供解决问题的方法,总是寄生于其他函数中。它的魅力在于可以帮你简化公式,易于公式编写和维护,提高运行效率。
LET,
一个很奇特的小函数:
它,不单独使用;
它,不提供新的解决办法;
但——
它,简化公式,
它,提高运算速度,
让公式优美丝滑!
1.感受LET
查学员的成绩并给出等级,不用辅助列。
有伙伴用IFS写了公式:
=IFS(VLOOKUP(H2,$A$2:$B$18,2,0)<70,"D",VLOOKUP(H2,$A$2:$B$18,2,0)<80,"C",VLOOKUP(H2,$A$2:$B$18,2,0)<90,"B",VLOOKUP(H2,$A$2:$B$18,2,0)>=90,"A")
公式很长,写的时候废手,看的时候废脑!
(请下载素材)在不改变思路和方法下,改用下方的公式:
=LET(X,VLOOKUP(H2,$A$2:$B$18,2,0),IFS(X<70,"D",X<80,"C",X<90,"B",X>=90,"A"))
或许你有其他的思路,如嵌套两个VLOOKUP进行查找;但很显然,相同思路下,前者臃肿,后者苗条!
如果数据源增加3行,从A2:B18变成了A2:B21,则需要修改公式:
前者你得改四次(不会查找替换公式中内容的话);
后者只改一次!
2.LET函数语法
=LET(变量1,值1,变量2,值2,…公式)
变量和值总是成对出现,至少需要一对;公式的最后一项总是运用变量的公式。
譬如:
=LET(A,1,B,2,A+B),结果是3;
=LET(X,ROW(B5),SUM(X,10),结果是15。
3.LET的作用
1)简化公式,有利读写和维护
如你已感受到的,它可以将公式中重复运算项设置为变量,简化公式。
譬如:提取汉字的万能公式——不管有无分隔符。
=TRIM(CONCAT(IF(MID(A2,ROW($1:$50),1)<"啊"," ",MID(A2,ROW($1:$50),1))))
用LET进行优化后
=LET(拆分, MID(A2,ROW($1:$50),1),TRIM(CONCAT(IF(拆分<"啊"," ",拆分))))
再譬如查询各产品类别,类别名就是工作表名。
直接写公式:
=LOOKUP(1,0/COUNTIF(INDIRECT({"水果";"蔬菜";"肉类";"蛋类";"饮料";"酒类"}&"!a:a"),A2),{"水果";"蔬菜";"肉类";"蛋类";"饮料";"酒类"})
加入LET后:
=LET(_pin,{"水果";"蔬菜";"肉类";"蛋类";"饮料";"酒类"},LOOKUP(1,0/COUNTIF(INDIRECT(_pin&"!a:a"),A2),_pin))
2)提高运算速度
拿上面的公式来说:
TRIM(CONCAT(IF(MID(A2,ROW($1:$50),1)<"啊"," ",MID(A2,ROW($1:$50),1))))中的字符串拆分运行了两次,而LET(拆分, MID(A2,ROW($1:$50),1),TRIM(CONCAT(IF(拆分<"啊"," ",拆分))))中只运行了一次,其结果被作为变量直接调用。
数据少的时候,感受不出来;如果数据上万条,那区别就大了。
4.小结
(1)公式越复杂,数据越庞大,LET越有作用!
(2)变量名称可以包含英文、中文、数字,但必须与公式其他数据区别开;推荐变量名称前添加下划线字符”_”,如此,当定义了多个变量后,只要输入”_”即可选择变量。
本文配套的练习课件请加入QQ群:902294808下载。
做Excel高手,快速提升工作效率,部落窝教育Excel精品好课任你选择!
扫下方二维码关注公众号,可随时随地学习Excel:
相关推荐:
版权申明:
本文作者小窝;部落窝教育享有稿件专有使用权。若需转载请联系部落窝教育。