Ҷустуҷӯи калимаҳои калидӣ дар матн

Ҷустуҷӯи калимаҳои калидӣ дар матни сарчашма яке аз вазифаҳои маъмултарин ҳангоми кор бо додаҳо мебошад. Биёед ҳалли онро бо истифода аз мисоли зерин бо чанд роҳ дида бароем:

Ҷустуҷӯи калимаҳои калидӣ дар матн

Фарз мекунем, ки ману шумо рӯйхати калимаҳои калидӣ - номҳои тамғаҳои мошинҳо - ва ҷадвали калони ҳама намуди қисмҳои эҳтиётӣ дорем, ки дар он тавсифҳо баъзан метавонанд як ё якчанд чунин брендҳоро дар бар гиранд, агар қисми эҳтиётӣ зиёда аз якто бошад. тамғаи мошин. Вазифаи мо аз он иборат аст, ки ҳамаи калимаҳои ошкоршударо дар ячейкаҳои ҳамсоя тавассути аломати ҷудокунандаи додашуда (масалан, вергул) дарёфт ва намоиш диҳем.

Усули 1. Дархости барқ

Албатта, аввал мо бо истифода аз миёнабурҳои клавиатура ҷадвалҳои худро ба динамикӣ ("интеллектуалӣ") табдил медиҳем Ctrl+T ё фармонҳо Хона - Формат ҳамчун ҷадвал (Хона — Формат ҳамчун ҷадвал), ба онҳо ном диҳед (масалан Пӯшеди Қисмҳои эҳтиётӣ) ва як ба як ба муҳаррири Power Query бо интихоби дар ҷадвал бор кунед Маълумот - Аз ҷадвал/диапазон (Маълумот - Аз ҷадвал/диапазон). Агар шумо версияҳои кӯҳнаи Excel 2010-2013 дошта бошед, ки дар он Power Query ҳамчун иловаи алоҳида насб шудааст, тугмаи дилхоҳ дар ҷадвал хоҳад буд. Дархости барқ. Агар шумо версияи нави Excel 365 дошта бошед, пас тугмаро пахш кунед Аз ҷадвал/диапазон ҳозир ба он ҷо занг зад Бо баргҳо (Аз варақ).

Пас аз бор кардани ҳар як ҷадвал дар Power Query, мо бо фармон ба Excel бармегардем Хона — Пӯшед ва бор кунед — Пӯшед ва бор кунед… — Танҳо пайвастшавӣ эҷод кунед (Хона — Пӯшед ва бор кунед — Пӯшед ва бор кунед… — Фақат пайвастшавӣ эҷод кунед).

Акнун биёед як дархости такрорӣ эҷод кунем Қисмҳои эҳтиётӣбо пахши рости он ва интихоб Дархости такрорӣ (Дархости такрорӣ), пас дархости нусхабардории натиҷаро бо номи дигар иваз кунед Натиҷаҳо ва мо бо ӯ ҳамкориро идома медиҳем.

Мантиқи амалҳо ин аст:

  1. Дар ҷадвали Advanced Илова кардани сутун даста интихоб кунед Сутуни фармоишӣ (Иловаи сутун - Сутуни фармоишӣ) ва формуларо ворид кунед = Брендҳо. Пас аз пахш кардан OK мо сутуни нав мегирем, ки дар он дар ҳар як чашмак ҷадвали лона гузошташуда бо рӯйхати калимаҳои калидии мо - тамғаҳои мошинсозӣ мавҷуд аст:

    Ҷустуҷӯи калимаҳои калидӣ дар матн

  2. Тугмаро бо тирҳои дукарата дар сарлавҳаи сутуни иловашуда барои васеъ кардани ҳамаи ҷадвалҳои лона истифода баред. Дар айни замон, сатрҳо бо тавсифи қисмҳои эҳтиётӣ ба миқдори шумораи брендҳо зиёд мешаванд ва мо ҳама ҷуфтҳои имконпазири «қисмҳои эҳтиётӣ-бренд»-ро мегирем:

    Ҷустуҷӯи калимаҳои калидӣ дар матн

  3. Дар ҷадвали Advanced Илова кардани сутун даста интихоб кунед Сутуни шартӣ (Сутуни шартӣ) ва шарти санҷиши пайдоиши калимаи калидӣ (бренд) дар матни сарчашма (тафсири қисм):

    Ҷустуҷӯи калимаҳои калидӣ дар матн

  4. Барои ноҳассос кардани калимаи ҷустуҷӯ, далели сеюмро дар сатри формула дастӣ илова кунед Compare.OrdinalIgnoreCase ба функсияи тафтиши ҳодиса Матн.Дарбар мегирад (агар сатри формула намоён набошад, онро дар ҷадвал фаъол кардан мумкин аст Шарҳи):

    Ҷустуҷӯи калимаҳои калидӣ дар матн

  5. Мо ҷадвали ҳосилшударо филтр карда, дар сутуни охирин танҳо якҳо, яъне мувофиқатро мегузорем ва сутуни нолозимро хориҷ мекунем. Ҳодисаҳо.
  6. Гурӯҳбандии тавсифҳои якхела бо фармон Аз ҷониби гурӯҳ ҷадвали дигаргунсозии (Тағйир додан — Гурӯҳ аз ҷониби). Ҳамчун амалиёти ҷамъкунӣ, интихоб кунед Ҳама сатрҳо (Ҳама сатрҳо). Дар натиҷа, мо сутунеро бо ҷадвал мегирем, ки дар он тамоми тафсилоти ҳар як қисми эҳтиётӣ, аз ҷумла тамғаҳои мошинсозони ба мо лозим аст:

    Ҷустуҷӯи калимаҳои калидӣ дар матн

  7. Барои гирифтани баҳоҳо барои ҳар як қисм, дар ҷадвал сутуни дигари ҳисобшударо илова кунед Илова кардани сутун - Сутуни фармоишӣ (Иловаи сутун - Сутуни фармоишӣ) ва формулаи иборат аз ҷадвалро истифода баред (онҳо дар сутуни мо ҷойгиранд Cохта шуд) ва номи сутуни истихроҷшуда:

    Ҷустуҷӯи калимаҳои калидӣ дар матн

  8. Мо тугмаро бо тирчаҳои дукарата дар сарлавҳаи сутуни натиҷавӣ пахш мекунем ва фармонро интихоб мекунем Арзишҳоро истихроҷ кунед (Арзишҳоро истихроҷ кунед)барои баровардани штампҳо бо ҳар гуна аломати ҷудокунандаи шумо:

    Ҷустуҷӯи калимаҳои калидӣ дар матн

  9. Хориҷ кардани сутуни нолозим Cохта шуд.
  10. Барои ба ҷадвали натиҷавӣ илова кардани қисмҳои аз он нопадидшуда, ки дар тавсиф ягон бренд пайдо нашудаанд, мо тартиби муттаҳидсозии дархостро иҷро мекунем. Натиҷаи бо дархости аслӣ Қисмҳои эҳтиётӣ тугма Якҷоя кунед ҷадвали хона (Хона - Якҷоя кардани дархостҳо). Навъи пайвастшавӣ - Пайвастшавӣ берунӣ рост (Пайвастшавии берунии рост):

    Ҷустуҷӯи калимаҳои калидӣ дар матн

  11. Танҳо ин нест кардани сутунҳои иловагӣ ва иваз кардани номи сутунҳои боқимонда аст - ва вазифаи мо ҳал карда мешавад:

    Ҷустуҷӯи калимаҳои калидӣ дар матн

