使用Excel公式对列进行排序和重新排序

维沙汉

我有一组excel列,如下所示(n行和列数为n) 在此处输入图片说明

我希望使用该组对它进行排序和重新排序,但是我需要使用公式来完成它,而不是使用excel中的简单排序选项。预期结果如下:

在此处输入图片说明

有没有办法做到这一点?

拉杰什S

我想建议两种可能的方法,1 st是否非编程(使用Excel式)和2 nd为VBA宏(编程方法)。

警告:

后面提示VBA宏首要原因是,由于1日法(使用Excel公式)是多折叠&一种乏味的方法进行说明。


方法1:

在此处输入图片说明

How it works:

  • For Helper data,

Formula in Cell F55:

=COUNTIF(B$55:B$60,"<="&B55)

Formula in Cell G55:

=SMALL($F$55:$F$60,ROW(A1))

Fill both formula down.

  • Sort by group, formula in Cell A63:, fill it down.

     =INDEX(B$55:B$60,MATCH(G55,F$55:F60),0)
    
  • An array (CSE) formula,

    In Cell B63:

     {=INDEX($A$55:$A$60, MATCH(0, IF($A63=$B$55:$B$60, COUNTIF($B$62:$B62, $A$55:$A$60), ""), 0)}
    

N.B. Finish with Ctrl+Shift+Enter & fill down.

In Cell C63:

  {=INDEX(C$55:C$60, MATCH(0, IF($A63=$B$55:$B$60, COUNTIF(C$62:C62, C$55:C$60), ""), 0))}

N.B. Finish with Ctrl+Shift+Enter & fill Down then Right.

Adjust cell references in the formula as needed.

  • For neatness you may hide Helper Data.

Method 2:

在此处输入图片说明

How it works:

  • Select Range A71:D77 and in Name Box (top left corner) write name Mydata.
  • From Developer TAB hit Design then Insert.
  • 现在,从一个ctiveX控制选择ç ommand按钮,然后绘制在工作表。
  • d ouble点击ç ommand按钮打开VB编辑器。
  • 在以下位置复制并粘贴此代码

P rivate子CommadButton1_Click()

在此处复制代码

Ë第二子

    Range("MyData").Sort Key1:=Range("MyData").Cells(2, 2), _
Order1:=xlAscending, Header:=xlYes, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
  • 保存并返回到工作表。

  • 关闭d ESIGN模式,然后d ouble单击命令按钮。

  • 您将按以下顺序获取数据:

在此处输入图片说明

NB源数据区域A71:D77ř安格名称Mydata是可编辑的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章