0

我得到了创建范围的列表。我想做的是按它们所指的单元格编号对它们进行升序排序。我尝试使用排序选项,但我想出的只是创建自己的排序列表......

范围列表:

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
4

3 回答 3

3

这是一种方法(虽然有点难看)。假设这样的设置:

在此处输入图像描述

步骤1:

将光标放在C1并转到公式 --> 定义名称。定义以下名称: 在此处输入图像描述

我们需要使用这个函数来获取列中每个单元格的公式,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

在此处输入图像描述

结果:

在此处输入图像描述

或使用公式:

在此处输入图像描述

笔记:

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

我希望这会有所帮助,尽管它是一个非常丑陋的解决方案..

于 2013-10-17T09:18:54.433 回答
1

当我阅读loannis 解决方案时,我想出了另一个解决方案来解决我的问题;)忘了说:第2 列数据在涉及数据时并不重要,但它是关于如何排序的提示。

好的,它看起来像这样:

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,你是我的灵感;)

于 2013-10-17T11:17:36.180 回答
0

排序&过滤

参考链接

http://office.microsoft.com/en-us/excel-help/sort-data-in-a-range-or-table-HP010073947.aspx

于 2013-10-17T07:57:43.030 回答