1

Извините, если название сбивает с толку. Я не спал почти всю ночь, пытаясь решить эту проблему, и я не знаю, как это сформулировать. Любая помощь будет оценена.

У меня есть электронная таблица с именами в столбце A и идентификационными номерами в столбце B. Это выглядит так

Sally     1004
Sally     1005
Sally     1006
Robert    1007
Robert    1008

ЭСТ.

У меня есть другая электронная таблица, которая из-за некоторых обстоятельств не может юридически фильтровать каким-либо образом с такими именами

Sally
Sally
Robert
Robert
Robert

Все они в алфавитном порядке, но, как вы можете видеть в случае Салли, в первом случае она появляется чаще, чем во втором, что вполне нормально. Тем не менее, Роберт появляется больше раз на втором листе, чем на первом, и мне нужно это, чтобы вернуть какую-то ошибку. Мне также нужно, чтобы Sheet2 имел идентификационные номера для того, чтобы они появлялись.Это конечная цель

Sally     1004
Sally     1005
Robert    1007
Robert    1008
Robert    #N/A           (or any other error)

Я потратил часы, пытаясь найти формулу массива для работы, но безуспешно. Если у вас есть идеи, как мне поступить, я был бы очень признателен.

1 ответ1

0

Используйте эту формулу:

=INDEX(Table1[ID],SMALL(IF(A2=Table1[name],ROW(Table1[name])-ROW(Table1[[#Headers],[name]]),10^9),COUNTIF(Sheet2!$A$1:A2,A2)))

Конечно, это также формула массива.

  • IF(A2=Table1[name],ROW(Table1[name])-ROW(Table1[[#Headers],[name]]),10^9)
    • возвращает номер строки для строк в исходной таблице, содержащей фактическое имя
      (исправлено по номеру строки заголовка таблицы, чтобы правильно работать в индексной функции)
    • возвращает 10^9 для других (просто чтобы получить большое число, не сбивающее с толку функцию SMALL , возможно, "" тоже сработает)
  • COUNTIF(Sheet2!$A$1:A2,A2) - подсчитать количество имен над текущей строкой
  • SMALL(IF(...),10^9),COUNTIF(...)) - возвращает следующий наименьший (исправленный) номер строки
  • =INDEX(Table1[ID],SMALL(...)) - возвращает идентификатор

Для лучшей читаемости формулы я преобразовал ваш первый диапазон в таблицу, конечно же, вы также можете использовать адреса.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .