动态数组的用法
背景介绍:什么是数组公式?很多小伙伴可能没有用过Excel的数组公式,对这个强大的功能缺乏概念,
其实数组公式在excel中经常可以起到四两拨千斤的作用,对我们实现一些复杂功能有着很大帮助。
我先介绍一下数组公式:
数组公式是指可以在数组的一项或多项上执行多个计算的公式,你可以将数组视为一行值、
一列值或行值和列值的组合。数组公式可以返回多个结果,也可返回一个结果。
数组公式通常称作 CSE (Ctrl+Shift+Enter) 公式,因为不是只按 Enter 键,而是要按 Ctrl+Shift+Enter 完成公式。
数组常量是数组公式的组成部分。可以通过输入一系列项然后手动用大括号 ({ }) 将该系列项括起来创建数组常量。
使用逗号分隔各个项,将创建水平数组(一 行)。使用分号分隔项,将创建垂直数组(一列)。
要创建二维数组,应在每行中使用逗号分隔项,并使用分号分隔每行。 数组常量中只能包含常量,比如数字、字符串等。
类似于 setFormula 方法,你可以使用 setArrayFormula 方法来设置数组公 式。在 公式输入框 中数组公式会被包含在大括号中({ })。
效果可以参考学习指南:
https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/features/calculation/basic-array-formula/purejs
https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/features/calculation/array-formula-usage/purejs
那什么是动态数组,动态数组又有什么厉害的地方呢?
我们如果在Excel中尝试使用过数组公式就会发现,数组公式在重算后返回结果矩阵变化时就会出错,
需要重新设置数组区域。而Excel的动态数组可以自动调整大小并重新计算!目前在Excel中已支持的7个动态数组公式:
FILTER,UNIQUE,SORT,SORTBY,SEQUENCE,SINGLE和RANDARRAY
从SpreadJS V13开始都已经做了支持和兼容,参考学习指南:
https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/features/calculation/dynamic-array/Introduction/purejs
页:
[1]