Биннинг в Excel - PullRequest
       4

Биннинг в Excel

2 голосов
/ 04 сентября 2010

Какие формулы в MS Excel мы можем использовать для -

выравнивания по глубинеВыравнивание по ширине

Ответы [ 3 ]

1 голос
/ 12 марта 2013

Лучше всего использовать встроенный метод:

http://support.microsoft.com/kb/214269

Я думаю, что версия надстройки VBA (шаг 3 с большинством версий) также даст вам код.

1 голос
/ 06 апреля 2014

Вот что я использовал.Данные, которые я собирал, были в A2:A2001.

Экви-ширина:

Я рассчитал ширину в отдельной ячейке (U2), используя эту формулу:

=(MAX($A$2:$A$2001) - MIN($A$2:$A$2001) + 0.00000001)/10

10 - количество бинов.+ 0.00000000001 есть, потому что без него значения, равные максимуму, помещались в их собственную корзину.

Затем для фактического биннинга я использовал это:

=ROUNDDOWN(($A2-MIN($A$2:$A$2001))/$U$2, 0)

Эта функция определяет, на какую ширину бина превышает минимальное значение, которое вы делите, путем деления (значения - минимума) на ширину бина.Мы заботимся только о том, сколько полных значений ширины ячейки вписывается в значение, а не дробных, поэтому мы используем ROUNDDOWN, чтобы отрезать все дробные значения ширины ячейки (то есть показать 0 десятичных знаков).

Эквивалентная глубина

Этот способ проще.

=ROUNDDOWN(PERCENTRANK($A$2:$A$2001, $A2)*10, 0)

Сначала получите процентильный ранг текущей ячейки ($A2) из всех ячеек, подлежащих сортировке ($A$2:$A$2001).Это будет значение от 0 до 1, поэтому, чтобы преобразовать его в контейнеры, просто умножьте их на общее количество лотков, которое вы хотите (я использовал 10).Затем отрежьте десятичные дроби так же, как и раньше.

Для любого из них, если вы хотите, чтобы ваши ячейки начинались с 1, а не с 0, просто добавьте +1 в конец формулы.

0 голосов
/ 08 сентября 2010

Возможно, вам придется построить матрицу для графика.

Для кронштейна ящика можно использовать =PERCENTILE() для равной глубины и пропорцию разности =Max(Data) - Min(Data) для равной ширины.

Вы можете получить частоту с помощью =COUNTIF().Среднее значение бина может быть получено с использованием =SUMPRODUCT((Data>LOWER_BRACKET)*(Data<UPPER_BRACKET)*Data)/frequency

Более сложные статистические данные могут быть получены путем взлома с помощью формул SUMPRODUCT и / или Array (что я не рекомендую, поскольку их очень сложно понять для непрограммиста)1011 *

...