Как получить Min() и Max() в Excel в зависимости от другого столбца?

У меня есть таблица 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: вам нужно перейти на редактировать страницу этого сообщения - там, в поле исходного кода Markdown, вы можете скопировать таблицу с правильными символами табуляции. (В форме, отображаемой в формате 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))


person thechoosenone    schedule 07.11.2011    source источник
comment
И что вы ожидаете от столбца 4, столбца 5 и столбца 6, если игрок играл более чем за одну команду?   -  person flesk    schedule 07.11.2011
comment
col 1 2 3 у меня есть 4 5 6 я хочу в качестве вывода   -  person thechoosenone    schedule 07.11.2011
comment
Вы не понимаете. Если Сантош также играл за YYY в 1998 году, что ты собираешься показывать тогда?   -  person flesk    schedule 07.11.2011
comment
Вы должны либо убрать столбец 4 и просто указать минимальный и максимальный год для команды в столбце 2, либо добавить еще один столбец, чтобы указать, за какую команду он играл в свой минимальный год и за какую команду он играл в свой максимальный год.   -  person flesk    schedule 07.11.2011
comment
@flesk я изменил макет в вопросе, пожалуйста, посмотрите. Будет отображаться YYY, а min max будет 1998 и 1998 только в столбце 5 6   -  person thechoosenone    schedule 07.11.2011


Ответы (2)


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

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

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

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

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

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
person Alex Andronov    schedule 07.11.2011

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

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

Вот вся таблица, только для целей копирования и вставки: вам нужно перейти на страницу редактирования edit этого сообщения - там в поле исходного кода Markdown вы можете скопировать таблицу с правильными символами табуляции. (В форме, отображаемой 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))

person Aaron Thoma    schedule 09.03.2012