Как получить Min () и Max () в Excel в зависимости от другого столбца? - PullRequest
0 голосов
/ 07 ноября 2011

У меня есть таблица Excel с информацией о некоторых игроках, команде и году, из этого я хочу узнать минимальный год, в который игрок начал в команде, и максимальный год, в который он играл за команду.

Пример: -

col 1 (names) Col2(Team)  Col3 (year)   Col 4(team)       Col5(min year)    Col6(max year)
Santosh        XXX         2000           XXX                1999              2001
Santosh        XXX         2001           XXX                1999              2001
Santosh        XXX         1999           XXX                1999              2001 
pavan          YYY         2005           YYY                2005              2007
pavan          YYY         2006           YYY                2005              2007
pavan          YYY         2007           YYY                2005              2007
Santosh        YYY         2005           YYY                2005              2005

Вывод в Col 4, Col5 Col6 необходим. Просьба помочь


Снова вся таблица, с табуляцией символов вместо пробелов, для вставки копий непосредственно в Excel: вам нужно перейти на страницу edit этого поста - там в поле исходного кода Markdown вы можете скопировать таблицу с правильными символами табуляции. (В представленной уценке форме разделительные ячейки символы табуляции заменяются пробелами.)

col 1 (names) Col2(Team) Col3 (year) Col 4(team) Col5(min year) Col6(max year) Santosh XXX 2000 =B2 =MIN($C$2:$C$8*($A2:$B2=$A$2:$B$8)) =MAX($C$2:$C$8*($A2:$B2=$A$2:$B$8)) Santosh XXX 2001 =B3 =MIN($C$2:$C$8*($A3:$B3=$A$2:$B$8)) =MAX($C$2:$C$8*($A3:$B3=$A$2:$B$8)) Santosh XXX 1999 =B4 =MIN($C$2:$C$8*($A4:$B4=$A$2:$B$8)) =MAX($C$2:$C$8*($A4:$B4=$A$2:$B$8)) pavan YYY 2005 =B5 =MIN($C$2:$C$8*($A5:$B5=$A$2:$B$8)) =MAX($C$2:$C$8*($A5:$B5=$A$2:$B$8)) pavan YYY 2006 =B6 =MIN($C$2:$C$8*($A6:$B6=$A$2:$B$8)) =MAX($C$2:$C$8*($A6:$B6=$A$2:$B$8)) pavan YYY 2007 =B7 =MIN($C$2:$C$8*($A7:$B7=$A$2:$B$8)) =MAX($C$2:$C$8*($A7:$B7=$A$2:$B$8)) Santosh YYY 2005 =B8 =MIN($C$2:$C$8*($A8:$B8=$A$2:$B$8)) =MAX($C$2:$C$8*($A8:$B8=$A$2:$B$8))

Ответы [ 2 ]

1 голос
/ 07 ноября 2011

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

1) Выберите данные в столбцах с 1 по 3

2) Вставить сводную таблицу (проще всего это иметь на новом листе)

3) Поставьте флажок рядом с игроком и командой в списке полей - это означает, что вы хотите знать о каждом игроке, а также о каждой команде, за которую они играли. Таким образом, вы не просто увидите, что Сантош закончил в 2005 году, вы увидите, что он сделал перерыв после 2001 года и вернулся на год.

4) Чтобы получить свои минимумы и максимумы, теперь вы хотите перетащить год в поле Сумма значений (сумма выглядит как греческая буква E), и вы хотите сделать это дважды. Теперь у вас будет два столбца, каждый из которых выглядит как случайное число.

5) Нажмите стрелку вниз рядом с «Сумма года» в поле «Сумма значений» и выберите «Настройки поля значений». Выберите Мин из списка

6) Нажмите стрелку вниз рядом с «Сумма года2» в поле «Сумма значений» и выберите «Настройки поля значений». Выберите Макс из списка

Теперь у вас должен быть этот набор данных:

Row Labels  Min of Year Max of Year
pavan       2005        2007
    YYY     2005        2007
Santosh     1999        2005
    XXX     1999        2001
    YYY     2005        2005
0 голосов
/ 09 марта 2012

Вот отправная точка. К сожалению, он пока не работает правильно.Так что кому-то придется отлаживать его. Идея состоит в использовании формул массива (с использованием массивов данных). Вы должны ввести их с помощью Ctrl + Shift + Введите . Тогда вокруг вашей формулы появится { }.Вы должны сделать это только для первой строки (E2:F2) - тогда вы можете просто скопировать их вниз.

Предполагается, что col 1 (names) находится в ячейке A1.
Это формула для E2: { =MIN($C$2:$C$8*($A2:$B2=$A$2:$B$8)) } (Обратите внимание, что вы не можете ввести { } фигурные скобки, вот как Excel помечает формулы массива.)

Вот вся таблица, только для целей копирования: Вы должны перейти на страницу редактирования edit этого поста -там в поле исходного кода Markdown вы можете скопировать таблицу с правильными символами табуляции.(В представленной уценке форме разделительные ячейки символы табуляции заменяются пробелами (и не выровнены должным образом).)

col 1 (names) Col2(Team) Col3 (year) Col 4(team) Col5(min year) Col6(max year) Santosh XXX 2000 =B2 =MIN($C$2:$C$8*($A2:$B2=$A$2:$B$8)) =MAX($C$2:$C$8*($A2:$B2=$A$2:$B$8)) Santosh XXX 2001 =B3 =MIN($C$2:$C$8*($A3:$B3=$A$2:$B$8)) =MAX($C$2:$C$8*($A3:$B3=$A$2:$B$8)) Santosh XXX 1999 =B4 =MIN($C$2:$C$8*($A4:$B4=$A$2:$B$8)) =MAX($C$2:$C$8*($A4:$B4=$A$2:$B$8)) pavan YYY 2005 =B5 =MIN($C$2:$C$8*($A5:$B5=$A$2:$B$8)) =MAX($C$2:$C$8*($A5:$B5=$A$2:$B$8)) pavan YYY 2006 =B6 =MIN($C$2:$C$8*($A6:$B6=$A$2:$B$8)) =MAX($C$2:$C$8*($A6:$B6=$A$2:$B$8)) pavan YYY 2007 =B7 =MIN($C$2:$C$8*($A7:$B7=$A$2:$B$8)) =MAX($C$2:$C$8*($A7:$B7=$A$2:$B$8)) Santosh YYY 2005 =B8 =MIN($C$2:$C$8*($A8:$B8=$A$2:$B$8)) =MAX($C$2:$C$8*($A8:$B8=$A$2:$B$8))

...