![我如何根据数字中间的某些字符对一串数字进行排序?](https://linux22.com/image/1604850/%E6%88%91%E5%A6%82%E4%BD%95%E6%A0%B9%E6%8D%AE%E6%95%B0%E5%AD%97%E4%B8%AD%E9%97%B4%E7%9A%84%E6%9F%90%E4%BA%9B%E5%AD%97%E7%AC%A6%E5%AF%B9%E4%B8%80%E4%B8%B2%E6%95%B0%E5%AD%97%E8%BF%9B%E8%A1%8C%E6%8E%92%E5%BA%8F%EF%BC%9F.png)
因此,在我的工作中,我们希望根据注册编号来划分检查某些物品的工作。以下是这些编号的示例:
0022499-80.2017
0200781-98.2016
0021322-13.2016
以 结尾的项目奇奇破折号前的数字,从右到左,应该由 A 组检查。以奇偶数字应由 B 组检查。以甚至数字属于 C 组。因此,上面的列表应该是这样的:
0022499-80.2017 -> 一个
0200781-98.2016 -> B
0021322-13.2016 -> C
我如何创建过滤器(最好在 libreoffice calc 或 Google docs 上),以使排序更容易?
答案1
在0022499-80.2017
A2 中,将其放在右侧未使用的列中并向下填充。
=CHAR(ISEVEN(--MID(A2,FIND("-",A2)-2,1))+ISEVEN(--MID(A2,FIND("-",A2)-1,1))+65)
答案2
以下是@Jeeped 为 LibreOffice 翻译的答案:
=CHAR(ISEVEN(VALUE(MID(A2;FIND("-";A2)-2;1)))+ISEVEN(VALUE(MID(A2;FIND("-";A2)-1;1)))+65)
翻译说明:
- 逗号
,
可能在 LibreOffice 中起作用,具体取决于语言环境,但;
建议使用分号,因为无论在什么语言环境中它们都能起作用。 ISEVEN
需要数字参数,因此VALUE
转换为数字。也许这就是--
Excel 中的作用?如果是这样,那么这种语法对我来说似乎很奇怪。