Excel: удалить все, кроме одного символа после 3-го пробела - PullRequest
0 голосов
/ 17 мая 2018

Эта формула удаляет все после 3-го пробела в ячейке, я хочу оставить один символ после 3-го пробела.Я не уверен, как сделать настройку.Спасибо за вашу помощь.

=IF(ISERROR(FIND(" ",A1,FIND(" ",A1,1)+1)),A1,LEFT(A1,FIND(" ",A1,FIND(" ",A1,1)+1))) 

1 Ответ

0 голосов
/ 17 мая 2018

Это

=IFERROR(LEFT(A1,FIND(" ",A1, FIND(" ",A1,FIND(" ",A1,1)+1)+1)+1),"")

Formula

Или

=LEFT(A1,FIND(CHAR(1),SUBSTITUTE(A1," ",CHAR(1),3))+1)

Или, согласно Аллену Уайетту здесь , используя функцию, о которой я никогда не слышал, под названием SEARCHB,

=LEFT(A1,SEARCHB(" ",A1,(SEARCHB(" ",A1,(SEARCHB(" ",A1,1)+1))+1))+1)

Что быстрое чтение говорит мне, что я мог бы также сделать более знакомое

=LEFT(A1,SEARCH(" ",A1,(SEARCH(" ",A1,(SEARCH(" ",A1,1)+1))+1))+1)

SEARCHB считает 2 байта на символ, только если установлен язык DBCS как язык по умолчанию. В противном случае SEARCHB ведет себя так же, как SEARCH, считая 1 байт на символ.


Примечание:

Если вы на самом деле имели в виду, что хотели только первый символ после третьего пробела, и ничего больше, то используйте тот факт, что вы нашли позицию 3-го пробела и добавили один, с FIND(" ",A1,FIND(" ",A1,FIND(" ",A1,1)+1)+1)+1, чтобы объединить с MID функция для возврата одного символа, начиная с этой позиции, т.е.

=MID(A1,FIND(" ",A1,FIND(" ",A1,FIND(" ",A1,1)+1)+1)+1,1)

Результат:

Result

Вы можете использовать ту же логику с другими решениями, которые я перечислил вверху.

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