【已解决,见3、7楼】LibreOffice电子表格Calc里如何“按字符排序”?

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

【已解决,见3、7楼】LibreOffice电子表格Calc里如何“按字符排序”?

#1

帖子 yq-ysy » 2016-07-03 16:35

电子表格里有一列数字,如下:
12
1234
234
2345
123
23
想得到排列的结果是:
12
123
1234
23
234
2345
即类似“按字符排序”,而不是“按数值大小排序”,请问如何实现?
——如果在LibreOffice里无法实现,还有什么其它软件或方法可以实现?
【已解决,于3、7楼】
poloshiao
论坛版主
帖子: 18279
注册时间: 2009-08-04 16:33

Re: LibreOffice电子表格Calc里如何“按字符排序”?

#2

帖子 poloshiao » 2016-07-03 17:19

即类似“按字符排序”,而不是“按数值大小排序”,请问如何实现?
如果整欄都是數字 按字符排序 降冪 跟 按数值大小排序 應該是一樣的 ?
附件
20160703171901.png
20160703171902.png
头像
Ping-Wu
帖子: 1822
注册时间: 2012-11-14 9:34
系统: Debian 12

Re: LibreOffice电子表格Calc里如何“按字符排序”?

#3

帖子 Ping-Wu » 2016-07-03 17:24

yq-ysy 写了:电子表格里有一列数字,如下:
12
1234
234
2345
123
23
想得到排列的结果是:
12
123
1234
23
234
2345
即类似“按字符排序”,而不是“按数值大小排序”,请问如何实现?
——如果在LibreOffice里无法实现,还有什么其它软件或方法可以实现?

如附图所示,用 LibreOffice 的 Calc 稍微绕点道应该很容易可以实现:
Calc.jpg
基本上,先用 TEXT这个函数把数字(number)改为文字(text),然后用paste special的方式把结果固定下来(第三个column),最后再对text(即第一个字所对应的unicode)执行排序即可。
头像
yq-ysy
论坛版主
帖子: 4647
注册时间: 2008-07-19 12:44
来自: 广西(桂)南宁(邕)

Re: LibreOffice电子表格Calc里如何“按字符排序”?

#4

帖子 yq-ysy » 2016-07-03 23:02

Ping-Wu 写了: 基本上,先用 TEXT这个函数把数字(number)改为文字(text),然后用paste special的方式把结果固定下来(第三个column),最后再对text(即第一个字所对应的unicode)执行排序即可。
谢谢各位的回答。我还不知道有个“特殊粘贴”的功能……是用菜单的哪个命令?
有个麻烦事,这一列数字,是对应着另一列汉字的,那么按这方法就得在汉字列旁多加两列,一列用公式转换,一列特殊粘贴,最后再使用特殊粘贴的这一列来排序,那么汉字列也会跟着可以排序了,是这样吧?
头像
Ping-Wu
帖子: 1822
注册时间: 2012-11-14 9:34
系统: Debian 12

Re: LibreOffice电子表格Calc里如何“按字符排序”?

#5

帖子 Ping-Wu » 2016-07-04 1:57

yq-ysy 写了:
Ping-Wu 写了: 基本上,先用 TEXT这个函数把数字(number)改为文字(text),然后用paste special的方式把结果固定下来(第三个column),最后再对text(即第一个字所对应的unicode)执行排序即可。
yq-ysy 写了:谢谢各位的回答。我还不知道有个“特殊粘贴”的功能……是用菜单的哪个命令?
如图:
yq-ysy-1.jpg
yq-ysy 写了:有个麻烦事,这一列数字,是对应着另一列汉字的,那么按这方法就得在汉字列旁多加两列,一列用公式转换,一列特殊粘贴,最后再使用特殊粘贴的这一列来排序,那么汉字列也会跟着可以排序了,是这样吧?
如图:
yq-ysy-2.jpg

在执行排序时,可以选择只动到该列(current selection,可以是多数列),也可以选择动到其他列(extended selection)。
头像
Ping-Wu
帖子: 1822
注册时间: 2012-11-14 9:34
系统: Debian 12

Re: LibreOffice电子表格Calc里如何“按字符排序”?

#6

