(已解决) 插件函数 spl(exp,arg1,...) 中的参数问题
大佬们上午好,关于集算器桌面版插件函数 =spl(exp,arg1,…) 中的 arg 参数有个问题,恳请大佬们得闲时帮忙看看🙏
以下是 Excel 插件使用说明 的部分截图
可以看到,arg 可以是常量,也可以是单元格或者片区 (Range),这些在日常使用中都没有问题。我想问的是,arg 可不可以是通过计算得到的数组?Excel 中 Range 和数组是有区别的。
比如,在 Excel 中输入公式 ={1;2;3} 会得到 3 行一列的区域:
当这个值 {1;2;3} 作为 spl 函数的参数时,结果报错了:
我预想的输出应该也是 3 行 1 列。
或者,先引用 Range,然后用 Excel 函数处理这个 Range,
1、如果处理后得到的是一个标量,一个值的那种,没有问题,如下所示,EXCEL 函数 TEXTJOIN 把数值用逗号连接后作为 spl 的 arg,单值引用没有问题:
2、如果用 WRAPROWS 函数处理成 3 行 3 列后再作为 spl 的参数传入,就会有问题:
比如,WRAPROWS 的结果如下:
作为参数传给 spl 时,结果如下:
或者,用 VSTACK 先对多个 Range 堆叠如下:
当作为参数传给 spl 时,结果都是 null:
所以,spl 中的 arg 参数只能是标量或者 Range 区域,不能是数组 array(包括常量数组或者通过计算处理得到的数组)?如果结果为标量是没问题的,无论多么复杂的表达式都行,比如以下返回当前工作簿路径:
恳请大佬们看看,确认一下 arg 可不可以用数组? 谢谢!
office 是什么版本?
我用的是 Ms365…我不知道哪些版本支持数组的 spillover。
365 是支持数组 spillover 和新函数的。新函数是指最近两年发布的函数像 sequence,vstack,hstack,textsplit…
你更新一下试试,看最新版本 office 能不能出来这些新函数。
2019 版 (含) 之前的好像不支持动态数组,要 2021 版本或者 365 版本。
测试 jar 包解决了上述问题
scuexcelxll210jar
要支持数组 {} 横向、纵向显示,及 vstack 等 excel 新函数,需要升级 Excel 支持它们。
正式 jar 包发布需等测试验证后才发布
谢谢大佬,给你添麻烦了🙏
目前测试是可行的,666,如下所示: