2015-04-22 2 views
2

У меня есть набор данных в Excel, как показано на рисунке ниже фрагменте кода:Удаление конкретных строк в Excel

Patient Number Age State 
     1   20  1 
     1   20  3 
     1   20  2 
     2   35  1 
     2   35  4 
     3   62  2 
     3   62  1 
     3   62  3 
     3   62  4 
     3   62  5 

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

Patient Number Age State 
     1   20  2 
     2   35  4 
     3   62  5 

Есть ли простой способ сделать это с помощью Excel? Поскольку набор данных огромен и не может сделать это вручную

+0

Только состояние изменяется для каждого номера пациента? – mbsingh

+0

Нет У меня есть другие столбцы, которые меняются, я просто показал фрагмент, чтобы избежать больших данных. – user90790

+0

О, хорошо. Не уверен в excel, но вы можете сохранить его как CSV и написать сценарий, чтобы сделать это за вас. Также посмотрите, помогает ли это: http: // stackoverflow.com/questions/1274788/select-the-max-with-a-condition-in-excel – mbsingh

ответ

3

Если ваши данные в A:C столбцов, вы можете добавить еще один столбец со следующей формулой в D2:

=A2<>A3 

Заполните его вниз. Примените автофильтр, выберите False в столбце D и удалите все отфильтрованные строки.

Edit:

Это решение предполагает, что ваши данные будут отсортированы по A колонке.

+0

Что это делает, пожалуйста? А = A2 <> A3? почему A3? – user90790

+0

Эта формула проверяет, отличается ли значение ячейки от значения следующей ячейки. Он вернет 'True' только для последнего значения в каждой серии. – BrakNicku

+0

Эта формула предполагает, что столбец «Номер пациента» отсортирован. – zx8754

1

Введите ниже D2 и нажмите CTRL+SHIFT+ENTER, чтобы сделать его формулу массива:

=MAX(IF($A$2:$A$11=A2,ROW($A$2:$A$11)))=ROW() 

enter image description here

Преимущество этой формулы PatientNumber столбец не должен быть отсортирован. Формула найдет последнюю запись для каждого PatientNumber. Смотрите ниже, добавил еще одну строку для пациента № 1:

enter image description here

+0

thanks :) У меня есть один столбец, который содержит значение, зависящее от предыдущего столбца, и когда я делаю это и удаляя пустые строки, этот столбец получает значение #REF !. Могу ли я сохранить этот столбец, сохранив его как фиксированное значение после его вычисления до того, как я сделаю этот процесс? – user90790

+0

Да, как только вы рассчитали свою собственную TRUE/FALSE, используйте специальную в качестве текста. – zx8754

0

Вы можете легко держать верхний ввод данных Инструменты ► данных ► Удаление дубликатов. Чтобы сохранить запись в прошлом, сначала необходимо изменить порядок.

  1. В неиспользуемом Helper колонке справа поставить в верхнем ряду, затем выберите все ячейки в этом столбце в нижней части ваших данных и использовать Главная ► Редактирование ► Заполнить ► серии, чтобы получить столбец последовательных чисел.
  2. Сортируйте свои данные, используя этот новый столбец в порядке убывания.
  3. Выберите данные ► Инструменты данных ► Удалите дубликаты, используя только столбцы Patient в качестве критериев для дублирования.
  4. Удалить Помощник столбец, поскольку он больше не нужен.

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

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