帖子 Ping-Wu » 2016-07-04 2:58

Ping-Wu 写了:
yq-ysy 写了:
Ping-Wu 写了: 基本上,先用 TEXT这个函数把数字(number)改为文字(text),然后用paste special的方式把结果固定下来(第三个column),最后再对text(即第一个字所对应的unicode)执行排序即可。
yq-ysy 写了:谢谢各位的回答。我还不知道有个“特殊粘贴”的功能……是用菜单的哪个命令?
如图:
yq-ysy-1.jpg
yq-ysy 写了:有个麻烦事,这一列数字,是对应着另一列汉字的,那么按这方法就得在汉字列旁多加两列,一列用公式转换,一列特殊粘贴,最后再使用特殊粘贴的这一列来排序,那么汉字列也会跟着可以排序了,是这样吧?
如图:
yq-ysy-2.jpg

在执行排序时,可以选择只动到该列(current selection,可以是多数列),也可以选择动到其他列(extended selection)。
忘了提到,在menu bar上,点了 “Edit”后,"Paste" 下面就是 "Paste Special",功能蛮强大的。
头像
yq-ysy
论坛版主
帖子: 4647
注册时间: 2008-07-19 12:44
来自: 广西(桂)南宁(邕)

Re: LibreOffice电子表格Calc里如何“按字符排序”?

#7

帖子 yq-ysy » 2016-07-04 7:59

Ping-Wu 写了: 在执行排序时,可以选择只动到该列(current selection,可以是多数列),也可以选择动到其他列(extended selection)。
忘了提到,在menu bar上,点了 “Edit”后,"Paste" 下面就是 "Paste Special",功能蛮强大的。
谢谢指导,原来是“编辑”菜单里的“选择性粘贴”。
我了试一下,在电子表格里,如果复制自身,然后使用“选择性粘贴”是粘贴不上的(空白)。

如果想省去“公式运算”这一步的话,只需把这一列复制粘贴到别的文本编辑器里(如gedit),
然后再从文本编辑器里复制粘贴回电子表格,这时会有弹窗提示“文本导入”,
在弹窗的“字段”中选中这一列,在“列类型”菜单里把“标准”改选为“文本”就可以了。

最后用筛选排序即可。(如下二图所示)
LibreOffice按字符排序.png
LibreOffice按字符排序结果.png
LibreOffice按字符排序结果.png (6.08 KiB) 查看 3535 次
头像
Ping-Wu
帖子: 1822
注册时间: 2012-11-14 9:34
系统: Debian 12

Re: LibreOffice电子表格Calc里如何“按字符排序”?

#8

帖子 Ping-Wu » 2016-07-04 9:18

yq-ysy 写了:
Ping-Wu 写了: 在执行排序时,可以选择只动到该列(current selection,可以是多数列),也可以选择动到其他列(extended selection)。
忘了提到,在menu bar上,点了 “Edit”后,"Paste" 下面就是 "Paste Special",功能蛮强大的。
谢谢指导,原来是“编辑”菜单里的“选择性粘贴”。
我了试一下,在电子表格里,如果复制自身,然后使用“选择性粘贴”是粘贴不上的(空白)。

如果想省去“公式运算”这一步的话,只需把这一列复制粘贴到别的文本编辑器里(如gedit),
然后再从文本编辑器里复制粘贴回电子表格,这时会有弹窗提示“文本导入”,
在弹窗的“字段”中选中这一列,在“列类型”菜单里把“标准”改选为“文本”就可以了。

最后用筛选排序即可。(如下二图所示)
附件 LibreOffice按字符排序.png 已经无效
附件 LibreOffice按字符排序结果.png 已经无效
补充一下:

1. 在执行公式运算时,只需要进行第一个cell,其他的cells用copy/paste即可。LibreOffice Calc会根据新cell的数据产生新的结果。

2. 我们用“选择性粘贴”的初衷,乃是要保存原来的数据,检视一下有没有错。如果要复制自身,请见下图(在Edit栏里选择 Paste Only . . . ,再选择text):
paste-only.jpg
3. 如果有兴趣知道Calc里面还有那些预设的公式,可以在menu bar上按insert,再按 Function。
回复