WPS灵犀写公式,把类似“1-5”展开为连续数字1,2,3,4,5
遇到这样一个需求
遇到这样一个需求,把A列的文本转换为B列的形式。就是//及其前面内容忽略,把后面的内容中用“-”串起的数字展开,如把5-8展开为5,6,7,8。
添加图片注释,不超过 140 字(可选)
指令1
我想通过示例的办法,更容易让WPS灵犀明白我要干什么。于是我写了这样的指令:
A1单元格内容为“1//1-5,7”,经过公式转换后,在B1显示为“1,2,3,4,5,7”,如何写这个公式?
添加图片注释,不超过 140 字(可选)
思考了26秒后,它给出了结果,如下图。不仅有公式,而且有分步解释,可以让人明白公式是怎么工作的。后面还有注意事项,说明了该公式支持处理多组范围(如"2-4,6-8");自动过滤重复数字并保持升序排列;如需降序排列可在公式后添加排序函数。
看起来很不错。
添加图片注释,不超过 140 字(可选)
在wps表格中粘贴代码
在灵犀,用右上角的复制按钮,复制了公式文本,粘贴到wps表格中的B1单元格中,结果显示计算错误。
添加图片注释,不超过 140 字(可选)
指令2
指令:把公式粘贴到wps表格中,显示“计算错误:引用了无效的名称!”,如何修改?
运行结果如下。
针对原因逐一排查。看了一下wps表格的名称管理器,空的。函数名称拼写错误,也不像啊。也没有什么自定义函数和宏。加载项嘛,不太懂。
添加图片注释,不超过 140 字(可选)
指令3
我决定不管这个错误,让它再修改一下公式,也许能行。
指令:修改一下公式,请忽略“//”及其前面的内容。
随后给出的公式仍然不能正常运行,还是显示“计算错误:引用了无效的名称!”
不过我注意到,它提及了XML解析支持。可能原因就是我的本机上的wps不支持XML解析,那么就看看有没有绕开XML的公式。
添加图片注释,不超过 140 字(可选)
重开一局
指令:A1单元格内容为“1//1-5,7”,经过公式转换后,在B1显示为“1,2,3,4,5,7”,如何写这个公式?要求:公式写在B1单元格,开头内容“1//”要忽略,公式要绕开xml。
得到的结果为:
=TEXTJOIN(",",TRUE,LET(s,RIGHT(A1,LEN(A1)-FIND("//",A1)-1),parts,TEXTSPLIT(s,,","),MAP(parts,LAMBDA(p,IFERROR(LET(x,FIND("-",p),st,VALUE(LEFT(p,x-1)),ed,VALUE(MID(p,x+1,9)),TEXTJOIN(",",1,SEQUENCE(ed-st+1,,st))),p)))))
添加图片注释,不超过 140 字(可选)
这回终于成功了!
添加图片注释,不超过 140 字(可选)
总结
“我的本机上的wps不支持XML解析”,这个原因应该是对。对XML我是有印象了,感觉打开支XML解析会更麻烦,所以我决定绕开。
以前我也是亲自写过公式的,所以尽管上面有很多我没有接触过的函数,但只要它解释一下,我基本能看明白。
尽管有AI,但是自己还是要不断学习的。能把自己的问题描述清楚,就是一种在AI时代需要不断提升的能力。
与大家共勉,还请大家批评指正。
创作者俱乐部成员