2014-09-18 5 views
0

У меня есть лист, содержащий имена в 2 измерениях. Каждая строка представляет собой общее местоположение, каждый другой столбец представляет определенный слот в этом местоположении (каждое место имеет одинаковое количество доступных слотов), чередуясь с параметром, принадлежащим этому имени. В каждой ячейке есть имя. Вот упрощенная версия, чтобы показать, что выглядит мои данные, как:Выделите дубликаты, игнорируя ту же строку

Location 0  () 1  () 2  () 3  () 
Garden Tim 3  Pete 1  Oscar 1  Lucy 2 
Room1  Lucy 1  Tim 1  Lucy 5  Anna 1 
Kitchen Frank 1  Frank 2  Frank 1  Lucy 1 

То, что я хочу добиться того, чтобы выделить (с помощью условного форматирования, я открыт для альтернативных методов, хотя) каждая запись, которая также появляется в другой ряд. Поэтому в основном он должен выделять дубликаты, но игнорировать дубликаты в одной строке. Первая строка и столбец должны быть исключены из операции (неважно, я просто их не выбираю), как и столбцы параметров (это очень важно, так как это в значительной степени нарушает все, что я пытался, включая первые ответы). У меня есть доступ ко всей значимой области данных (все ячейки, содержащие имена) по имени «записи» и всем значимым записям в данной строке по имени «строка».

В моем примере выше, всеTim и Lucy запись должна быть выделена, поскольку они имеют дубликаты в других рядах. Pete, Oscar и Anna являются уникальными, поэтому они не подсвечиваются. Frank, имея дубликаты, они имеют только одну строку, никакая другая строка не содержит Frank, поэтому он не должен быть выделен. Собственные выделенные дубликаты Excel выделяют Frank, при этом обрабатывая все остальные правильно.

Как изменить поведение условного форматирования, чтобы игнорировать дубликаты в одной строке?

Следующая формула (спасибо @ Dave) привела к ошибке #VALUE!:

=(COUNTIF(entries;B2)-COUNTIF(row;B2))>0 
+0

где вы размещаете формулу? На листе где-нибудь или в условном форматировании? – user3616725

+0

@user Условное поле форматирования. Фактически, поскольку это привело к тому, что просто ничего не выделялось, я помещал его в случайную ячейку, чтобы увидеть, что она приводит (как в условной форме '> 1, так и в исходном значении), где я получил ошибку. Я даже разделил его на обе части, оба привели к ошибке.Я проверил, почему и обнаружил, что 'COUNTIF' вернул ошибку, когда первый аргумент не был диапазоном связанных ячеек, а скорее конкатенацией диапазонов. – scenia

+0

выберите «B2: I2» и поместите это (точно) в поле условного форматирования: '= COUNTIF ($ B $ 2: $ I $ 4; $ B2)> COUNTIF ($ B2: $ I2; $ B2)' – user3616725

ответ

1

или вы могли бы просто сделать (нет необходимости для IF() при использовании в Условное форматирование поле Формула:

=COUNTIF($B$2:$I$4;$B2)>COUNTIF($B2:$I2;$B2)


Эта единственная формула должна предотвратить параметров от выделены

  • выберите B2: I2 и
  • положите это (точно) в условное поле для форматирования: =AND(NOT(ISNUMBER(B2));COUNTIF($B$2:$I$4;B2)>COUNTIF($B2:$I2;B2))
+1

IMO это всего лишь дубликат @ Dave's A, во всех смыслах и целях, и было бы лучше в качестве комментария. – pnuts

+0

Принимая этот ответ из-за большой помощи в комментариях выше и измененной формулы для моей точной структуры данных, большое вам спасибо. – scenia

+0

Возможно, стоит отметить, что при выборе области данных нужно начинать с B2. Эта ячейка будет отображаться белым, а все остальные выбранные ячейки будут синими. Если другая ячейка белая, она ломается. Это можно устранить, изменив все ссылки на первую выбранную ячейку. Например, если я отмечаю область, начинающуюся с I4, я заменю все экземпляры 'B2'' I4' и '$ B2: $ I2' на' $ B4: $ I4', тогда он по-прежнему будет работать по назначению. В несвязанной заметке первая ',' в вашей формуле должна быть ';'. – scenia

1

Нечто подобное:

=(COUNTIF($B$2:$E$4,B2)-COUNTIF($B2:$E2,B2))>0 

Первый СЧЕТЕСЛИ подсчитывает все экземпляры в диапазоне, второй вычитает количество записей в строке. Если есть несколько экземпляров во всем диапазоне, чем в строке она возвращает истину

+0

Хорошо, что работает. К сожалению, точная структура моих данных ломает его ... Я редактирую вопрос прямо сейчас, не знал, что это проблема ... – scenia

+0

Кстати, для функций 'COUNTIF' нужно'; 'вместо' , 'в моем Excel, чтобы работать в первую очередь. Я использую 2010. – scenia

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