У меня есть набор из двух столбцов. В столбце F находится список имен запланированных участников. В столбце C используется Match & Index для извлечения имен участников, когда они сканируют свои бейджи в столбец A. Меня интересуют столбцы C и F.
Используя условное форматирование «уникальный» для столбцов C и F, я могу идентифицировать случайных посетителей, поскольку имя, которое будет отображено в столбце C, не будет в моем запланированном списке в столбце F.
Я пытаюсь найти формулу, а не использовать макросы, чтобы вынести входящие значения (значения, которые не являются дубликатами) в отдельный столбец под названием «входящие значения»).
Расширенный фильтр, а также формула "уникальный" не могут работать в этом случае, так как я ищу значения, которые появляются только один раз. Почему? Потому что если "Джон" появляется в обоих столбцах C и F, то расширенный фильтр и уникальная формула запишут одно "Джон" как уникальное значение. Но меня в данном случае интересует не Джон, который появляется в обоих столбцах, а Пол, который выведен на столбец C, но отсутствует в столбце F.
Короче говоря, мне нужно определить «неповторяющиеся или отдельные значения», а не уникальные значения.
Большое спасибо заранее.
Большинство из вас поняли, что я ищу, но чтобы устранить любые недоразумения, я включил пример. В реальной жизни я вручную записываю приходящих в столбец на другом листе той же рабочей книги.
решение1
Если у вас есть Office 365 Excel, вы можете создать список посетителей, используя:
=LET(x,1/ISNA(MATCH(Attendees,Scheduled,0))*ROW(Attendees),y,AGGREGATE(15,6,x,SEQUENCE(COUNT(x)))-1,INDEX(Attendees,y))
Attendees
и Scheduled
ссылайтесь на очевидные диапазоны.
Если у вас более ранние версии, подойдет более сложная формула, но было бы полезно знать, с какой версией Excel вы работаете.
Одной из возможностей может быть:
=INDEX(Attendees,AGGREGATE(15,6,1/ISNA(MATCH(Attendees,Scheduled,0))*ROW(Attendees)-1,ROW(INDEX($A:$A,1):INDEX($A:$A,COUNT(1/ISNA(MATCH(Attendees,Scheduled,0))*ROW(Attendees))))))
которые вам, возможно, придется «подтвердить» какформула массиваудерживая ctrl+ shiftпри нажатии enter. Если вы сделаете это правильно, Excel поместит фигурные скобки {...}
вокруг формулы, как показано в строке формул.
Обратите внимание, что в обеих формулах -1
(как в ) AGGREGATE(...)-1
используется для корректировки строки заголовка определенного диапазона, чтобы можно было использовать функцию INDEX
. INDEX
Функция смотрит на позицию в массиве, тогда как ROW
смотрит на абсолютный номер строки местоположения. Если ваши диапазоны начинаются не с Row 1
, вам следует соответствующим образом скорректировать этот коэффициент.
решение2
Прочитав ваше описание, я составил следующие данные:
Пол вошел, пока остальные планировали свое присутствие. (Столбец A
не важен.)
Я думаюСамый простой способ — использоватьMATCH
. Например, D2
вы можете использовать что-то вроде этого:
=IFERROR(IF(MATCH(C2,F:F,0),"scheduled"),"WALK IN")
В качестве другого подхода вы можете использоватьусловное форматированиеформула в столбце C
:
=AND(NOT(IFERROR(MATCH(C1,F:F,0),0)),C1<>"", C1<>"attendees")
Как вы настаиваете, этоформула для отдельного столбца, содержащего уникальные значения(в данном случае только Пол).
Это формула массива (формулы массива вводятся с помощьюCtrl+Shift+Enterвместо обычного Enter).
Формулы массива не работают в объектах таблиц Excel, и они лучше всего работают, когда вместо полного столбца указан определенный диапазон (потому что они фактически выполняли бы вычисления для каждой ячейки во всем столбце из 1 миллиона строк). Таким образом, поскольку определенный диапазон предпочтительнее, поддержка таких формул может быть болезненной.
Для работы этой формулы также требуется дополнительный столбец. Я имею в виду столбец "walk ins", описанный в первом варианте выше. Таким образом, в общей сложности у вас будет 2 дополнительных столбца, если вы выберете этот вариант.
Если вы все еще хотите это сделать, вот формула:
=IFERROR(
INDEX(
$C$2:$C$5,
SMALL(
IF(
$D$2:$D$5<>"WALK IN",
"",
ROW($D$2:$D$5)-MIN(ROW($D$2:$D$5))+1),
ROW(D2)-1)),
"")