Съдържание
Когато работите с неструктурирани текстови данни в работните си листове, често се налага да ги анализирате, за да извлечете съответната информация. В тази статия ще научите няколко прости начина за премахване на произволен брой символи от лявата или дясната страна на текстов низ.
Как да премахнете символите от ляво в Excel
Премахването на първите знаци от низ е една от най-често срещаните задачи в Excel и може да се осъществи с 3 различни формули.
Премахване на първия символ в Excel
За да изтриете първия символ от низ, можете да използвате функцията REPLACE или комбинация от функциите RIGHT и LEN.
REPLACE( низ , 1, 1, "")Тук просто вземаме 1 символ от първата позиция и го заменяме с празен низ ("").
ПРАВИЛНО( низ , LEN( низ ) - 1)В тази формула използваме функцията LEN, за да изчислим общата дължина на низа и да извадим 1 символ от нея. Разликата се подава към RIGHT, така че се извличат толкова символа от края на низа.
Например, за да премахнете първия символ от клетка A2, формулите са следните:
=REPLACE(A2, 1, 1, "")
=RIGHT(A2, LEN(A2) - 1)
Премахване на знаци отляво
За да премахнете водещите символи от лявата страна на низ, също използвайте функциите REPLACE или RIGHT и LEN, но всеки път посочвайте колко символа искате да бъдат изтрити:
REPLACE( низ , 1, num_chars , "")Или
ПРАВИЛНО( низ , LEN( низ ) - num_chars )Например, за да премахнете първите 2 символа от низа в A2 формулите са:
=REPLACE(A2, 1, 2, "")
=RIGHT(A2, LEN(A2) - 2)
За да премахнете първите 3 символи , формулите имат следния вид:
=REPLACE(A2, 1, 3, "")
=RIGHT(A2, LEN(A2) - 3)
На снимката по-долу е показана формулата REPLACE в действие. При използване на RIGHT LEN резултатите ще бъдат абсолютно същите.
Потребителска функция за изтриване на първите n символа
Ако нямате нищо против да използвате VBA в работните си листове, можете да създадете своя собствена дефинирана от потребителя функция за изтриване на символи от началото на низ, наречена RemoveFirstChars . Кодът на функцията е прост, както следва:
Функция RemoveFirstChars(str As String , num_chars As Long ) RemoveFirstChars = Right(str, Len(str) - num_chars) Край на функциятаСлед като въведете кода в работната си книга (подробните инструкции са тук), можете да премахнете първите n символа от дадена клетка, като използвате тази компактна и интуитивна формула:
RemoveFirstChars(string, num_chars)Например, за да изтриете първи символ от низ в A2, формулата в B2 е:
=RemoveFirstChars(A2, 1)
Да се съблече първите две символите от A3, формулата в B3 е:
=RemoveFirstChars(A4, 2)
Изтриване на първите три символите от A4, формулата в B4 е:
=RemoveFirstChars(A4, 3)
Още за Използване на потребителски функции в Excel.
Как да премахнете символите от дясно
За премахване на знаци от дясната страна на низ можете да използвате местни функции или да създадете своя собствена.
Премахване на последния символ в Excel
За изтриване на последния символ в клетка общата формула е:
ЛЯВО( низ , LEN( низ ) - 1)В тази формула изваждате 1 от общата дължина на низа и предавате разликата на функцията LEFT, за да извлече тя толкова знака от началото на низа.
Например, за да премахнете последния символ от клетка A2, формулата в B2 е:
=LEFT(A2, LEN(A2) - 1)
Премахване на знаци отдясно
За премахване на определен брой символи от края на клетка общата формула е:
ЛЯВО( низ , LEN( низ ) - num_chars )Логиката е същата като в горната формула, а по-долу са дадени няколко примера.
За да премахнете последните 3 символа , използвайте 3 за num_chars :
=LEFT(A2, LEN(A2) - 3)
Изтриване на последните 5 символа , доставка на 5 за num_chars :
=LEFT(A2, LEN(A2) - 5)
Потребителска функция за премахване на последните n символа в Excel
Ако искате да имате собствена функция за премахване на произволен брой символи отдясно, добавете този код VBA в работната си книга:
Функция RemoveLastChars(str As String , num_chars As Long ) RemoveLastChars = Left(str, Len(str) - num_chars) Край на функциятаФункцията се нарича RemoveLastChars и синтаксисът му не се нуждае от обяснение:
RemoveLastChars(string, num_chars)За да я тестваме в полеви условия, нека се отървем от последен символ в A2:
=RemoveLastChars(A2, 1)
Освен това ще премахнем последните 2 символа от дясната страна на низа в A3:
=RemoveLastChars(A3, 2)
Изтриване на последните 3 символа от клетка A4 формулата е:
=RemoveLastChars(A4, 3)
Както можете да видите на снимката по-долу, нашата потребителска функция работи отлично!
Как да премахнете знаците отдясно и отляво едновременно
Когато трябва да изтриете знаци от двете страни на низ, можете или да изпълните последователно двете горепосочени формули, или да оптимизирате работата с помощта на функцията MID.
MID( низ , ляв _ знаци + 1, LEN( низ ) - ( ляв _ знаци + вдясно _ знаци )Къде:
- chars_left - броя на символите, които ще бъдат изтрити отляво.
- chars_right - броя на символите, които ще бъдат изтрити отдясно.
Да предположим, че искате да извлечете потребителското име от низ като mailto:[email protected] За тази цел е необходимо да се премахне част от текста в началото ( mailto: - 7 знака) и от края ( @gmail.com - 11 символа).
Подайте горните числа към формулата:
=MID(A2, 7+1, LEN(A2) - (7+10))
...и резултатът няма да ви накара да чакате:
За да разберем какво всъщност се случва тук, нека си припомним синтаксиса на функцията MID, която се използва за извличане на подниз с определен размер от средата на оригиналния низ:
MID(текст, start_num, num_chars)Сайтът текст не повдига въпроси - това е изходният низ (в нашия случай A2).
За да получите позицията на първия символ за извличане ( start_num ), добавяте 1 към броя на символите, които трябва да бъдат премахнати отляво (7+1).
За да определите колко символа да върнете ( num_chars ), изчислявате общия брой премахнати символи (7 + 11) и изваждате сумата от дължината на целия низ: LEN(A2) - (7+10)).
Получаване на резултата като число
Която и от горните формули да използвате, изходът винаги е текст, дори когато върнатата стойност съдържа само числа. резултат като число , или да обвиете основната формула във функцията VALUE, или да извършите някаква математическа операция, която не влияе на резултата, например да умножите по 1 или да добавите 0. Тази техника е особено полезна, когато искате да изчислите резултатите допълнително.
Да предположим, че сте премахнали първия символ от клетките A2:A6 и искате да съберете получените стойности. Учудващо е, че тривиалната формула SUM връща нула. Защо е така? Очевидно, защото събирате низове, а не числа. Извършете една от следните операции и проблемът е решен!
=СТОЙНОСТ(REPLACE(A2, 1, 1, ""))
=RIGHT(A2, LEN(A2) - 1) * 1
=RemoveFirstChars(A2, 1) + 0
Премахване на първия или последния символ с помощта на Flash Fill
В Excel 2013 и по-новите версии има още един лесен начин за изтриване на първите и последните символи в Excel - функцията Flash Fill.
- В клетка, съседна на първата клетка с оригиналните данни, въведете желания резултат, като пропуснете първия или последния символ от оригиналния низ, и натиснете Enter .
- Започнете да въвеждате очакваната стойност в следващата клетка. Ако Excel усети модела на въвежданите данни, той ще следва същия модел в останалите клетки и ще покаже предварителен преглед на данните без първия/последния символ.
- Просто натиснете клавиша Enter, за да приемете предварителния преглед.
Премахване на символи по позиция с Ultimate Suite
Традиционно потребителите на нашия Ultimate Suite могат да се справят с тази задача с няколко кликвания, без да се налага да помнят няколко различни формули.
За да изтриете първите или последните n символа от даден низ, трябва да направите следното:
- На Данни от Ablebits в раздела Текст група, щракнете върху Премахване на > Премахване по позиция .
Например, за да премахнем първия символ, конфигурираме следната опция:
Ето как да премахнете подниз отляво или отдясно в Excel. Благодаря ви, че прочетохте, и с нетърпение очаквам да ви видя в нашия блог следващата седмица!
Налични изтегляния
Премахване на първите или последните символи - примери (.xlsm файл)
Ultimate Suite - пробна версия (.exe файл)