Како пронаћи посебне знакове у низу у програму Екцел

Преглед садржаја:

Anonim

Знамо да се функције ТРИМ и ЦЛЕАН Екцел користе за чишћење знакова који се не могу штампати и додатних размака из низова, али не помажу много у идентификовању низова који садрже било који посебан знак попут @ или! итд. У таквим случајевима користимо УДФ -ове.

Дакле, ако желите да знате да ли стринг садржи посебне знакове, нећете пронаћи ниједну формулу или функцију програма Екцел за то. Специјалне знакове који се налазе на тастатури можемо пронаћи ручним куцањем, али не можете знати да ли у низу постоје симболи или не.

Проналажење посебних знакова може бити веома важно за чишћење података. А у неким случајевима то мора да се уради. Па како то да урадимо у Екцелу? Како можемо знати да ли стринг садржи посебне знакове? Па, за то можемо користити УДФ.

Формула испод ће вратити ТРУЕ ако било која ћелија садржи било које знакове осим 1 до 0 и А до З (у оба случаја). Ако не пронађе никакве посебне знакове, вратиће ФАЛСЕ.

Општа формула

= СадржиСпециалЦхарацтерс (стринг)

Низ: Низ који желите да проверите за посебне знакове.

Да би ова формула функционисала, мораћете да унесете доњи код у модул радне свеске.

Зато отворите Екцел. Притисните АЛТ+Ф11 да бисте отворили ВБЕ. Уметните модул из менија Уметање. Копирајте доњи код и залепите га у модул.

Функција садржи СпециалЦхарацтерс (стр као низ) као логичко за И = 1 до Лен (стр) цх = средњи (стр, И, 1) Изаберите велика слова велика слова "0" до "9", "А" до "З", "а "То" з "," "ЦонтаинсСпециалЦхарацтерс = Нетачна слова Остало ЦонтаинсСпециалЦхарацтерс = Истински излаз за крај Изаберите Следећа функција за крај

Сада је функција спремна за употребу.
Идите на радни лист у радној свесци који садржи низове које желите да проверите.

Напишите доњу формулу у ћелију Ц2:

= Садржи посебне знакове (Б13)

Враћа ТРУЕ за први низ јер садржи посебан знак. Када копирате формулу надоле, она приказује ФАЛСЕ за низ Б14 и тако даље.

Али чудно показује ТРУЕ за последњи низ "Екцелтип.цом". То је зато што садржи тачку (.). Али зашто тако? Хајде да испитамо код да бисмо разумели.

Како функционише функција?

Понављамо све знакове низа користећи Фор петљу и мид функцију ВБА. Функција Мид издваја један по један знак из низа и складишти га у променљиву цх.

За И = 1 То Лен (стр) цх = Мид (стр, И, 1) 

Сада долази главни део. Користимо израз цасе цасе да проверимо шта садржи променљива цх.

Кажемо ВБА да провери да ли цх садржи неку од дефинисаних вредности. Дефинисао сам 0 до 9, А до З, а до з и "" (размак). Ако ц
х садржи било шта од овога, вредност смо поставили на Нетачно.

Одаберите Цасе цх Цасе "0" То "9", "А" то "З", "а" То "з", "ЦонтаинсСпециалЦхарацтерс = Фалсе 

Можете видети да немамо тачку (.) На листи и зато добијамо ТРУЕ за стринг који садржи тачку. На листу можете додати било који знак да бисте били изузети из формуле.

Ако цх садржи било који знак осим наведених знакова, резултат функције постављамо на Труе и завршавамо петљу.

Случај у другом случају ЦонтаинсСпециалЦхарацтерс = Истински излаз за 

Па да, овако то функционише. Али ако желите да очистите посебне знакове, мораћете да унесете неке промене у функцију.

Како очистити посебне знакове из низова у Екцелу?

За чишћење посебних знакова из низа у Екцелу, створио сам другу прилагођену функцију у ВБА. Синтакса функције је:

