在Excel中排序文本和数字

时间:2013-10-17 07:02:48

标签: excel 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

3 个答案:

答案 0 :(得分:3)

这是一种方式(虽然有点难看)。 假设设置如下:

enter image description here

第1步:

将光标放到C1并转到公式 - >定义名称。定义以下名称: enter image description here

我们需要使用此函数来获取列B中每个单元格的公式,因为我们将根据此公式进行排序。

第2步:

在小区C1输入并填写:

=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步:

选择列ABC,并根据列C进行排序:

enter image description here

结果:

enter image description here

或使用公式:

enter image description here

备注:

  • 该文件必须保存为启用宏才能使GET_FORMULA名称有效。
  • 我真的不喜欢帮助列(如上面的C列),但在这种情况下,没有它就会过于复杂。

我希望这会有所帮助,虽然这是一个非常难看的解决方案..

答案 1 :(得分:1)

当我阅读loannis解决方案时,我想出了另一个问题的解决方案;) 忘记告诉:第2列数据在获取数据时不是importaat,但它提示如何排序。

好的,所以它看起来像是:

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 ......”。

要轻松解决所有需要就是摆脱它。
使用find& replace我删除“= szkolenia!$ B $”部分然后再次使用它我将删除其余部分“:*”。

现在列看起来像这样:

Column 1    Column 2
pp2dni2007  2
pp2dni2010  273
pp3dni2008  34
pp3dni2009  84

现在只是一个简单的排序和瞧!它也可以通过宏轻松使用;)

谢谢loannis,你是我的灵感;)

答案 2 :(得分:0)