Дељење лепљивог текста помоћу функције ФИЛТЕР.КСМЛ

Садржај

Недавно смо разговарали о коришћењу функције ФИЛТЕР.КСМЛ за увоз КСМЛ података са Интернета – главни задатак за који је ова функција, у ствари, намењена. Успут, међутим, појавила се још једна неочекивана и лепа употреба ове функције – за брзо дељење лепљивог текста на ћелије.

Рецимо да имамо колону података овако:

Дељење лепљивог текста помоћу функције ФИЛТЕР.КСМЛ

Наравно, ради погодности, желео бих да га поделим у засебне колоне: назив компаније, град, улица, кућа. То можете учинити на гомилу различитих начина:

  • употреба Текст по колонама са картице Датум (Подаци — Текст у колонама) и иди три корака Парсер текста. Али ако се подаци промене сутра, мораћете поново да поновите цео процес.
  • Учитајте ове податке у Повер Куери и поделите их тамо, а затим их отпремите назад на табелу, а затим ажурирајте упит када се подаци промене (што је већ лакше).
  • Ако треба да ажурирате у ходу, онда можете написати неке веома сложене формуле да бисте пронашли зарезе и издвојили текст између њих.

И можете то учинити елегантније и користити функцију ФИЛТЕР.КСМЛ, али какве то везе има са тим?

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

Дељење лепљивог текста помоћу функције ФИЛТЕР.КСМЛ

У КСМЛ-у, сваки елемент података мора бити затворен у таговима. Ознака је неки текст (у примеру изнад то је менаџер, име, профит) затворен у угластим заградама. Ознаке увек долазе у пару – отварање и затварање (са косом цртом која се додаје на почетак).

Функција ФИЛТЕР.КСМЛ може лако издвојити садржај свих ознака које су нам потребне, на пример, имена свих менаџера, и (што је најважније) приказати их све одједном у једној листи. Дакле, наш задатак је да додамо ознаке изворном тексту, претварајући га у КСМЛ код погодан за каснију анализу помоћу функције ФИЛТЕР.КСМЛ.

Ако узмемо прву адресу са наше листе као пример, онда ћемо морати да је претворимо у ову конструкцију:

Дељење лепљивог текста помоћу функције ФИЛТЕР.КСМЛ

Позвао сам глобалну ознаку за отварање и затварање текста t, а ознаке које уоквирују сваки елемент су s., али можете користити било које друге ознаке - није важно.

Ако из овог кода уклонимо увлаке и преломе редова - потпуно, иначе, опционо и додато само ради јасноће, онда ће се све ово претворити у ред:

Дељење лепљивог текста помоћу функције ФИЛТЕР.КСМЛ

И већ се релативно лако може добити са изворне адресе заменом зареза у њој са пар ознака користећи функцију ЗАМЕНА (ЗАМЕНА) и лепљење симболом & на почетку и на крају уводних и завршних ознака:

Дељење лепљивог текста помоћу функције ФИЛТЕР.КСМЛ

Да бисмо хоризонтално проширили резултујући опсег, користимо стандардну функцију ТРАНСП (ТРАНСПОРУЧИ), умотавајући нашу формулу у то:

Дељење лепљивог текста помоћу функције ФИЛТЕР.КСМЛ

Важна карактеристика целог овог дизајна је да у новој верзији Оффице 2021 и Оффице 365 са подршком за динамичке низове нису потребни посебни покрети за унос – само унесите и кликните на унети – сама формула заузима потребан број ћелија и све ради са праском. У претходним верзијама, где још није било динамичких низова, мораћете прво да изаберете довољан број празних ћелија пре уноса формуле (можете са маргином), а након креирања формуле, притисните пречицу на тастатури Цтрл+смена+унетида га унесете као формулу низа.

Сличан трик се може користити када се текст који се заглавио у једну ћелију одваја прелом реда:

Дељење лепљивог текста помоћу функције ФИЛТЕР.КСМЛ

Једина разлика у односу на претходни пример је у томе што уместо зареза овде замењујемо невидљиви знак Алт + Ентер за прелом реда, који се може навести у формули помоћу функције ЦХАР са кодом 10.

  • Суптилности рада са преломима линија (Алт + Ентер) у Екцел-у
  • Поделите текст по колонама у Екцел-у
  • Замена текста са СУБСТИТУТЕ

Ostavite komentar