У меня есть столбец A для типа работы. У меня есть столбец B для диапазона опыта. У меня есть столбец C для зарплаты. Они находятся на листе под названием «Данные».

Я создал сводную таблицу с типом работы в виде строк и диапазоном опыта в виде столбцов. (на другом листе)

Я хочу найти медиану для каждой ячейки в сводной таблице.

Как я могу это сделать?

Например как найти медиану зарплаты для всех «менеджеров сцены» (ячейка A2) с опытом работы «менее 2 лет» (ячейка B1)?

Пожалуйста помоги. Спасибо!

1
Amit Saxena 9 Авг 2015 в 01:23

2 ответа

Как вы уже наверняка заметили, медиана не указана в параметрах группировки (сумма, минимум, максимум, количество и т. д.).

Кажется, что нет прямого решения проблемы; однако вы можете обойти это, добавив пользовательскую формулу внутри таблицы. Затем используйте медиану () функция в формуле.

Другой подход — отказаться от сводных таблиц и Excel-Tip.aspx" rel="nofollow">вместо этого используйте формулы массива.

1
Raymond Hettinger 9 Авг 2015 в 01:46
Привет Раймонд, спасибо за ответ. Мне удалось вычислить формулу массива, когда я фильтрую только по столбцу A: =MEDIAN(IF('DATA'!A:A=A2,'DATA'!C:C)) Хотя я не могу найти способ для фильтрации по двум столбцам. Если бы вы могли помочь мне с этим, это было бы здорово. Спасибо! :)
 – 
Amit Saxena
9 Авг 2015 в 17:27
Функции AND() и OR() будут полезны для фильтрации нескольких колонок. bluemoosetech.com/microsoft-excel-functions.php?jid=19&< /а>
 – 
Raymond Hettinger
9 Авг 2015 в 18:25
Я пробовал это. Функция И() возвращает значение ИСТИНА/ЛОЖЬ. Это не дает мне пересечения двух наборов данных, которые мне нужны.
 – 
Amit Saxena
10 Авг 2015 в 04:43
Вложенные ЕСЛИ сработали! Большое спасибо за помощь, Рэймонд! :)
 – 
Amit Saxena
10 Авг 2015 в 05:38

Вы можете использовать * для и и + для или. FALSE кодируется как 0, а TRUE как 1.

  1. 0*1 = 1, поэтому, если выполняется только одно условие, будет FALSE(AND)
  2. 1+0 или 1+1 is >0, поэтому, если выполняется только одно условие, оно все равно будет >0 (OR)

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

Вы можете использовать этот флажок для большого количества условий AND и OR.

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

Затем вы можете использовать агрегатную функцию, чтобы игнорировать скрытые строки (например, агрегат может вычислять медиану, процентили и другие вещи), и тогда функция фильтра может эффективно работать как фильтр сводки.

Я обычно делаю свой первый столбец тестовым столбцом, который проверяет, скрыта ли строка или нет, и возвращает 1, если она видима, и 0 в противном случае. Затем я встраиваю это условие в свой стек условий, чтобы действовать как дополнительный переключатель И. Это означает, что внезапно ваши формулы реагируют на фильтр и учитывают только отфильтрованные значения.

Этот материал действительно хорош для выполнения мультиусловных вычислений на большом количестве данных без необходимости ручного вычисления после каждого фильтра — вычисления происходят на лету, когда вы фильтруете!

Вычисления могут занять 3-5 секунд в зависимости от того, сколько у вас условий и размера ваших необработанных данных, поэтому не так быстро, как сводная таблица, но очень удобно.

1
Phiter 4 Мар 2016 в 15:02