2016-05-24 25 views
1

Я имею таблицу вида:Получить последнюю уникальную строку в Excel

id1 | id2 | dateUpdate 
========================================== 
    aaa | 111 | 2016-01-01 
    aaa | 111 | 2016-01-02 
    aaa | 222 | 2016-01-05 
    aaa | 222 | 2016-01-15 
    bbb | 333 | 2016-01-05 
    bbb | 444 | 2016-01-01 
    ccc | 111 | 2016-01-02 

я хотел бы получить только последнюю строку для каждого id1/id2 пары:

id1 | id2 | dateUpdate 
========================================== 
    aaa | 111 | 2016-01-02 
    aaa | 222 | 2016-01-15 
    bbb | 333 | 2016-01-05 
    bbb | 444 | 2016-01-01 
    ccc | 111 | 2016-01-02 

Спасибо за вашу помощь!

+0

Посмотрите на использование [сводных таблиц] (http://www.contextures.com/xlPivot07.html). Они имеют функциональность группировки, аналогичную той, которую вы бы использовали в SQL. –

ответ

1

Screen shot showing function Использование Совокупные Функция

=AGGREGATE(14, 6, 1/($A$2:$A$99=E2)*($B$2:$B$99=F2)*($C$2:$C$99), 1) 

Вы должны поставить уникальные комбинации в колонке Е2 и колонке F2 вниз У вас есть пять уникальных комбинаций

COLUMN A  COLUMN B 

aaa   111 
aaa   222 
bbb   333 
bbb   444 
ccc   111 

И Совокупные Funtion должен быть введен в столбец G2 и заполнить вниз.

=AGGREGATE(14, 6, 1/($A$2:$A$99=E2)*($B$2:$B$99=F2)*($C$2:$C$99), 1) 

Что касается синтаксиса 14 для большого значения, которое является, например, для увеличения первой комбинации ааа 111, который # 02-01-2016 # Следующая цифра 6 в формуле для игнорирования ошибок Вы можете быстро получить pseudo-Last значение с использованием AGGREGATE function.. Это стандартная формула без массива, для которой не требуется Ctrl + Shift + Enter. СОВОКУПНАЯ была введена с Excel 2010.

($A$2:$A$99=E2) проверяет, какое значение столбца элементов совпадает с первым уникальным значением столбца A уникальной комбинации A B & Это преобразуется в массив логических значений, который дает массив True, Или ложь. Разделение 1 на эти логические значения дает либо 1, либо DIV # ошибку. Аналогичный процесс применяется для значений столбца B, упомянутых в столбце F. Я взял данные, ограниченные до 99 строк. Если количество строк больше, вы измените цифру 99 на более высокую цифру в соответствии с вашими требованиями. НТН

EDIT Вы можете также пойти для сводной таблицы решения, как было предложено в Biegeleisen @ Тим его комментарии. Снимок, приведенный здесь, иллюстрирует этот подход.

pivot table approach

id1 и id2 взяты в качестве фильтрующих полей и максимальное значение dateUpdate выбирается в поле значения.

+0

Спасибо, мне кажется, это правильный путь. Как вы получаете столбцы E и F? –

+0

Мы должны поместить уникальные комбинации в столбцы E и F. Я полностью объясню формулу в моем редактировании. Эта функция доступна для Excel 2010 и далее. – skkakkar

+0

Вы также можете найти решение для сводной таблицы, как было предложено @Tim Biegeleisen в своих комментариях. Снимок, приведенный здесь, иллюстрирует этот подход. – skkakkar

Смежные вопросы