Немного беспорядка, но это сработает:
=IF(ISNUMBER(SEARCH(MID($A2,1,SEARCH(",",$A2,1)-1),$A2,LEN(MID($A2,1,SEARCH(",",$A2,1)-1)))),IF(ISNUMBER(SEARCH(MID($A2,1,SEARCH(",",$A2,1)-1),$A2,LEN(MID($A2,1,SEARCH(",",$A2,1)-1))*2)),MID($A2,1,SEARCH(",",$A2,1)-1),$A2),$A2)
Если поиск снова находит первое слово, превышающее его длину, он снова проверяет его после удвоения длины. Если это совпадение, он возвращает только это слово, а в противном случае возвращает всю ячейку.
Я буду пытаться найти более элегантное решение, но пока этого достаточно. Хорошо, если вы всегда ищете по индексу 3. Если нет, я все еще могу это сделать, но хотел бы использовать вспомогательные столбцы (или иметь трещину в VBA, которая легко справляется с задачей, я не хочу видеть сначала усилия, так как я не буду кодировать бесплатно, как правило)
person
Glitch_Doctor
schedule
09.08.2017