Усули 2. Формулаҳо

Агар шумо версияи Excel 2016 ё дертар дошта бошед, пас мушкилоти моро бо истифода аз функсияи нав метавон ба таври хеле зич ва шево ҳал кард КОМБАЙН (TEXTJOIN):

Ҷустуҷӯи калимаҳои калидӣ дар матн

Мантиқи ин формула оддӣ аст:

  • функсия ҶУСТУҶӮИ (ЁФТА) пайдоиши ҳар як брендро бо навбат дар тавсифи ҷории қисм ҷустуҷӯ мекунад ва ё рақами силсилавии рамзро, ки аз он бренд пайдо шудааст ё хатои #VALUE! агар бренд дар тавсиф набошад.
  • Сипас, функсияро истифода баред IF (АГАР) и ЕОШИБКА (ХАТО) мо хатогиҳоро бо сатри матнии холӣ “”, ва рақамҳои тартибии аломатҳоро бо худи номҳои бренд иваз мекунем.
  • Массиви натиҷавии ҳуҷайраҳои холӣ ва брендҳои пайдошуда бо истифода аз функсия ба як сатри ягона тавассути аломати ҷудокунандаи додашуда ҷамъ карда мешавад. КОМБАЙН (TEXTJOIN).

Муқоисаи иҷроиш ва буферии дархости пурсиш барои суръат

Барои санҷиши самаранокӣ, биёед ҷадвали 100 тавсифи қисмҳои эҳтиётиро ҳамчун маълумоти ибтидоӣ гирем. Дар бораи он мо натиҷаҳои зеринро ба даст меорем:

  • Вақти аз нав ҳисоб кардани формулаҳо (Усули 2) – 9 сония. вақте ки шумо аввал формуларо ба тамоми сутун нусхабардорӣ мекунед ва 2 сония. дар такрор (эҳтимолан буферӣ таъсир мерасонад).
  • Вақти навсозии дархости Power Query (Усули 1) хеле бадтар аст - 110 сония.

Албатта, бисёр чиз аз сахтафзори компютери мушаххас ва версияи насбшудаи Office ва навсозиҳо вобаста аст, аммо манзараи умумӣ, ман фикр мекунам, равшан аст.

Барои суръат бахшидан ба дархости Power Query, биёед ҷадвали ҷустуҷӯро буфер кунем Пӯшед, зеро он дар раванди иҷрои дархостҳо тағир намеёбад ва пайваста аз нав ҳисоб кардани он шарт нест (чунон ки Power Query де-факто мекунад). Барои ин мо функсияро истифода мебарем Ҷадвал. Буфер аз забони дарунсохташудаи Power Query М.

Барои ин кор, дархост кушоед Натиҷаҳо ва дар лавҳа Шарҳи кнопкаро пахш кунед Муҳаррири пешрафта (Намоиш — Муҳаррири пешрафта). Дар равзанаи кушодашуда сатрро бо тағирёбандаи нав илова кунед Марки 2, ки версияи буферии феҳристи автомобилсозии мо хоҳад буд ва ин тағирёбандаи навро дертар дар фармони дархости зерин истифода баред:

Ҷустуҷӯи калимаҳои калидӣ дар матн

Пас аз чунин такмил, суръати навсозии дархости мо тақрибан 7 маротиба - то 15 сония меафзояд. Чизи тамоман дигар 🙂

  • Ҷустуҷӯи матни номуайян дар Power Query
  • Иваз кардани матни оммавӣ бо формулаҳо
  • Ивазкунии матни оммавӣ дар Power Query бо функсияи List.Accumate

Дин ва мазҳаб