Сложная проблема Excel, проанализируйте строку и получите максимальную дату из ячейки рядом с соответствующей - PullRequest
0 голосов
/ 01 декабря 2018

Ниже у меня есть одна или несколько строк в ячейках D7, D8 и D9, разделенных запятой.Я хотел бы получить максимальную дату, соответствующую предоставленным номерам.

---      Col A   Col B 
Row 1    number  date  
Row 2    1.0    1/1/2018    
Row 3    1.1    1/2/2018
Row 4    1.3    1/5/2018
Row 5    1.6    1/3/2018
Row 6    1.8    1/4/2018

text string in cell D7 = 1.1,1.6 
output = 1/3/2018

text string in cell D8 = 1.1
output = 1/2/2018

text string in cell D9 = 1.8,1.6,1.3
output = 1/5/2018

1 Ответ

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

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

=MAX(INDEX(B:B,N(IF({1},MATCH(--TRIM(MID(SUBSTITUTE(D2,",",REPT(" ",99)),(ROW($A$1:INDEX($A:$A,LEN(D2)-LEN(SUBSTITUTE(D2,",",""))+1))-1)*99+1,99)),A:A,0)))))

Будучи формулой массива, необходимо сначала поместить формулу в первую ячейку, затем нажать Ctrl-Shift-Enter вместо Enter при выходе из режима редактирования, а затем скопировать внизнабор данных.

enter image description here


Другой, использующий SUMIFS:

=MAX(SUMIFS(B:B,A:A,TRIM(MID(SUBSTITUTE(D2,",",REPT(" ",99)),(ROW($A$1:INDEX($A:$A,LEN(D2)-LEN(SUBSTITUTE(D2,",",""))+1))-1)*99+1,99))))

Все еще формула массива

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