6.1 找第 n 个,找倒数第 n 个
有如下销售额统计表:
找出销售额排第 10 名的产品及其销售额,和销售额排倒数第 10 名的产品及其销售额,结果如下所示:
第 10 名:
=spl("=E(?1).sort(ProductSales:-1)(10)",A1:C78)
倒数第 10 名:
=spl("=E(?1).sort(ProductSales:-1).m(-10)",A1:C78)
帮你早下班 - esProc 桌面版与 Excel 数据处理
5.11 多 Sheet 拆成多文件 -Sheet 个数不定
6.2 前 N 名,后 N 名
你好,为什么我在 excel 输入公式,显示的是一条带 {} 的记录?如果 =spl(“=E(?1).sort(总成绩:-1)(10).array()”,A1:G47)加上 array 的话又变成了一列,而且没有字段名。请问如何将每个数据单独展现在单元格中,而且带表头。
供参考…
用 A(n) 或者 A.m(n) 表达式从序表中深化出一条返回的是 record,在 excel 中会显示成 json 风格带花括号的形式 {a:1,b:2,c:3}。
如果要显示成表的形式,外面再套一个中括号,[{}] 这样是一个排列 sequence,就能在 Excel 中显示成你想要的结果形式。
record.array()返回的是单层序列 [1,2,3,…],对应于 VBA 中或者其它语言中的一维数组,在 excel 中默认按纵向显示,可以在菜单加载项下有个设置 SPL 序列显示方式的按钮,打勾,单层序列就会在水平方向显示。当然,单层序列按水平方向显示,也可以在外边再套一层中括号,变层序列的序列,[[1,2,3]] 就会横向显示。
Excel 中的数组结果展示始终是 [[],[],[],[]…] 这种序列的序列,二维数组的形式。excel 中引用数据区域时,看上去的一行或者一列,实际上都是嵌套序列,一行 [[1,2,3…]],一列[[1],[2],[3]…]。区分一下这两种形式,[1,2,3,…] 和[[1],[2],[3],…],在 Excel 中呈现出来都是纵向 1 列,但这两个是截然不同的数组,前面一个只是设置成了纵向显示。
https://d.raqsoft.com.cn:6443/esproc/func/eecxl.html
您好,新版整理了记录的返回规则,单条记录会自动转成 json 格式。要加 [],比如 =spl(“=[E(?1).sort(成绩:-1)(3)]”,A1:B8)
多谢二位,学到了!