СПИСОК разделенных запятыми списка чисел для столбца в Excel (без макросов, без TEXTJOIN) - PullRequest
0 голосов
/ 03 июня 2019

Я пытаюсь сопоставить ячейку с числами, разделенными запятыми (M), со столбцом чисел (B), так что если любое из чисел, разделенных запятыми, НЕ появится в столбце, результат будет ложным.

У меня уже есть это решение:

{=COUNT(MATCH(TRIM(MID(SUBSTITUTE(M2,",",REPT(" ",100)),(Num_Array-1)*100+1,100)),$B$2:$B$7,0))=(LEN(M2)-LEN(SUBSTITUTE(M2,",",""))+1)}

по этой ссылке:

https://www.mrexcel.com/forum/excel-questions/654920-match-comma-delimited-values-cell-against-individual-values-column.html

, которое отлично работает, если все значения являются текстовыми.Но если все значения являются числами, он всегда возвращает false.

Используемые тестовые данные: тестовые данные

1 Ответ

1 голос
/ 03 июня 2019

Вам нужно будет повторить значения в каждой ячейке и проверить:

=SUMPRODUCT(--(ISNUMBER(MATCH(--TRIM(MID(SUBSTITUTE(M2,",",REPT(" ",999)),(ROW($XFD$1:INDEX($XFD:$XFD,LEN(M2)-LEN(SUBSTITUTE(M2,",",""))+1))-1)*999+1,999)),$B:$B,0))))=LEN(M2)-LEN(SUBSTITUTE(M2,",",""))+1

![enter image description here


Использование формулы массива COUNT:

=COUNT(MATCH(--TRIM(MID(SUBSTITUTE(M2,",",REPT(" ",999)),(ROW($XFD$1:INDEX($XFD:$XFD,LEN(M2)-LEN(SUBSTITUTE(M2,",",""))+1))-1)*999+1,999)),$B:$B,0))=LEN(M2)-LEN(SUBSTITUTE(M2,",",""))+1

Требуется подтверждение с помощью Ctrl-Shift-Enter для работы.

Я предпочитаю SUMPRODUCT, потому что ему не нужно подтверждение Ctrl-Shift-Enter.

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