【表格秘籍】解锁表格语法糖,让公式编写更高效

表格中的“语法糖”(Syntactic Sugar)是指那些简化写法、提升可读性、隐藏复杂逻辑,不改变核心功能、旨在提升公式书写效率与可读性的简写形式的便捷语法及操作,主要集中在动态数组、LAMBDA 辅助函数、智能引用、结构化引用、简写规则几大类。下面按类别详细介绍,附语法、示例与适用场景。

表格语法糖:

  1. LAMBDA辅助函数语法糖

  1. 智能引用:TRIMRANGE语法糖

  1. 超级表(Table或ListObject)引用:使用结构化引用如表1[列名]

  1. 动态数组溢出与简写

  1. 逻辑与错误处理语法糖

  1. 名称框/定义名称:极简引用

  1. 常用输入/编辑快捷键:快捷键语法糖

  1. 运算符语法糖


一、LAMBDA 辅助函数语法糖

适用版本:Excel 365、WPS 2023+

核心:单参数函数可直接传入 BYROW/BYCOL/MAP/SCAN/REDUCE,省略 LAMBDA(x, ...)

  1. BYROW / BYCOL(逐行/逐列计算)
  • 传统写法(啰嗦)

=BYROW(B2:D10,LAMBDA(x, SUM(x)))
=BYCOL(B2:D10,LAMBDA(x, MAX(x)))
  • 语法糖(极简)

=BYROW(B2:D10,SUM)
=BYCOL(B2:D10,MAX)
=BYROW(A2:A100,LEN)

  1. MAP / SCAN / REDUCE 同理
=MAP(A2:A10,ABS)
=SCAN(0, A2:A10,SUM)

支持的单参数函数

SUM/MAX/MIN/COUNTA/LEN/ABS/INT/SQRT/TEXT/TRIM/UPPER/LOWER 等。

  1. 如果后面的函数包含1个以上的参数,依然要用LAMBDA实现
