Excel - значение поиска на основе нескольких критериев - ближайшая дата - PullRequest
0 голосов
/ 06 декабря 2018

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

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

ID  date    User
1   01/01/2000  BA
1   04/01/2002  JI
1   01/11/2001  PK
2   03/03/2004  DT
2   03/05/2008  BI
2   04/06/2002  KW
3   02/12/2007  NK
3   06/09/2005  LW
3   01/08/2005  DH

Я пытаюсь сопоставить определенный идентификатор с полкой A и датой с ближайшей датой (до, но не более чем) в столбце B, чтобы извлечь данные пользователя.Например, если у меня есть ID = 1, дата = 01/12/2001 - это должно вернуть значение пользователя PK.

Я попытался объединить эту формулу: =MIN(IF(A1:B6>E1,A1:B6)) с индексом (match * match)использовать идентификатор и дату в качестве нескольких критериев, но я продолжаю получать ошибку # Н / Д.

Эта формула должна быть применена к прибл.1000 строк и диапазон поиска составляет ок.65 000 строк.

Любые предложения будут высоко оценены.Ура, муравей

1 Ответ

0 голосов
/ 06 декабря 2018

ЕСЛИ вы можете отсортировать по первым двум столбцам, тогда будет работать эта нормальная формула:

=VLOOKUP(E2,INDEX(B:C,MATCH(D2,A:A,0),0):INDEX(B:C,MATCH(D2,A:A,0)+COUNTIF(A:A,D2)-1,0),2,TRUE)

Это создаст меньший диапазон для Vlookup дляпоиск.Этот меньший набор данных будет включать только даты и пользователей с правильным идентификатором.

Опять же, это работает, только если данные отсортированы.Если нет, он вернет неверные значения.

enter image description here

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