2000元课程
免费学7天
函数+VBA
“$”在Excel公式中用于锁定引用的行号或列号,是不可或缺的基础知识。
$A$1,锁行锁列;
$A1,锁列不锁行;
A$1,锁行不锁列;
A1,不锁定。
不少入门已久的用户仍在困扰“锁列不锁行“和”锁行不锁列“有点傻傻分不清。
好消息是,随着Excel版本的更新,得益于数组运算和新函数的加持,你可能不再需要为$而烦恼了。
不信?来看两个常见的案例。
制作乘法表
制作乘法表是练习锁定的绝佳案例,以下是一个“五五乘法表“的半成品,核心部分的公式如下:
=B$2&"x"&$A3&"="&B$2*$A3
B$2锁住行号确保公式填充时依次引用B2:F2中的数据;
$A3锁住列号确保公式填充时依次引用A3:A7中的数据。
在Excel365版本中,整体引用B2:F2和A3:A7两个区域将其连接即可:
=B2:F2&"x"&A3:A7&"="&B2:F2*A3:A7
一个公式返回结果,无需向下或向右填充,自然用不着$来锁定引用。
B2:F2和A3:A7两个区域即两个数组,很明显,公式逻辑更好理解,操作更为简单。
同时,Excel365版本中新增的一批函数本身就是基于数组打造,如下公式可以实现同样效果,甚至不需要第2行和B列的辅助数据:
=MAKEARRAY(5,5,LAMBDA(a,b,a&"x"&b&"="&a*b))
其中的LAMBDA系列是从编程语言移植而来的函数,初学者有一定难度,但并非遥不可及,毕竟移植的目的就是要为更多不会编程的普通用户服务。
数据交叉查找
如下图所示的交叉查找是Excel十分常见的应用场景,而INDEX+MATCH的组合是经典的解决方案:
=INDEX($B$2:$D$9,MATCH($F2,$A$2:$A$9,0),MATCH(G$1,$B$1:$D$1,0))
公式用到了文章开头4种锁定模式种的3种,总共14个$让人眼花缭乱。
第一个MATCH的第一参数由一个值(F2)改为一个数据区域(F2:F5);
第二个MATCH如法炮制,G1改为数据区域G1:I1
公式摇身一变成为数组公式,就无需分析引用和锁定了:
=INDEX(B2:D9,MATCH(F2:F5,A2:A9,0),MATCH(G1:I1,B1:D1,0))
也可以用Excel365专属函数CHOOSECOLS和CHOOSEROWS搭配XMATCH来实现:
=CHOOSEROWS(CHOOSECOLS(B2:D9,XMATCH(G1:I1,B1:D1,0)),XMATCH(F2:F5,A2:A9,0))
好了,今天的Excel小课堂就到此结束,大家赶紧实际操作联系一下吧,有不懂的问题可以留言问我!感谢关注Excel880,还请多多转发,持续关注我们呀!
买课程可进永久答疑群,课程可免费试学点击下方链接即可