3

Можно ли в Excel удалить отдельное слово в каждой строке? Например, в каждой строке написано «Мистер и миссис» {имя} {фамилия}, и я хочу удалить {имя> из каждого. (Или, альтернативно, извлекая первые три слова и последнее слово, а затем комбинируя их.)

Спасибо!

5 ответов5

2

Вот формула для поиска третьего слова, но оно длинное:

=MID(MID(MID(SUBSTITUTE(A1," ","^",3),1,256),FIND("^",SUBSTITUTE(A1," ","^",3)),256),2,FIND(" ",MID(MID(SUBSTITUTE(A1," ","^",3),1,256),FIND("^",SUBSTITUTE(A1," ","^",3)),256))-2)

Ссылка Ссылка здесь.

Теперь поместите это в один столбец, нажмите и перетащите, затем создайте второй столбец, который удаляет это слово.

На самом деле, в вашем конкретном случае вы можете просто использовать эту формулу, в этом примере A1 имеет строку, а C1 - это формула, приведенная выше:

=LEFT(A1, 13) & RIGHT(A1,LEN(A1) - (13 + LEN(C1)))

И, конечно, вы можете заменить всю первую формулу на C1, чтобы получить все в одной формуле.

2

Вот мое решение. Который частично использует это.

=LEFT(A6,FIND(" ",A6,FIND(" ",A6,FIND(" ",A6)+1)+1))&RIGHT(A6,LEN(A6)-FIND("@",SUBSTITUTE(A6," ","@",LEN(A6)-LEN(SUBSTITUTE(A6," ","")))))

При этом сохраняются первые 3 слова и последнее слово, и нет необходимости предполагать, что первые три слова - «Мистер и миссис». Если вы предполагаете, что можете использовать более короткую версию:

="Mr. and Mrs. "&RIGHT(A6,LEN(A6)-FIND("@",SUBSTITUTE(A6," ","@",LEN(A6)-LEN(SUBSTITUTE(A6," ","")))))

Изменить: используя мою верхнюю формулу и этот (который просто дает первое и последнее слово):

=LEFT(A6,FIND(" ",A6))&RIGHT(A6,LEN(A6)-FIND("@",SUBSTITUTE(A6," ","@",LEN(A6)-LEN(SUBSTITUTE(A6," ","")))))

Мы можем объединить их с оператором if ... Я не уверен, что если утверждение будет лучшим, но позвольте мне показать вам, как выглядело бы то, где мы считаем число "." в заявлении. Если это 2 или больше, используйте первые 3 слова и последнее, в противном случае просто первое слово и последнее.

IF(LEN(A6)-LEN(SUBSTITUTE(A6,".",""))>=2,LEFT(A6,FIND(" ",A6,FIND(" ",A6,FIND(" ",A6)+1)+1))&RIGHT(A6,LEN(A6)-FIND("@",SUBSTITUTE(A6," ","@",LEN(A6)-LEN(SUBSTITUTE(A6," ",""))))),LEFT(A6,FIND(" ",A6))&RIGHT(A6,LEN(A6)-FIND("@",SUBSTITUTE(A6," ","@",LEN(A6)-LEN(SUBSTITUTE(A6," ",""))))))

Edit2: если вы хотите использовать ваше -and- решение, вы можете использовать эту формулу:

=LEFT(A6,FIND(" ",SUBSTITUTE(A6," and ","-and-")))&RIGHT(A6,LEN(A6)-FIND("@",SUBSTITUTE(A6," ","@",LEN(A6)-LEN(SUBSTITUTE(A6," ","")))))
1

все решения выше, удивительны; тем не менее, хороший способ сделать это (предположим, что г-н Джон Смит находится в одном столбце) - это создать tools to columns из меню « Data и использовать space в качестве разделителя.

0

Ctrl+F, выберите заменить, поставьте «Мистер» (не забывайте пробел) и в замене должны быть пустыми. Тогда замени все.
Ctrl+F, выберите заменить, поставьте «Mrs.» (не забывайте пробел) и вместо должен быть пустым. Тогда замени все.

Это решение быстро для замены нескольких слов, но должно использоваться только со словами, которые не находятся внутри имени (с "James Amr. Кон, например; в данном случае, возможно, "чувствительный к регистру" вариант решает это).

0

Я бы использовал Ctr+F и использовал инструмент замены, просто введите слово, которое вы хотите удалить, затем нажмите «заменить» - это заменит выбранное слово ни на что!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .