VLOOKUP ფუნქციის გაუმჯობესება

შინაარსი

როგორ სწორად შეფუთოთ პარაშუტი?

სარგებელი. გამოცემა 2, შესწორებული.

ვთქვათ, გვაქვს შეკვეთების შემდეგი ცხრილი:

VLOOKUP ფუნქციის გაუმჯობესება

ჩვენ უნდა ვიცოდეთ, მაგალითად, რამდენი იყო ივანოვის მესამე ბრძანება ან როდის შეასრულა პეტროვმა მეორე გარიგება. ჩაშენებულ VLOOKUP ფუნქციას შეუძლია მოძებნოს მხოლოდ გვარის პირველი შემთხვევა ცხრილში და არ დაგვეხმარება. კითხვები, როგორიცაა "ვინ იყო 10256 შეკვეთის მენეჯერი?" ასევე უპასუხოდ დარჩება, ტკ. ჩაშენებულ VLOOKUP-ს არ შეუძლია მნიშვნელობების დაბრუნება საძიებო სვეტიდან მარცხნივ.

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

გახსენით Visual Basic რედაქტორი ALT+F11 დაჭერით ან მენიუდან არჩევით სერვისი – მაკრო – Visual Basic რედაქტორი (ინსტრუმენტები - მაკრო - Visual Basic რედაქტორი), ჩადეთ ახალი მოდული (მენიუ ჩასმა – მოდული) და დააკოპირეთ ამ ფუნქციის ტექსტი იქ:

ფუნქცია VLOOKUP2 (ცხრილი როგორც ვარიანტი, SearchColumnNum სანამ, SearchValue როგორც Variant, _ N სანამ, ResultColumnNum რამდენადაც დიდხანს) Dim i სანამ, iCount მანამ, სანამ აირჩიეთ Case TypeName(Table) Case "Range" For i = 1-დან Table.Rows .Count If Table.Cells(i, SearchColumnNum) = SearchValue შემდეგ iCount = iCount + 1 End If iCount = N მაშინ VLOOKUP2 = Table.Cells(i, ResultColumnNum) გასვლა დასასრულისთვის, თუ შემდეგი i საქმე "Variant()" For i = 1 To UBound(Table) თუ Table (i, SearchColumnNum) = SearchValue შემდეგ iCount = iCount + 1 თუ iCount = N მაშინ VLOOKUP2 = Table(i, ResultColumnNum) გასვლა დასასრულისთვის, თუ შემდეგი i End აირჩიეთ დასრულების ფუნქცია  

დახურეთ Visual Basic რედაქტორი და დაბრუნდით Excel-ში.

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

=VLOOKUP2(ცხრილი; სვეტის_რაოდენობა_სად_ვეძებთ; საძიებელი_მნიშვნელობა; N; სვეტის_ ნომერი_დან_მიღებამდე_მნიშვნელობამდე)

ახლა სტანდარტული ფუნქციის შეზღუდვები არ არის ჩვენთვის დაბრკოლება:

VLOOKUP ფუნქციის გაუმჯობესება

PS განსაკუთრებული მადლობა The_Prist-ს ფუნქციის გასაუმჯობესებლად, რათა დახურულ წიგნებში მოძებნოს.

  • მონაცემთა პოვნა და ჩანაცვლება ერთი ცხრილიდან მეორეში VLOOKUP ფუნქციის გამოყენებით
  • „მარცხნივ VLOOKUP“ INDEX და MATCH ფუნქციების გამოყენებით

 

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