= ЦлеанСпециалЦхарацтерс (стринг)

Ова функција враћа очишћену верзију низа који је у њу прослеђен. Нови низ неће садржати никакве посебне знакове.

Код ове функције иде овако:

Функција ЦлеанСпециалЦхарацтерс (стр Ас Стринг) Дим нстр Ас Стринг нстр = стр За И = 1 То Лен (стр) цх = Мид (стр, И, 1) Изабери велика слова велика слова "0" до "9", "А" То " З "," а "За" з "," "'Не радите ништа друго Случај нстр = Замени (нстр, цх," ") Крај Изабери следеће ЦлеанСпециалЦхарацтерс = нстр Крајња функција 

Копирајте ово у исти модул који сте копирали у горњи код.

Када користите ову формулу на низовима, резултати ће бити следећи:

Можете видети да је сваки специјални знак уклоњен из низа укључујући тачку.

Како то функционише?

Ради исто као горња функција. Једина разлика је у томе што ова функција замењује сваки специјални знак нултим знаком. Формира нови низ и враћа овај низ.

Изаберите Цасе цх Случај "0" до "9", "А" до "З", "а" То "з", "" ЦонтаинсСпециалЦхарацтерс = Нетачна слова Остало нстр = Замени (нстр, цх, "") Крај Изаберите 

Ако желите да изузмете било који знак чишћења, можете га додати на листу у коду. Екцел ће опростити тај посебан знак.

Па да, момци, овако можете пронаћи и заменити посебне знакове из низа у Екцелу. Надам се да је ово било довољно објашњење и помоћ. Ако вам не помаже у решавању вашег проблема, јавите нам у одељку за коментаре испод.

Како се користи функција ТРИМ у програму Екцел: Функција ТРИМ се користи за обрезивање низова и чишћење свих задњих или водећих размака од низа. Ово нам много помаже у процесу чишћења података.

Како се користи функција ЦЛЕАН у програму Екцел: Функција Цлеан се користи за чишћење неисписивих знакова из низа. Ова функција се углавном користи са функцијом ТРИМ за чишћење увезених страних података.

Замените текст са краја низа почевши од променљиве позиције: Да бисмо заменили текст са краја низа, користимо функцију РЕПЛАЦЕ. Функција РЕПЛАЦЕ користи позицију текста у низу да би је заменила.

Како да проверите да ли низ садржи један од многих текстова у Екцелу: Користимо ову формулу да бисмо проверили да ли низ садржи било који од више текста. Користимо функцију СУМ да збројимо сва подударања, а затим извршимо логику да проверимо да ли низ садржи било који од више низова.

Бројање ћелија које садрже одређени текст: Једноставна функција ЦОУНТИФ ће учинити магију. За бројање више ћелија које садрже дати низ користимо џокер оператор са функцијом ЦОУНТИФ.

Екцел ЗАМЕНИ вс ЗАМЕНИ функција: Функције РЕПЛАЦЕ и СУБСТИТУТЕ су најчешће погрешно схваћене функције. Да бисмо пронашли и заменили дати текст користимо функцију ЗАМЕНА. Где се РЕПЛАЦЕ користи за замену више знакова у низу …

Популарни чланци:

50 Екцел пречица за повећање продуктивности | Убрзајте свој задатак. Ових 50 пречица ће учинити да радите још брже на Екцелу.

Како се користи Екцел ВЛООКУП функција| Ово је једна од најчешће кориштених и популарних функција програма Екцел која се користи за тражење вриједности из различитих распона и листова.

Како се користи Екцел ЦОУНТИФ функција| Бројте вредности са условима користећи ову невероватну функцију. Не морате да филтрирате податке да бисте рачунали одређене вредности. Цоунтиф функција је неопходна за припрему ваше контролне табле.

Како се користи функција СУМИФ у програму Екцел | Ово је још једна битна функција контролне табле. Ово вам помаже да сумирате вредности под одређеним условима.