在Excel中sorting文本和数字
我得到了创build的范围列表。 我想要做的是按照它们所指的单元格号码升序排列它们。 我尝试使用sorting选项,但我想出的是创build我自己的sorting列表…
范围列表:
Column 1 Column 2 pp2dni2007 =szkolenia!$B$2:$E$33 pp2dni2010 =szkolenia!$B$273:$E$500 pp3dni2008 =szkolenia!$B$34:$E$83 pp3dni2009 =szkolenia!$B$84:$E$272
期望的输出:
Column 1 Column 2 pp2dni2007 =szkolenia!$B$2:$E$33 pp3dni2008 =szkolenia!$B$34:$E$83 pp3dni2009 =szkolenia!$B$84:$E$272 pp2dni2010 =szkolenia!$B$273:$E$500
这是一个方法(虽然有点难看)。 假设一个这样的设置:
步骤1:
将光标移到C1
并转到公式 – >定义名称。 定义以下名称:
我们需要用这个函数来得到B
列中每个单元格的公式,因为我们将根据这个公式进行sorting。
第2步:
在C1
单元格中input并填写:
=LEFT(SUBSTITUTE(GET_FORMULA,"=szkolenia!R",""),FIND("C",SUBSTITUTE(GET_FORMULA,"=szkolenia!R",""))-1)
方便分解:
=LEFT(SUBSTITUTE(GET_FORMULA,"=szkolenia!R",""), FIND("C",SUBSTITUTE(GET_FORMULA,"=szkolenia!R",""))-1)
这基本上返回存储在GET_FORMULA
中的引用的行号。
第3步:
select列A
, B
和C
并根据列C
sorting:
结果:
或者与公式:
笔记:
- 该文件必须保存为启用macros,以使
GET_FORMULA
名称工作。 - 我真的不喜欢帮手列(如上面的列
C
),但在这种情况下,事情会过度复杂,没有它。
我希望这有助于,虽然这是一个非常丑陋的解决scheme..
当我读到loannis解决scheme时,我想出了另一个解决scheme来解决我的问题;)忘了告诉:列2数据不是重要的数据,但它是如何sorting提示。
好吧,看起来像这样:
Column 1 Column 2 pp2dni2007 =szkolenia!$B$2:$E$33 pp2dni2010 =szkolenia!$B$273:$E$500 pp3dni2008 =szkolenia!$B$34:$E$83 pp3dni2009 =szkolenia!$B$84:$E$272
我们得到了这些数据,所以这里的痛苦是这个硬数据“= szkoleni …”。
为了整理出来,所有需要的是摆脱它。
使用查找和replace我删除“= szkolenia!$ B $”的一部分,然后再次使用它,我删除了它的其余部分“:*”。
现在专栏看起来像这样:
Column 1 Column 2 pp2dni2007 2 pp2dni2010 273 pp3dni2008 34 pp3dni2009 84
现在只是一个简单的sorting,瞧! 它也可以很容易地通过macros使用;)
感谢loannis,你是我的灵感;)