Სარჩევი
გაკვეთილი განმარტავს, თუ როგორ გავხადოთ Excel VLOOKUP რეგისტრისადმი მგრძნობიარე, აჩვენებს რამდენიმე სხვა ფორმულას, რომლებიც განასხვავებენ ტექსტის ასოებს და მიუთითებს თითოეული ფუნქციის ძლიერ და შეზღუდულ მხარეებზე.
ვვარაუდობ, რომ ყველა Excel-ის მომხმარებელმა იცის რა ფუნქცია ასრულებს ვერტიკალურ ძიებას Excel-ში. მართალია, ეს არის VLOOKUP. თუმცა, ძალიან ცოტამ იცის, რომ Excel-ის VLOOKUP არ არის რეგისტრირებული, რაც იმას ნიშნავს, რომ იგი განიხილავს მცირე და დიდ ასოებს, როგორც ერთსა და იმავე სიმბოლოებს.
აქ არის სწრაფი მაგალითი, რომელიც აჩვენებს VLOOKUP-ის უუნარობას განასხვავოს ტექსტი. დავუშვათ, თუ გაქვთ „ბილი“ A2 უჯრედში და „ბილი“ A4-ში. ქვემოთ მოყვანილი ფორმულა დაიჭერს "ანგარიშს", რადგან ის პირველად მოდის საძიებო მასივში და აბრუნებს შესატყვის მნიშვნელობას B2-დან.
=VLOOKUP("Bill", A2:B4, 2, FALSE)
შემდეგ ამ სტატიაში, მე გაჩვენებთ გზას, რათა VLOOKUP გახადოთ რეგისტრისადმი მგრძნობიარე. ჩვენ ასევე შევისწავლით რამდენიმე სხვა ფუნქციას, რომელსაც შეუძლია Excel-ში რეგისტრირებული ასოების დამთხვევა.
შემთხვევისადმი მგრძნობიარე VLOOKUP ფორმულა
როგორც ზემოთ აღინიშნა, ჩვეულებრივი VLOOKUP ფორმულა არ ცნობს ასოს საქმეს. თუმცა, არსებობს გზა, რათა Excel VLOOKUP-ის რეესტრისადმი მგრძნობიარე გახდეს, როგორც ეს ნაჩვენებია ქვემოთ მოცემულ მაგალითში.
დავუშვათ, რომ თქვენ გაქვთ საგნის ID-ები A სვეტში და გსურთ გამოიყვანოთ პროდუქტის ფასი და კომენტარი. B და C სვეტებიდან. პრობლემა ის არის, რომ ID-ები მოიცავს როგორც მცირე, ასევე დიდ ასოებს. მაგალითად, A4 (001Tvci3u) და A5 (001Tvci3U) მნიშვნელობები განსხვავდება მხოლოდბოლო სიმბოლო, "u" და "U", შესაბამისად.
როდესაც ვეძებთ "001Tvci3 U ", სტანდარტული VLOOKUP ფორმულა გამოსცემს $90, რომელიც ასოცირდება "001Tvci3 u-სთან". ", რადგან საძიებო მასივში ის მოდის წინ "001Tvci3 U ". მაგრამ ეს არ არის ის, რაც თქვენ გინდათ, არა?
=VLOOKUP(F2, A2:C7, 2, FALSE)
Excel-ში რეგისტრის მგრძნობიარე საძიებლად, ჩვენ ვაერთებთ VLOOKUP, CHOOSE და EXACT ფუნქციები:
VLOOKUP(TRUE, CHOOSE({1,2}, EXACT( lookup_value, lookup_array), return_array), 2, 0)ეს ზოგადი ფორმულა იდეალურად მუშაობს ყველა სიტუაციაში. თქვენ შეგიძლიათ მოძებნოთ მარჯვნიდან მარცხნივ , რასაც ჩვეულებრივი VLOOKUP ფორმულა ვერ ახერხებს. მადლობა პურიას ამ მარტივი და ელეგანტური გადაწყვეტის შემოთავაზებისთვის!
ჩვენს შემთხვევაში, რეალური ფორმულები შემდეგნაირად გამოიყურება.
ფასის დასაწევად F3-ში:
=VLOOKUP(TRUE, CHOOSE({1,2}, EXACT(F2, A2:A7), B2:B7), 2, FALSE)
F4 კომენტარის მისაღებად:
=VLOOKUP(TRUE, CHOOSE({1,2}, EXACT(F2, A2:A7), C2:C7), 2, FALSE)
შენიშვნა. Excel 365-ის გარდა Excel-ის ყველა ვერსიაში, ეს მუშაობს მხოლოდ მასივის ფორმულის სახით, ამიტომ არ უნდა დაგვავიწყდეს, რომ დააჭიროთ Ctrl + Shift + Enter, რომ სწორად შეავსოთ. Excel 365-ში, დინამიური მასივების მხარდაჭერის გამო, ის ასევე მუშაობს როგორც ჩვეულებრივი ფორმულა.
როგორ მუშაობს ეს ფორმულა:
ძირითადი ნაწილი, რომელიც ხრიკს ასრულებს, არის CHOOSE ფორმულა ჩადგმული EXACT:
CHOOSE({1,2}, EXACT(F2, A2:A7), C2:C7)
აქ, EXACT ფუნქცია ადარებს მნიშვნელობას F2-ში A2:A7-ის თითოეულ მნიშვნელობასთან და აბრუნებს TRUE-ს, თუ ისინი ზუსტად იგივეა, ასოს რეგისტრის ჩათვლით,FALSE წინააღმდეგ შემთხვევაში:
{FALSE;FALSE;FALSE;TRUE;FALSE;FALSE}
CHOOSE-ის index_num არგუმენტისთვის ვიყენებთ მასივის მუდმივას {1,2}. შედეგად, ფუნქცია აერთიანებს ლოგიკურ მნიშვნელობებს ზემოაღნიშნული მასივიდან და მნიშვნელობებს C2:C7-დან ორგანზომილებიან მასივში შემდეგნაირად:
{FALSE,155;FALSE,186;FALSE,90;TRUE,54;FALSE,159;FALSE,28}
VLOOKUP ფუნქცია იღებს მას იქიდან. და ეძებს საძიებო მნიშვნელობას (რომელიც არის TRUE) 2-განზომილებიანი მასივის 1-ელ სვეტში (გამოსახული ლოგიკური მნიშვნელობებით) და აბრუნებს შესაბამისობას მე-2 სვეტიდან, რაც არის ფასი, რომელსაც ჩვენ ვეძებთ:
VLOOKUP(TRUE, {FALSE,155;FALSE,186;FALSE,90;TRUE,54;FALSE,159;FALSE,28}, 2, 0)
ქეისების მგრძნობიარე XLOOKUP ფორმულა
Microsoft 365-ის აბონენტებს შეუძლიათ გააკეთონ რეგისტრის მგრძნობიარე ძიება Excel-ში კიდევ უფრო მარტივი ფორმულით. როგორც მიხვდით, მე ვსაუბრობ VLOOKUP-ის უფრო მძლავრ მემკვიდრეზე - XLOOKUP ფუნქციაზე.
რადგან XLOOKUP მუშაობს საძიებო და დაბრუნების მასივების ცალ-ცალკე, ჩვენ არ გვჭირდება ორგანზომილებიანი მასივის ხრიკი წინადან. მაგალითი. უბრალოდ, გამოიყენეთ EXACT ძიების_მასივი არგუმენტისთვის:
ბოლო არგუმენტი ("ვერ მოიძებნა") არჩევითია. ის უბრალოდ განსაზღვრავს რა მნიშვნელობა უნდა დააბრუნოს, თუ შესატყვისი არ არის ნაპოვნი. თუ მას გამოტოვებთ, მაშინ სტანდარტული #N/A შეცდომა დაბრუნდება იმ შემთხვევაში, თუ ფორმულა ვერაფერს აღმოაჩენს.
ჩვენი ნიმუშის ცხრილისთვის, ეს არის რეგისტრის მგრძნობიარე XLOOKUP ფორმულები გამოსაყენებლად.
ფასის მისაღებად F3-ში:
=XLOOKUP(TRUE, EXACT(F2, A2:A7), B2:B7, "Not found")
ამოიღოთკომენტარი F4:
=XLOOKUP(TRUE, EXACT(F2, A2:A7), C2:C7, "Not found")
როგორ მუშაობს ეს ფორმულა:
როგორც წინა მაგალითში, EXACT აბრუნებს TRUE და FALSE მნიშვნელობების მასივი, სადაც TRUE წარმოადგენს რეგისტრის მგრძნობიარე დამთხვევებს. XLOOKUP ეძებს ზემოთ მასივში TRUE მნიშვნელობას და აბრუნებს შესატყვისს return_array -დან. გთხოვთ, გაითვალისწინოთ, თუ საძიებო სვეტში ორი ან მეტი ზუსტად იგივე მნიშვნელობაა (ასოების ჩათვლით), ფორმულა დააბრუნებს პირველ ნაპოვნი შესატყვისს.
XLOOKUP შეზღუდვა : ხელმისაწვდომია მხოლოდ Excel 365-ში და Excel 2021-ში.
SUMPRODUCT - რეგისტრის მგრძნობიარე ძიება შესატყვისი ნომრების დასაბრუნებლად
როგორც სათაურიდან გესმით, SUMPRODUCT არის კიდევ ერთი Excel ფუნქცია, რომელსაც შეუძლია შეასრულოს რეგისტრის მგრძნობიარე ძიება , მაგრამ მას შეუძლია დააბრუნოს მხოლოდ ციფრული მნიშვნელობები . თუ ეს არ არის თქვენი შემთხვევა, გადადით INDEX MATCH-ის მაგალითზე, რომელიც იძლევა გადაწყვეტას ყველა ტიპის მონაცემისთვის.
როგორც ალბათ იცით, Excel-ის SUMPRODUCT ამრავლებს კომპონენტებს მითითებულ მასივებში და აბრუნებს პროდუქტების ჯამს. ვინაიდან ჩვენ გვსურს რეესტრის სენსიტიური ძიება, ვიყენებთ EXACT ფუნქციას პირველი მასივის მისაღებად:
=SUMPRODUCT((EXACT(A2:A7,F2) * (B2:B7)))
სამწუხაროდ, SUMPRODUCT ფუნქცია ვერ დააბრუნებს ტექსტის შესაბამისობას, რადგან ტექსტის მნიშვნელობების გამრავლება შეუძლებელია. ამ შემთხვევაში თქვენ მიიღებთ #VALUE-ს! შეცდომა, როგორც F4 უჯრედში ქვემოთ მოცემულ ეკრანის სურათზე:
როგორ მუშაობს ეს ფორმულა:
როგორც VLOOKUP მაგალითში, EXACT ფუნქციის შემოწმებამნიშვნელობა F2-ში A2:A7-ის ყველა მნიშვნელობის წინააღმდეგ და აბრუნებს TRUE-ს რეგისტრის მგრძნობიარე შესატყვისებისთვის, FALSE წინააღმდეგ შემთხვევაში:
SUMPRODUCT(({FALSE;FALSE;FALSE;TRUE;FALSE;FALSE}*{155;186;90;54;159;28}))
უმრავლეს ფორმულებში Excel აფასებს TRUE-ს 1-მდე და FALSE-ს 0-მდე ასე რომ, როდესაც SUMPRODUCT ამრავლებს ორი მასივის ელემენტებს ერთსა და იმავე პოზიციებზე, ყველა შეუსაბამო (FALSE) ხდება ნული:
SUMPRODUCT({0;0;0;54;0;0})
შედეგად, ფორმულა აბრუნებს რიცხვს სვეტი B, რომელიც შეესაბამება A სვეტის ზუსტ დამთხვევას.
SUMPRODUCT შეზღუდვა : შეუძლია დააბრუნოს მხოლოდ რიცხვითი მნიშვნელობები.
INDEX MATCH - რეგისტრის მგრძნობიარე ძიება ყველა ტიპის მონაცემი
ბოლოს, ჩვენ ახლოს ვართ შეზღუდვების გარეშე, რეესტრისადმი მგრძნობიარე საძიებო ფორმულის მიღებასთან, რომელიც მუშაობს Excel-ის ყველა ვერსიაში და მონაცემთა ყველა ნაკრებზე.
ეს მაგალითი ბოლოა არა მხოლოდ იმიტომ, რომ საუკეთესო ინახება ბოლოსთვის, მაგრამ ასევე იმის გამო, რომ წინა მაგალითებში მიღებული ცოდნა დაგეხმარებათ უკეთ გაიგოთ MATCH INDEX ფორმულისადმი მგრძნობიარე ფორმულა.
ხშირად გამოიყენება INDEX და MATCH ფუნქციების კომბინაცია. მაგ cel, როგორც VLOOKUP-ის უფრო მოქნილი და მრავალმხრივი ალტერნატივა. შემდეგი სტატია კარგ საქმეს აკეთებს (იმედია :) განმარტავს, თუ როგორ მუშაობს ეს ორი ფუნქცია ერთად - VLOOKUP-ის ნაცვლად INDEX MATCH-ის გამოყენება.
აქ, უბრალოდ შეგახსენებთ ძირითად პუნქტებს:
- MATCH ფუნქცია ეძებს საძიებო მნიშვნელობას მითითებულ საძიებო მასივში და აბრუნებს მის ფარდობით პოზიციას.
- ნათესავისაძიებო მნიშვნელობის პოზიცია პირდაპირ მიდის INDEX ფუნქციის row_num არგუმენტზე, რომელიც ავალებს მას დააბრუნოს მნიშვნელობა ამ მწკრივიდან.
იმისთვის, რომ ფორმულამ ამოიცნოს ტექსტის ასოები, თქვენ უბრალოდ უნდა დაამატოთ კიდევ ერთი ფუნქცია კლასიკურ INDEX MATCH კომბინაციას. ცხადია, ხელახლა გჭირდებათ EXACT ფუნქცია:
INDEX( return_array , MATCH(TRUE, EXACT( lookup_value , lookup_array ), 0))F3-ში რეალური ფორმულა არის:
=INDEX(B2:B7, MATCH(TRUE, EXACT(A2:A7, F2), 0))
F4-ში ჩვენ ვიყენებთ ამას:
=INDEX(C2:C7, MATCH(TRUE, EXACT(A2:A7, F2), 0))
გთხოვთ გახსოვდეთ, რომ ის მუშაობს მხოლოდ როგორც მასივის ფორმულა ყველა ვერსიაში, გარდა Excel 365-ისა, ამიტომ დარწმუნდით, რომ შეიყვანეთ იგი Ctrl + Shift + Enter კლავიშების ერთად დაჭერით. თუ სწორად გაკეთდა, ფორმულა ჩასმული იქნება ხვეული ბრეკეტებში, როგორც ნაჩვენებია ქვემოთ მოცემულ ეკრანის სურათზე:
როგორ მუშაობს ეს ფორმულა:
როგორც ყველა წინა მაგალითში, EXACT აბრუნებს TRUE-ს A2:A7-ის თითოეული მნიშვნელობისთვის, რომელიც ზუსტად ემთხვევა F2-ის მნიშვნელობას. ვინაიდან ჩვენ ვიყენებთ TRUE-ს MATCH-ის lookup_value -ისთვის, ის აბრუნებს ზუსტი რეესტრის მგრძნობიარე შესატყვისის შედარებით პოზიციას, რაც არის ზუსტად ის, რაც INDEX-ს სჭირდება შესატყვისის დასაბრუნებლად B2:B7-დან.
გაფართოებული ასოებისადმი მგრძნობიარე საძიებო ფორმულა
ზემოხსენებული INDEX MATCH ფორმულა იდეალურად გამოიყურება, არა? მაგრამ სინამდვილეში ეს ასე არ არის. ნება მომეცით გაჩვენოთ, რატომ.
ვთქვათ, საძიებო მნიშვნელობის შესაბამისი დაბრუნების სვეტის უჯრედი ცარიელია. რას დააბრუნებს ფორმულა? არაფერი.და ახლა, ვნახოთ, რას აბრუნებს ის სინამდვილეში:
=INDEX(C2:C7, MATCH(TRUE, EXACT(A2:A7, F2), 0))
აჰ, ფორმულა აბრუნებს ნულს! შესაძლოა, ეს ნამდვილად არ არის მნიშვნელოვანი, როდესაც საქმე ეხება მხოლოდ ტექსტის მნიშვნელობებს. თუმცა, თუ თქვენი სამუშაო ფურცელი შეიცავს რიცხვებს და ზოგიერთი მათგანი რეალური ნულებია, ეს პრობლემაა.
სინამდვილეში, ადრე განხილული ყველა სხვა საძიებო ფორმულა ერთნაირად იქცევა. მაგრამ ახლა თქვენ გინდათ უნაკლო ფორმულა, არა?
იმისთვის, რომ რეგისტრირებული INDEX MATCH ფორმულა აბსოლუტურად სრულყოფილი იყოს, თქვენ ახვევთ მას IF ფუნქციაში, რომელიც ამოწმებს, არის თუ არა დაბრუნების უჯრედი ცარიელი და არაფერს აბრუნებს ამ შემთხვევაში:
=IF(INDIRECT("C"&(1+MATCH(TRUE,EXACT(A2:A7, F2), 0)))"", INDEX(C2:C7, MATCH(TRUE, EXACT(A2:A7, F2), 0)), "")
ზემოთ ფორმულაში:
- „C“ არის დაბრუნების სვეტი.
- „1“ არის რიცხვი. რომელიც აქცევს MATCH ფუნქციით დაბრუნებული უჯრედის შეფარდებით პოზიციას რეალურ უჯრედის მისამართად .
მაგალითად, საძიებო მასივი ჩვენს MATCH ფუნქციაში. არის A2:A7, რაც ნიშნავს A2 უჯრედის ფარდობითი პოზიცია არის "1", რადგან ეს არის მასივის პირველი უჯრედი. მაგრამ სინამდვილეში, საძიებო მასივი იწყება მე-2 მწკრივში. განსხვავების კომპენსაციის მიზნით, ჩვენ ვამატებთ 1-ს, ასე რომ, INDIRECT ფუნქცია დააბრუნებს მნიშვნელობას მარჯვენა უჯრედიდან.
ქვემოთ მოცემული ეკრანის ანაბეჭდები ასახავს გაუმჯობესებულ რეგისტრის მგრძნობიარე INDEX-ს. MATCH ფორმულა მოქმედებაში.
თუ დაბრუნებული უჯრედი ცარიელია, ფორმულა არაფერს გამოსცემს (ცარიელ სტრიქონს):
თუ დაბრუნებული უჯრედი შეიცავს ნულს ფორმულა აბრუნებს 0:
თუ გნებავთაჩვენეთ შეტყობინება, როდესაც დაბრუნების უჯრედი ცარიელია, შეცვალეთ ცარიელი სტრიქონი ("") IF-ის ბოლო არგუმენტში ტექსტით:
=IF(INDIRECT("C"&(1+MATCH(TRUE, EXACT(A2:A7, F2), 0)))"", INDEX(C2:C7, MATCH(TRUE, EXACT(A2:A7, F2), 0)), "There is nothing to return, sorry.")
შეასრულეთ რეგისტრირებული VLOOKUP მარტივი გზით
ჩვენი Ultimate Suite Excel-ის მომხმარებლებს აქვთ სპეციალური ხელსაწყო, რომელიც აადვილებს დიდ და რთულ ცხრილებში ძიებას და სტრესის გარეშე. ყველაზე კარგი ის არის, რომ Merge Two Tables-ს აქვს რეგისტრირებული ვარიანტი და ქვემოთ მოყვანილი მაგალითი აჩვენებს მას მოქმედებაში.
დავუშვათ, რომ გსურთ Qty-ის ამოღება. Lookup ცხრილიდან მთავარ ცხრილში, რომელიც ეფუძნება უნიკალური ელემენტის ID-ებს:
რას აკეთებთ არის შერწყმის ცხრილების გაშვება ოსტატი და შეასრულეთ შემდეგი ნაბიჯები:
- აირჩიეთ მთავარი ცხრილი, რომელშიც უნდა გაიტანოთ ახალი მონაცემები.
- აირჩიეთ საძიებო ცხრილი, სადაც უნდა მოძებნოთ ახალი მონაცემები.
- აირჩიეთ ერთი ან მეტი საკვანძო სვეტი (ჩვენს შემთხვევაში ელემენტის ID). და დარწმუნდით, რომ მონიშნეთ შემთხვევისადმი მგრძნობიარე შესატყვისი ველი.
ერთ წამში თქვენ მიიღებთ სასურველ შედეგს :)
ასე უნდა მოძებნოთ Excel-ში ტექსტის ქეისის გათვალისწინებით. მადლობას გიხდით, რომ კითხულობთ და იმედი მაქვს, რომ მომავალ კვირას შეგხვდებით ჩვენს ბლოგზე!
სავარჯიშო სამუშაო წიგნი ჩამოსატვირთად
შემთხვევით მგრძნობიარე VLOOKUP მაგალითები (ფაილი .xlsx)