=BYROW(B2:D10,LAMBDA(x,SUMIFS(x,F2:F10,"金山",O2:O10,"WPS")))
=BYCOL(B2:D10,LAMBDA(x,MAXIF(x,F2:F10,"金山"))

二、智能引用:TRIMRANGE 与点号 . 语法糖

作用:自动裁剪空白,只计算实际数据区域,大幅提速。

最新的动态数组功能中引入了 TRIMRANGE 函数,并为其提供了极简的语法糖形式,用于动态区域的空白修剪(去掉上下或左右的空行/空列)。详细介绍请参考https://bbs.wps.cn/topic/56812

  1. TRIMRANGE 函数
=TRIMRANGE(A:A)
=TRIMRANGE(A1:D1000)
  • 优化 VLOOKUP / COUNTIF:

=VLOOKUP(G2, TRIMRANGE(A:D), 4, 0)  // 不扫整列104万行

  1. 点号 . 语法糖(最常用)

写法:在列标后加 .,表示“智能裁剪到实际数据边界”。

=A:.A        // 等价 TRIMRANGE(A:A)
=A:.D        // 等价 TRIMRANGE(A:D)
=B2:.B1000   // 等价 TRIMRANGE(B2:B1000)
  • 提速写法:

=SUM(A:.A)
=COUNTIF(A:.A, ">1000")
=VLOOKUP(G2, A:.D, 4, 0)
  • B.:.C /TRIMRANGE(B:C,3) 「两者/全修剪」:修剪区域内所有的空白行和列。

  • B:.C /TRIMRANGE(B:C,1) 「前导/左上修剪」:前带点,修剪区域上方和左侧。

  • B:.C/TRIMRANGE(B:C,2) 「尾随/右下修剪」:后带点,修剪区域下方和右侧。

  • 应用场景:在 SUMPRODUCT(C:.C*D:.D) 这种引用中,能够极大减少处理区域数据的逻辑冗余,同时配合TAKE/DROP/CHOOSECOL/CHOOSEROW等函数或INDEX+MATCH可精准定位引用单元格区域


三、结构化引用(超级表Table或ListObject)

将数据区域插入为表格(Ctrl+T)后,公式不再显示 A2:B10 这种range单元格区域,而是使用人类可读的名称。详细介绍可参考https://bbs.wps.cn/topic/38471

  • 语法表1[姓名] 表示引用名为“表1”的“姓名”列。

  • 跨表引用SUM(表名[标题字段]) 即使在表格添加行后,公式也会自动扩展。


四、动态数组溢出与简写

  1. 自动溢出(Spill):一个公式整列结果
  • 传统:下拉填充

  • 语法糖:一个公式自动溢出整列/整表

=A2:A100+B2:B100   // 直接整列相加,自动溢出
=UNIQUE(A2:A100)   // 去重,自动溢出
=SORT(A2:D100, 2)  // 按第2列排序,自动溢出

  1. 数组常量简写 {}
=SUM({1,2,3,4})     // 直接写数组
=SUM((A2:A10>100)*B2:B10)  // 条件求和(旧版数组)

  1. 多条件简写 * / +
// 且条件:*
=COUNTIFS(A:A,"苹果",B:B,">100")
// 语法糖(数组):
=SUMPRODUCT((A2:A100="苹果")*(B2:B100>100))

// 或条件:+
=SUMPRODUCT(((A2:A100="苹果")+(A2:A100="梨"))>0)

五、逻辑与错误处理语法糖

  1. IFS 代替多层 IF 嵌套
  • 传统(易乱括号):

=IF(A1>=90,"优秀",IF(A1>=80,"良好",IF(A1>=60,"合格","不合格")))
  • 语法糖(顺序判断、无嵌套):

=IFS(A1>=90,"优秀", A1>=80,"良好", A1>=60,"合格", TRUE,"不合格")

  1. IFERROR / IFNA 简写
// 传统
=IF(ISERROR(VLOOKUP(...)),"无",VLOOKUP(...))
// 语法糖
=IFERROR(VLOOKUP(...),"无")
=IFNA(VLOOKUP(...),"未找到")  // 只抓#N/A

  1. 单引号 ' 强制文本(输入技巧)
  • 输入 '00123 → 显示 00123(不丢前导零)

  • 输入 '=1+1 → 显示文本 =1+1(不计算)


六、名称框 / 定义名称(极简引用)

  • 选中 A2:D100 → 名称框输入 Data → 回车

  • 以后直接用:

=SUM(Data)
=VLOOKUP(G2, Data, 4, 0)

tip:等同于在名称管理器中快速新建


七、常用输入/编辑快捷键(也算“语法糖”)

  • Ctrl+Enter批量填充所选区域同一公式

  • F4切换引用类型(相对→绝对→混合)

  • Alt+=一键自动求和(SUM)

  • Ctrl+Shift+Enter:旧版数组公式(新版动态数组已省略)


八、运算符语法糖

  • 交叉引用运算符:空格。例如 SUM(2:2 B:B)) 返回A列与第1行交叉的单元格(即B2)。

  • 联合运算符:逗号。例如 SUM(A2:D2,B4:D4)表示将两个不连续的区域作为一个集合。


九、版本与兼容性说明

  • WPS 2023+,Excel 365 / 2021+ :支持全部语法糖(溢出、LAMBDA、TRIMRANGE、点号 .

  • 2019及更早:只支持传统数组、IFS、IFERROR、名称框等


总结

掌握这些语法糖(特别是#..)可以将复杂的表格操作瞬间转化为简洁的动态逻辑,大幅提升函数计算效率并减少错误。

tip:所有的符号都是英文状态下的半角符号而不是中文状态的全角符号。

四川省
浏览 899
1
9
分享
9 +1
2
1 +1
全部评论 2
 
HC.旋
点赞,跟着老师学
· 福建省
回复
 
Hypnotist
Hypnotist Lv.3 优质创作者WPS寻令官WPS产品体验官

Lv.3优质创作者

大佬,点赞
· 四川省
回复