第一次尝试的4点体会——WPS AI写公式
有一次需求是这样的,如何从一列几千行的数据中批量选择有分号的句子并拆分成多行。
示例如下:
第一次指令:
A列中如果某个单元格存在一个或多个分号,分号不区全角或半角,就按分号对内容进行拆分为多行,没有分号的不作任何操作。处理后的内容按顺序放到B列。
没有启用深度思考,公式已经接近成功,只是“分号不区全角或半角”这句没有理解。得到的公式如下:
=TEXTSPLIT(TEXTJOIN(";",,A1:A13),,";")
开启深度思考,得到的公式很复杂,还没有用。感觉不是基于我所在的WPS表格在思考,得出了一些不适合本地的公式。
=IFERROR(FILTERXML("<a><b>"&SUBSTITUTE(SUBSTITUTE(A1,";",";"),";","</b><b>")&"</b></a>","//b"),A1)
第二次指令,我试图简洁一些
对A列单元格,按“;”或者“;”拆分内容为多行,按顺序放到B列。空值不用处理,没有“;”和“;”的原样返回。
没有启用深度思考时,没有得到公式
开启深度思考后,得到如下公式,但是最好得到的结果不对。
=TRIM(TEXTSPLIT(SUBSTITUTE(A1,";",";"),";"))
第三次指令
在第一次指令基础修改一下,看行不行。
A列中如果某个单元格存在全角分号或半角分号,就按不区分全角半角的分号对内容进行拆分为多行,没有分号的不作任何操作。处理后的内容按顺序放到B列。
没有启用深度思考时,得到了和第一次一样的公式,没能处理半角分号。
开启深度思考后,得到如下公式,但是最好得到的结果还是不对。
而且我发现只能问一次,不能再追问了,好像是一锤子买卖。
=IFERROR(TEXTSPLIT(SUBSTITUTE(A1,";",";"),";"),A1)
第四次指令,分步
第1步,对A列单元格,把“;”替换为“;”,处理后内容放到B列
没有启用深度思考时,没能得到公式
开启深度思考后,得到公式如下,第一步处理成功。
=SUBSTITUTE(A1,";",";")
第2步,三条类似指令
(1)对B列单元格,按“;”拆分内容为多行,处理后内容按顺序放到C列。
(2)对B列单元格,按分号拆分内容为多行,处理后内容按顺序放到C列。
(3)B列中如果某个单元格存在一个或多个分号,就按分号对内容进行拆分为多行,没有分号的不作任何操作。处理后的内容按顺序放到C列。
分别测试了3条指令,无论是否开启深度思考,都不能得到类似第一次指令后的公式=TEXTSPLIT(TEXTJOIN(";",,A1:A13),,";")
其实只要改成=TEXTSPLIT(TEXTJOIN(";",,B1:B13),,";"),就可以了。
可能是我问了太多次,互相影响了?
体会
1.不开启深度思考时,WPSAI写公式,对语言理解能力差。
2.我不太会提问。个人提问的技能很重要,如果语言逻辑性差会难以得到满意的结果。自己动手多写写公式有利于提高自己的逻辑思维能力。
3.有些需求可能应该多步公式实现,不能一步公式实现。这样每一次公式都简单,AI写公式时容易成功。
4.有些需求可能不能用公式实现,而需要用到代码。公式不是万能的。