用于迭代的VBA代码

时间:2016-09-20 15:02:45

标签: vba iterator

我列出了大约2-350个独特单位或公寓。

我需要根据四个标准对它们进行分组 - 浴室数,卧室数,楼面面积和墙面积。分组单元必须具有相同数量的床和浴室,并且在被选择代表该组的单元的10%(因此+/- 10%)内。

这意味着根据我选择的单位,群组数量和它们的含义会有不同的可能性。

我需要减少团体数量。

我不需要实际的代码,只需要逻辑的数学方法。

现在,我只是执行4种排序并手动选择它们。

谢谢大家!

1 个答案:

答案 0 :(得分:0)

好的,基于这个问题,我的数据排列如下

Apt Num Bath Bed Floor Wall

Apt Num Bath    Bed Floor   Wall
Appt 1  1   2   100 500
Appt 2  1   3   200 600
Appt 3  1   4   300 700
Appt 4  1   2   100 500
Appt 5  2   3   200 600
Appt 6  2   4   300 700
Appt 7  2   2   100 500
Appt 8  1   3   200 600
Appt 9  1   4   300 700
Appt 10 2   2   100 500

列A到E

在G到J的列中,我将构成一个组,如下所示

Bath    Bed Floor   Wall
2         3 200     600

然后,无论如何,在此之后,我使用了L2到L11,我将以下ARRAY公式复制下来

=IFERROR(INDEX($A$1:$A$11,SMALL(IF((($B$2:$B$11=$G$2)*($C$2:$C$11=$H$2)*($D$2:$D$11=$I$2)*($E$2:$E$11=$J$2)),ROW($B$2:$B$11)),ROWS($M$2:$M2)),1),"----")

其中给出以下输出                 ---- enter image description here