ბოლო სიტყვა

მარტივი, ერთი შეხედვით, პრობლემა არა აშკარა გადაწყვეტით: ამოიღეთ ბოლო სიტყვა ტექსტის სტრიქონიდან. კარგად, ან, ზოგადად, ბოლო ფრაგმენტი, გამოყოფილი მოცემული გამიჯვნის სიმბოლოთი (სივრცე, მძიმე და ა. მოცემული სიმბოლო და შემდეგ ამოიღეთ ყველა სიმბოლო მისგან მარჯვნივ.

მოდით შევხედოთ ტრადიციულად არჩევის რამდენიმე გზას: ფორმულები, მაკროები და Power Query-ის მეშვეობით.

მეთოდი 1. ფორმულები

ფორმულის არსის და მექანიკის გასაადვილებლად, ცოტა შორიდან დავიწყოთ. პირველ რიგში, მოდით გავზარდოთ სიტყვებს შორის ინტერვალი ჩვენს საწყის ტექსტში, მაგალითად, 20 ცალამდე. ამის გაკეთება შეგიძლიათ ჩანაცვლების ფუნქციით. შემცვლელი (შემცვლელი) და მოცემული სიმბოლოს N-ჯერ გამეორების ფუნქცია – ხელახლა (REPT):

ბოლო სიტყვა

ახლა ჩვენ ვწყვეტთ 20 სიმბოლოს მიღებული ტექსტის ბოლოდან ფუნქციის გამოყენებით RIGHT (მარჯვნივ):

ბოლო სიტყვა

თბება, არა? რჩება დამატებითი ადგილების ამოღება ფუნქციის გამოყენებით TRIM (TRIM) და პრობლემა მოგვარდება:

ბოლო სიტყვა

ინგლისურ ვერსიაში ჩვენი ფორმულა ასე გამოიყურება:

=TRIM(RIGHT(SUBSTITUTE(A1;» «;REPT(» «;20));20))

ვიმედოვნებ, გასაგებია, რომ პრინციპში არ არის აუცილებელი ზუსტად 20 ინტერვალის ჩასმა - ნებისმიერი რიცხვი გამოდგება, თუ ის აღემატება საწყის ტექსტში ყველაზე გრძელი სიტყვის სიგრძეს.

და თუ საწყისი ტექსტი უნდა დაიყოს არა ინტერვალით, არამედ სხვა გამყოფი სიმბოლოთი (მაგალითად, მძიმით), მაშინ ჩვენი ფორმულა ოდნავ შესწორებული იქნება:

ბოლო სიტყვა

მეთოდი 2. მაკრო ფუნქცია

ტექსტიდან ბოლო სიტყვის ან ფრაგმენტის ამოღების ამოცანა ასევე შეიძლება მოგვარდეს მაკროების გამოყენებით, კერძოდ, Visual Basic-ში საპირისპირო ძიების ფუნქციის ჩაწერა, რომელიც გააკეთებს იმას, რაც ჩვენ გვჭირდება - მოძებნეთ მოცემული ქვესტრიქონი სტრიქონში საპირისპირო მიმართულებით - დასასრული დასაწყისამდე.

დააჭირეთ კლავიატურის მალსახმობს Alt+F11 ან ღილაკი Visual Basic tab დეველოპერი (დეველოპერი)მაკრო რედაქტორის გასახსნელად. შემდეგ დაამატეთ ახალი მოდული მენიუს საშუალებით ჩასმა – მოდული და დააკოპირეთ შემდეგი კოდი იქ:

 ფუნქცია LastWord(txt როგორც სტრიქონი, არჩევითი delim როგორც სტრიქონი = " ", სურვილისამებრ n როგორც მთელი რიცხვი = 1) როგორც String arFragments = Split(txt, delim) LastWord = arFragments(UBound(arFragments) - n + 1) ბოლო ფუნქცია  

ახლა შეგიძლიათ შეინახოთ სამუშაო წიგნი (მაკრო ჩართული ფორმატით!) და გამოიყენოთ შექმნილი ფუნქცია შემდეგ სინტაქსში:

= ბოლო სიტყვა (txt ; delim ; n)

სადაც

  • txt - უჯრედი საწყისი ტექსტით
  • დელიმური - გამყოფი სიმბოლო (ნაგულისხმევი - სივრცე)
  • n - რა სიტყვა უნდა ამოიღოთ ბოლოდან (ნაგულისხმევად - პირველი ბოლოდან)

ბოლო სიტყვა

სამომავლოდ წყაროს ტექსტში ნებისმიერი ცვლილების შემთხვევაში, ჩვენი მაკრო ფუნქცია ხელახლა გამოითვლება, როგორც ნებისმიერი სტანდარტული Excel ფურცლის ფუნქცია.

მეთოდი 3. Power Query

დენის მოთხოვნა არის Microsoft-ის უფასო დანამატი Excel-ში მონაცემების თითქმის ნებისმიერი წყაროდან იმპორტისთვის და შემდეგ გადმოწერილი მონაცემების ნებისმიერ ფორმაში გადაქცევისთვის. ამ დანამატის სიმძლავრე და სიგრილე იმდენად დიდია, რომ მაიკროსოფტმა თავისი ყველა ფუნქცია ნაგულისხმევად ჩასვა Excel 2016-ში. Excel 2010-2013 Power Query-ისთვის შეგიძლიათ უფასოდ ჩამოტვირთოთ აქედან.

ჩვენი ამოცანა, რომ გამოვყოთ ბოლო სიტყვა ან ფრაგმენტი მოცემული გამყოფის მეშვეობით Power Query-ის გამოყენებით, ძალიან მარტივად წყდება.

პირველი, მოდით გადავაქციოთ ჩვენი მონაცემთა ცხრილი ჭკვიან ცხრილად კლავიატურის მალსახმობების გამოყენებით. Ctrl+T ან ბრძანებებს მთავარი – ფორმატირება როგორც ცხრილი (მთავარი - ფორმატირება როგორც ცხრილი):

ბოლო სიტყვა

შემდეგ ჩვენ ვტვირთავთ შექმნილ „ჭკვიან ცხრილს“ Power Query-ში ბრძანების გამოყენებით მაგიდიდან / დიაპაზონიდან (ცხრილიდან / დიაპაზონიდან) tab თარიღი (თუ გაქვთ Excel 2016) ან ჩანართზე დენის მოთხოვნა (თუ გაქვთ Excel 2010-2013):

ბოლო სიტყვა

შეკითხვის რედაქტორის ფანჯარაში, რომელიც იხსნება, ჩანართზე ტრანსფორმაციის (ტრანსფორმა) აირჩიეთ გუნდი Split Column – საზღვრის მიხედვით (სვეტის გაყოფა - დელიმიტერის მიხედვით) და შემდეგ რჩება გამყოფი სიმბოლოს დაყენება და ოფციის არჩევა ყველაზე მარჯვენა განმსაზღვრელირომ ყველა სიტყვა არ ამოჭრა, მხოლოდ ბოლო:

ბოლო სიტყვა

დაწკაპვით OK ბოლო სიტყვა გამოიყოფა ახალ სვეტად. არასაჭირო პირველი სვეტის ამოღება შესაძლებელია მის სათაურზე მაუსის მარჯვენა ღილაკით და არჩევით ამოღება (წაშლა). ასევე შეგიძლიათ ცხრილის სათაურში დარჩენილი სვეტის გადარქმევა.

შედეგების ატვირთვა შესაძლებელია ფურცელზე ბრძანების გამოყენებით მთავარი — დახურვა და ჩატვირთვა — დახურვა და ჩატვირთვა… (მთავარი — დახურვა და ჩატვირთვა — დახურვა და ჩატვირთვა…):

ბოლო სიტყვა

და შედეგად ვიღებთ:

ბოლო სიტყვა

ასე - იაფი და ხალისიანი, ფორმულებისა და მაკროების გარეშე, თითქმის კლავიატურაზე შეხების გარეშე 🙂

თუ ორიგინალური სია მომავალში შეიცვლება, საკმარისი იქნება დააწკაპუნოთ მარჯვენა ღილაკით ან გამოიყენოთ კლავიატურის მალსახმობი Ctrl+Alt+F5 განაახლეთ ჩვენი მოთხოვნა.


  • წებოვანი ტექსტის დაყოფა სვეტებად
  • ტექსტის გარჩევა და გარჩევა რეგულარული გამონათქვამებით
  • ტექსტიდან პირველი სიტყვების ამოღება SUBSTITUTE ფუნქციით

დატოვე პასუხი