【已解决】LibreOffice Calc电子表格中如何查找“只有一个或N个汉字”的单元格?又:分列“汉字与abcd”?

OOo,TeX,KO,ABI,GIMP,Picasa,ProE,QCAD,Inkscape,Kicad,Eagle
回复
头像
yq-ysy
论坛版主
帖子: 4448
注册时间: 2008-07-19 12:44
来自: 广西(桂)南宁(邕)

【已解决】LibreOffice Calc电子表格中如何查找“只有一个或N个汉字”的单元格?又:分列“汉字与abcd”?

#1

帖子 yq-ysy » 2017-04-05 22:45

LibreOffice Calc电子表格中如何查找“只有一个或N个汉字”的单元格?
例如:一列单元格如下,
别处
别出心裁

别国
别具匠心
——我只想挑出只有一个汉字的单元格,或者挑出只有两个汉字的单元格,表达式应该怎么写?

又另一问题:一列单元格如下,
爱ai
矮ai
挨ai
哎ai
碍ai
——有没有办法能把汉字与字母分列开来?(它们中间没有空格,直接连在一起了。)



------------解决方法(6楼)----------------

第一个问题:查找“只有一个或N个汉字”的单元格
公式 =LENB(A2) 然后排序筛选数值是“2、4、6、8”的即是只有“一、二、三、四”个汉字的单元格。

第二个:如何分列“汉字与abcd”?如果汉字在前,字母在后,则公式是:
提取汉字: =LEFT(A2,LENB(A2)-LEN(A2))
也就是用字长度减去字节长度,得到汉字长度,然后用这个数值提取左边即可。
提取字母: =RIGHT(A2,LENB(A2)-(LENB(A2)-LEN(A2))*2)
同上公式得到的结果乘以2得到汉字数量,总字长度减去汉字数量再提取右侧即可。
头像
yq-ysy
论坛版主
帖子: 4448
注册时间: 2008-07-19 12:44
来自: 广西(桂)南宁(邕)

Re: LibreOffice Calc电子表格中如何查找“只有一个或N个汉字”的单元格?又:如何分列“汉字与abcd”

#3

帖子 yq-ysy » 2017-04-06 16:07

tang.zhe 写了: test.ods.7z [8.95 KiB]
谢谢你的解答。
第一个问题用的是公式 =LEN(A2) ,然后可以排序挑出一批“只有一个或N个汉字”的单元格。
之前我还以为这个公式会“把一个汉字当成二个字母”来计算。
目前我只想排除一个汉字的情况,所以第一个问题算是基本解决,但并不圆满,
因为如果要筛选出有“两个汉字”的单元格,就有可能混入类似“啊a、恶e”这样的错误结果。

第二个问题恐怕还不行,因为公式 =LEFT(A7) 只能提取出左边一个汉字;=RIGHT(A9,2) 只能提取出右边两个字母。
而实际上会有更复杂的情况,即:不同单元格有不等长的汉字和字母,例如
爱ai
爱好aihao
爱不释手aibushishou
矮ai
矮小aixiao
挨ai
挨饿aie
哎ai
碍ai
障碍zhangai
障碍物zhangaiwu
——有没有一个公式,是可以剔除单元格中的“a~z”,及其反向操作只保留单元格中的“a~z”?
头像
tang.zhe
帖子: 1505
注册时间: 2010-07-15 13:31

Re: LibreOffice Calc电子表格中如何查找“只有一个或N个汉字”的单元格?又:如何分列“汉字与abcd”

#4

帖子 tang.zhe » 2017-04-06 17:01

试试lenb()函数,你有这个能力自己解决的。 :em11
头像
yq-ysy
论坛版主
帖子: 4448
注册时间: 2008-07-19 12:44
来自: 广西(桂)南宁(邕)

Re: LibreOffice Calc电子表格中如何查找“只有一个或N个汉字”的单元格?又:如何分列“汉字与abcd”

#5

帖子 yq-ysy » 2017-04-06 17:52

tang.zhe 写了:试试lenb()函数,你有这个能力自己解决的。
谢谢提示,网上搜索了一下“excel 单元格内的汉字”,找到答案,解决方法是:

第一个问题:查找“只有一个或N个汉字”的单元格
公式 =LENB(A2) 然后排序筛选数值是“2、4、6、8”的即是只有“一、二、三、四”个汉字的单元格。

第二个:如何分列“汉字与abcd”?如果汉字在前,字母在后,则公式是:
提取汉字: =LEFT(A2,LENB(A2)-LEN(A2))
也就是用字长度减去字节长度,得到汉字长度,然后用这个数值提取左边即可。
提取字母: =RIGHT(A2,LENB(A2)-(LENB(A2)-LEN(A2))*2)
同上公式得到的结果乘以2得到汉字数量,总字长度减去汉字数量再提取右侧即可。
回复