Формула Excel, чтобы найти самую длинную строку, разделенную символами

Перегрузка оператора используется в Java для конкатенации типа String:

String concat = "one" + "two";

Однако вы не можете определить свои собственные перегрузки оператора.

-1
задан Darren Jansen 1 March 2019 в 17:02
поделиться

1 ответ

Если у вас Office 365 Excel, используйте следующую формулу массива:

=TEXTJOIN(",",TRUE,IF(LEN(TRIM(MID(SUBSTITUTE(A4,"|",REPT(" ",99)),(ROW($XFD$1:INDEX(XFD:XFD,LEN(A4)-LEN(SUBSTITUTE(A4,"|",""))+1))-1)*99+1,99)))>15,TRIM(MID(SUBSTITUTE(A4,"|",REPT(" ",99)),(ROW($XFD$1:INDEX(XFD:XFD,LEN(A4)-LEN(SUBSTITUTE(A4,"|",""))+1))-1)*99+1,99)) & " has " & LEN(TRIM(MID(SUBSTITUTE(A4,"|",REPT(" ",99)),(ROW($XFD$1:INDEX(XFD:XFD,LEN(A4)-LEN(SUBSTITUTE(A4,"|",""))+1))-1)*99+1,99))) & " Characters.",""))

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

enter image description here

<час>

Без Office 365 мы можем вернуть стандартный возврат, но не фактическую длину

=IF(OR(LEN(TRIM(MID(SUBSTITUTE(A2,"|",REPT(" ",99)),(ROW($XFD$1:INDEX(XFD:XFD,LEN(A2)-LEN(SUBSTITUTE(A2,"|",""))+1))-1)*99+1,99)))>15),"This cell has an entry with too many Characters","")

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

enter image description here

0
ответ дан Scott Craner 1 March 2019 в 17:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: