Формула Excel: Найти уникальные в одном столбце в зависимости от значения другого столбца - PullRequest
0 голосов
/ 09 марта 2012

Я могу сделать это вручную, но я уверен, что есть формальный способ сделать это.
Вот данные:

Column-A      Column-B      Column-C
C             Y   
D             
E             Y
F
E             Y    

Что я хочу сделать, это в 2 шага:
a.) Выберите все значения в столбце A, где соответствующее значение в столбце B равно «Y».
б.) Из данных, выбранных в столбце A выше, выберите только уникальные значения и поместите их в столбец C c.) Следовательно, данные в столбце C для вышеуказанных данных будут «C» и «E»

Есть указатели?

1 Ответ

6 голосов
/ 09 марта 2012

Вот один вариант, если у вас есть Excel 2007

Поместите эту формулу в C1

=IFERROR(INDEX(A1:A5,MATCH("Y",B1:B5,0)),"")

тогда этот в C2 скопировал

=IFERROR(INDEX(A$1:A$5,MATCH(1,INDEX((B$1:B$5="y")*(COUNTIF(C$1:C1,A$1:A$5)=0),0),0)),"")

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

Пояснение:

Формула 1 использует MATCH, чтобы найти позицию первого "y" в B1:B5, затем INDEX возвращает соответствующее значение из A1:A5. Если бы ваши столбцы были наоборот, вы можете использовать VLOOKUP, INDEX/MATCH - это стандартный способ «левого поиска».

Формула 2 использует MATCH, чтобы найти положение первой строки, где выполняются 2 условия, B1:B5 = "y" и A1:A5 <> уже найденное значение. Уже найденные значения находятся в столбце C выше, поэтому функция COUNTIF просматривает ячейки выше и производит подсчет для каждого значения в столбце A в указанном выше диапазоне (который увеличивается при перетаскивании формулы вниз) - отсчет нуля означает что это значение еще не было выбрано. Как только MATCH идентифицирует номер строки, INDEX получает значение из этой строки в столбце A.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...