Цей тест перевіряється і працює (на основі оригінальної публікації Бреда):
=RIGHT(A1,LEN(A1)-FIND("|",SUBSTITUTE(A1," ","|",
LEN(A1)-LEN(SUBSTITUTE(A1," ","")))))
Якщо ваші оригінальні рядки могли містити трубу "|" символу, а потім замініть обидва у наведеному вище символом іншого, який не з’явиться у вашому джерелі. (Я підозрюю, що оригінал Бреда був зламаний через те, що в перекладі було видалено недрукований персонаж).
Бонус: як це працює (справа наліво):
LEN(A1)-LEN(SUBSTITUTE(A1," ",""))
- Підрахунок пробілів у вихідному рядку
SUBSTITUTE(A1," ","|", ... )
- Замінює лише остаточний пробіл на a |
FIND("|", ... )
- Знаходить абсолютне положення заміненого |
(це було остаточне пробіл)
Right(A1,LEN(A1) - ... ))
- Повертає всі символи після цього|
EDIT: для обліку випадку, коли вихідний текст не містить пробілів, додайте наступне на початок формули:
=IF(ISERROR(FIND(" ",A1)),A1, ... )
склавши всю формулу зараз:
=IF(ISERROR(FIND(" ",A1)),A1, RIGHT(A1,LEN(A1) - FIND("|",
SUBSTITUTE(A1," ","|",LEN(A1)-LEN(SUBSTITUTE(A1," ",""))))))
Або ви можете використовувати =IF(COUNTIF(A1,"* *")
синтаксис іншої версії.
Коли початковий рядок може містити пробіл в останньому положенні, додайте функцію обрізки під час підрахунку всіх пробілів: Зробіть цю функцію наступною:
=IF(ISERROR(FIND(" ",B2)),B2, RIGHT(B2,LEN(B2) - FIND("|",
SUBSTITUTE(B2," ","|",LEN(TRIM(B2))-LEN(SUBSTITUTE(B2," ",""))))))