Сортировка наивысшего соответствия в Excel

914
Chris

Как в Excel можно сортировать несколько столбцов с данными?

Колонка B = Дата подписки Колонка A = Имя подписки

У меня есть несколько столбцов с множеством двойных имен (A) и разными датами подписки (B). Как можно отсортировать все имена, но самая высокая дата подписки помечается как HIGHEST в столбце C. Таким образом, вы можете видеть непосредственно самая высокая дата.

0

2 ответа на вопрос

5
bernhof

Обновить

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

Используйте следующую формулу в столбце C, чтобы отметить самые высокие даты в группе в столбце A:

=IF($B2=MAX(IF($A$2:$A$100=$A2;$B$2:$B$100; 0));"HIGHEST";"") 

Результат:

alt text

Обратите внимание, что формула обрабатывает только первые 100 строк. Вы можете изменить это легко, если это необходимо. Например:

=IF($B2=MAX(IF($A$2:$A$65000=$A2;$B$2:$B$65000; 0));"HIGHEST";"") 

Эта формула будет обрабатывать первые 65 000 строк.

Загрузите файл примера здесь (ссылка для скачивания действительна до 24 августа 2009 года).


Оригинальный ответ

Вы можете поместить следующую формулу в столбец C:

=IF($B2=MAX($B:$B);"HIGHEST";"") 

Результат:

alt text

Я извиняюсь за то, что не достаточно ясно. С сортировкой все в порядке. Бернхоф, единственное, что нужно сделать, это выбрать самую высокую дату подписки (столбец B) из нескольких имен с двойной подпиской (A). Таким образом, в столбце A может быть 3 x Джон Доу (A) и, например, 4 x Мэри Яблоко с разными датами подписки (B) Вывод в C должен быть помечен как «Самый высокий» после самой высокой даты подписки для каждого человека. 14 лет назад 1
Крис, я обновил свой ответ формулой, которая делает эту работу. 14 лет назад 2
@ Bernhof, это как раз то, что мне нужно, как ни странно, это не работает для меня. Я вижу #NAME? как ответ. Я немного растерялся, я работаю над Excel 2007 14 лет назад 0
Вы используете неанглийскую версию Excel 2007? Функции, указанные в формуле, могут иметь разные имена в вашей версии Excel. В посте я добавил ссылку на файл примера, где вы сможете прочитать имена формул при открытии файла в вашей версии Excel. 14 лет назад 1
@ Бернхоф, я до сих пор не понимаю, почему это не сработало, но после того, как я вставил данные в свой лист Excel, все заработало. Спасибо! 14 лет назад 0
0
Todd Owen

Сначала выберите все данные (если их много, перейдите к первой ячейке и нажмите Ctrl-Shift-Down, чтобы быстро выбрать весь список). Из меню выберите Данные -> Сортировать. Это даст вам возможность выбрать столбец для сортировки по первому (столбец A в вашем случае) и второму (столбец B).

( РЕДАКТИРОВАТЬ: инструкции ниже предполагают, что вы хотите, чтобы самая высокая дата была отмечена для каждого уникального имени . Для наибольшего общего см. Ответ Бернхофа.)

Если вы сортируете таким образом, то последняя дата является последней датой для данного имени. Вы можете показать флаг, используя эту формулу в C1:

=IF(A1<>A2,"HIGHEST","") 

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

Похожие вопросы