只有len, 没有lenb,这个分列,或者提取怎么操作(如图)
本帖最后由 changda56 于 2022-7-29 17:23 编辑
如图,采购单位名称,我只想要汉字,不要后面的英文编码。(例如,excel LEFT(A4,LENB(A4)-LEN(A4)) 就能把中文提取出来)
|
免责声明:本文不代表本站立场,且不构成任何建议,请谨慎对待。
版权声明:作者保留权利,不代表本站立场。
|
|
|
|
Nero
显示全部楼层
发表于 2022-7-29 17:22:24
本帖最后由 Nero 于 2022-7-29 20:02 编辑
可以新建列,用正则函数提取- 中文列:extractNTH(col['采购单位名称'], '([\u4e00-\u9fa5]+)([A-Z|a-z]+)', 1)
- 英文列:extractNTH(col['采购单位名称'], '([\u4e00-\u9fa5]+)([A-Z|a-z]+)', 2)
复制代码
|
|
|
|
|
yhdata_yzm
来自手机
显示全部楼层
发表于 2022-7-29 17:33:48
|
|
|
|
永洪tech-Lerry
显示全部楼层
发表于 2022-7-29 20:13:35
如果您这边的区分点都是“公司”的话,可以新建计算列如下:
split(col['采购单位名称'],'公司',1)+'公司'
实现效果如图:
|
|
|
|
|
yhdata_yqQ63BDv
显示全部楼层
发表于 2022-7-29 23:45:00
|
|
|
|
永洪tech-mcs
显示全部楼层
发表于 2022-7-30 10:53:25
|
|
|
|
changda56
显示全部楼层
发表于 2022-7-30 17:44:15
我取的“中文列”的代码,没有起到任何作用啊。是不是写的有问题啊。 |
|
|
|
|
changda56
显示全部楼层
发表于 2022-7-30 17:44:59
区分点,有“公司” 有“出版社”,数据没截全,所以您这个方法,不可取。谢谢。 |
|
|
|
|
changda56
显示全部楼层
发表于 2022-8-1 10:05:09
我的解决方案是:先建个“计算列”,过渡一下。
第一步:用 if 和 find 找出第1个“司”或者"社”的位置。这个计算列取名为“辅助列”。
if find("司",col['采购单位名称'],1)==0 then (find("社",col['采购单位名称'],1)+2)/3 else (find("司",col['采购单位名称'],1)+2)/3 end
第二步:再用left写个计算列,这个计算列,就是想要的结果了。
left(col['采购单位名称'],col['辅助列'])
你可能会问,为什么第1个计算列,还要加上2,再除以3 ,我也不知道是为什么,可能是永洪的BUG。不这样,不是我要的那个“数字” |
|
|
|
|
changda56
显示全部楼层
发表于 2022-8-1 10:08:06
我已经解决了。
我的解决方案是:先建个“计算列”,过渡一下。
第一步:用 if 和 find 找出第1个“司”或者"社”的位置。这个计算列取名为“辅助列”。
if find("司",col['采购单位名称'],1)==0 then (find("社",col['采购单位名称'],1)+2)/3 else (find("司",col['采购单位名称'],1)+2)/3 end
第二步:再用left写个计算列,这个计算列,就是想要的结果了。
left(col['采购单位名称'],col['辅助列'])
你可能会问,为什么第1个计算列,还要加上2,再除以3 ,我也不知道是为什么,可能是永洪的BUG,不联动,不需要(加2除3)就显示正确结果了。可是联动,就要这样处理一下。好奇怪 。 |
|
|
|
|