2013-09-03 4 views
0

У меня есть простая задача работать почти ежедневно, и я думаю, что с ней можно легко справиться. Существует таблица с одним столбцом «имя ПК». Мне нужно разделить список ПК на волны.Заказ списка SQL или Excel

Wave 1 : 2% 
wave 2: 3% 
wave 3: 25% 
wave 4: 45% 
wave 5: 25%

Так что я обычно делаю это, чтобы скопировать список ПК в Excel и добавить столбец с именем «волна правопреемником». Так, например, если в списке 100 компьютеров первые два компьютера будут назначены Wave 1, три ПК до wave 2, 25 ПК до wave 3 и так далее.

Мне нужен способ автоматизировать это, поскольку мне требуется слишком много времени, чтобы сделать это вручную. Не имеет значения, есть ли небольшое изменение в%, чтобы округлить количество ПК в каждой волне.

+0

Является ли список компьютеров статическим? – squillman

+0

Какая база данных и версия вы используете? –

+0

= IF (COUNTA (A $ 1: A1) <2 * COUNTA (A: A)/100,1, IF (COUNTA (A $ 1: A1) <5 * COUNTA (A: A)/100,2, IF (COUNTA (A $ 1: A1) <30 * COUNTA (A: A)/100,3, IF (COUNTA (A $ 1: A1) <75 * COUNTA (A: A)/100,4,5)))) и скопированный вниз может подойти. – pnuts

ответ

1

Предполагая, что список находится в Columna начиная Row1:

=VLOOKUP(ROWS(A$1:A1)/COUNTA(A:A),wArray,2) 

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

SO18596249 example

и назван wArray.

В случае, если список короче 100, я добавил .002 в «логические» точки останова (кумулятивные пропорции), так что это не волны меньшинства, округленные вниз, так что, скажем, 50 элементов, Wave 1 делает (и, следовательно, выделяется скорее больше, чем приближение в большей группе).

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