答案1
我想建议两种可能的方法,1st 是非编程(使用 Excel 公式)和2nd 是 VBA 宏(编程方法)。
警告:
建议使用 VBA 宏的主要原因是1st 方法(使用 Excel 公式)是多重且繁琐的方法。
方法 1:
怎么运行的:
- 对于辅助数据,
单元格中的公式F55:
=COUNTIF(B$55:B$60,"<="&B55)
单元格中的公式G55:
=SMALL($F$55:$F$60,ROW(A1))
填写两个公式。
年代按组排序,在单元格中输入公式
A63:
,然后向下填充。=INDEX(B$55:B$60,MATCH(G55,F$55:F60),0)
数组(CSE)公式,
在细胞内
B63:
{=INDEX($A$55:$A$60, MATCH(0, IF($A63=$B$55:$B$60, COUNTIF($B$62:$B62, $A$55:$A$60), ""), 0)}
注意:完成Ctrl+年代切换+埃输入并填写。
在细胞内C63:
{=INDEX(C$55:C$60, MATCH(0, IF($A63=$B$55:$B$60, COUNTIF(C$62:C62, C$55:C$60), ""), 0))}
注意:完成Ctrl+年代切换+埃填写德然后拥有R好的。
根据需要调整公式中的单元格引用。
- 为了整洁你可以隐藏Helper 数据。
方法 2:
怎么运行的:
- 选择范围
A71:D77
并在名称框(左上角)中写入名称Mydata
。 - 从德开发者 TAB 命中德然后设计我插入。
- 现在,从AactiveX 控件选择C命令按钮然后将其绘制在 Sheet 上。
- 德双击C命令按钮打开 VB 编辑器。
- 复制并粘贴此代码
磷rivate Sub CommadButton1_Click()
在此处复制代码
埃子目录
Range("MyData").Sort Key1:=Range("MyData").Cells(2, 2), _
Order1:=xlAscending, Header:=xlYes, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
年代并返回至工作表。
关德然后设计模式德双击命令按钮。
您按以下顺序获取数据:
注意:源数据范围A71:D77
&Range 名称Mydata
是可编辑的。