亲爱的!请帮助,我正在尝试在VBA中使用数组进行排序。 我是数组的新手,因此我实际上不知道如何启动代码。如果整个解释过于乏味,那么如果您能在这种情况下使用最佳框架,我将不胜感激。
答案 0 :(得分:0)
您可以在不使用VBA的情况下实现以下目标:
假设A:E列中的数据(根据您的屏幕截图)
在G1中的位置:=COUNTA(G2:G22)-COUNTBLANK(G2:G22)
放置在G2中:=IF(AND($E$2:$E$22="TRUE",COUNTIF($A$1:$A2,A2)=1),A2,"")
并填写
放置在H2中:=IF($G2<>"",MAX(H$1:H1)+1,"")
并填写
放在I2中:=MAX(IF($A$2:$A$22=A2,IF($E$2:$E$22="TRUE",IF(COUNTIF($A$1:$A2,A2)=1,$B$2:$B$22,""),""),""))
,按CTRL + SHIFT + ENTER离开单元格以使其具有数组公式。复制并将其从下面的单元格粘贴到数据行的末尾
放置在K2中:=IF(ROWS(K$1:K1)<$G$1,INDEX($G$2:$G$22,MATCH(ROWS(K$1:K1),$H$2:$H$22,0)),"")
并填写
放置在L2:=IF(ROWS(K$1:K1)<$G$1,INDEX($I$2:$I$22,MATCH(ROWS(K$1:K1),$H$2:$H$22,0)),"")
并填充
这将为您提供如下图所示的结果
在K:L列中有通缉名单
当然,您必须将所有22
行索引更改为实际数据的最后一行索引