2016-09-20 7 views
-1

У меня есть список около 2-350 уникальных единиц или квартир.Код VBA для итераций

Мне нужно сгруппировать их по четырем критериям - количество ванных комнат, спален, площади пола и площади стены. Сгруппированные устройства должны иметь одинаковое количество кроватей и ванных комнат и быть в пределах 10% (так +/- 10%) от единиц, которые выбираются для представления этой группы.

Это означает, что в зависимости от того, какой блок я выбираю, будут разные возможности для количества групп и того, что они есть.

Мне нужно уменьшить количество групп.

Мне не нужен фактический код так же, как только логический, математический подход к этому.

Прямо сейчас, я просто выполняю 4 вида и вручную их выбираю.

Спасибо всем!

ответ

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 

в колонках А Е

В графах G к СО будет иметь то, что составляет группу, а именно:

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

Смежные вопросы