FILTER.XML функциясы менен жабышчаак текстти бөлүү

мазмуну

Жакында эле, биз XML маалыматтарын Интернеттен импорттоо үчүн FILTER.XML функциясын колдонууну талкууладык - бул функция, чынында, арналган негизги милдет. Бирок жолдо бул функциянын дагы бир күтүүсүз жана кооз колдонулушу пайда болду - жабышчаак текстти клеткаларга тез бөлүү үчүн.

Бизде мындай маалымат мамычасы бар дейли:

FILTER.XML функциясы менен жабышчаак текстти бөлүү

Албетте, ыңгайлуу болушу үчүн мен аны өзүнчө тилкелерге бөлгүм келет: фирманын аталышы, шаар, көчө, үй. Сиз муну ар кандай жолдор менен жасай аласыз:

  • колдонуу Текст тилкелер боюнча өтмөктөн маалыматтар (Маалымат - Текстти тилкелерге) жана үч кадам бас Текст талдоочу. Бирок эртең маалыматтар өзгөрсө, процессти дагы бир жолу кайталашыңыз керек болот.
  • Бул дайындарды Power Query'ге жүктөңүз жана аны ошол жерге бөлүңүз, анан кайра баракка жүктөңүз, андан кийин маалымат өзгөргөндө суроону жаңыртыңыз (бул оңой).
  • Эгер сиз тез арада жаңыртышыңыз керек болсо, анда үтүрлөрдү таап, алардын ортосундагы текстти чыгаруу үчүн өтө татаал формулаларды жазсаңыз болот.

Жана сиз муну кылдатыраак кылып, FILTER.XML функциясын колдонсоңуз болот, бирок мунун эмнеси бар?

FILTER.XML функциясы алгачкы аргументи катары XML кодун алат — атайын тегдер жана атрибуттар менен белгиленген текст, андан кийин бизге керектүү маалымат фрагменттерин чыгарып, аны өзүнүн компоненттерине талдайт. XML коду адатта төмөнкүдөй көрүнөт:

FILTER.XML функциясы менен жабышчаак текстти бөлүү

XMLде ар бир маалымат элементи тегдердин ичинде болушу керек. Тег - бул бурчтуу кашаалардын ичинде камтылган кандайдыр бир текст (жогорку мисалда ал менеджер, аты, пайда). Тегдер ар дайым жуп болуп келет – ачуу жана жабуу (башына сызык кошулган).

FILTER.XML функциясы бизге керектүү бардык тегдердин мазмунун оңой чыгарып алат, мисалы, бардык менеджерлердин аттары жана (эң негизгиси) алардын бардыгын бир эле тизмеде көрсөтө алат. Ошентип, биздин милдет булак текстке тегдерди кошуу, аны FILTER.XML функциясы аркылуу кийинки талдоо үчүн ылайыктуу XML кодуна айлантуу.

Мисал катары биздин тизмеден биринчи даректи алсак, анда биз аны бул курулушка айландыруубуз керек болот:

FILTER.XML функциясы менен жабышчаак текстти бөлүү

Мен глобалдык ачылыш жана бардык текст теги деп атадым t, жана ар бир элементти алкактоочу тегдер s., бирок сиз башка белгилерди колдоно аласыз - бул маанилүү эмес.

Эгерде биз бул коддон чегинүүлөрдү жана сызыктарды алып салсак – толугу менен, демек, кошумча жана тактык үчүн гана кошулса, анда мунун баары сапка айланат:

FILTER.XML функциясы менен жабышчаак текстти бөлүү

Ал эми аны бир нече тег менен үтүрлөрдү алмаштыруу менен булак дарегине салыштырмалуу оңой эле алууга болот функцияны колдонуу АЛМАШТЫРУУ (АЛМАШТЫРУУ) жана символу менен чаптоо & ачуу жана жабуу белгилеринин башында жана аягында:

FILTER.XML функциясы менен жабышчаак текстти бөлүү

Алынган диапазонду туурасынан кеңейтүү үчүн стандарттык функцияны колдонобуз ТРАНСП (TRANSPOSE), ага биздин формула ороп:

FILTER.XML функциясы менен жабышчаак текстти бөлүү

Бул бүтүндөй дизайндын маанилүү өзгөчөлүгү - динамикалык массивдерди колдогон Office 2021 жана Office 365тин жаңы версиясында киргизүү үчүн атайын жаңсоолор талап кылынбайт – жөн гана киргизип, чыкылдатыңыз. кирүү – формуланын өзү керектүү клеткалардын санын ээлейт жана баары жаркырап иштейт. Мурунку версияларда, али динамикалык массивдер жок болсо, адегенде формулага кирүүдөн мурун жетиштүү сандагы бош уячаларды тандап алышыңыз керек болот (чет менен болот) жана формуланы түзгөндөн кийин баскычтоптун жарлыгын басыңыз. Ctrl+өзгөрүү+кирүүаны массив формуласы катары киргизүү үчүн.

Окшош ыкманы сызыктар аркылуу бир уячага жабышкан текстти бөлүүдө колдонсо болот:

FILTER.XML функциясы менен жабышчаак текстти бөлүү

Мурунку мисалдан бир гана айырмасы, үтүрдүн ордуна бул жерде биз 10 коду менен CHAR функциясынын жардамы менен формулада көрсөтүлүшү мүмкүн болгон көзгө көрүнбөгөн Alt + Enter сызык үзүү символун алмаштырабыз.

  • Excelде сызыктар менен иштөөнүн кылдат жактары (Alt + Enter).
  • Текстти Excelде тилкелерге бөлүңүз
  • Текстти SUBSTITUTE менен алмаштыруу

Таштап Жооп