VLOOKUP funksiyasının təkmilləşdirilməsi

Mündəricat

Paraşütü necə düzgün yığmaq olar?

Fayda. Nəşr 2, yenidən işlənmiş.

Deyək ki, aşağıdakı sifariş cədvəlimiz var:

VLOOKUP funksiyasının təkmilləşdirilməsi

Biz bilməliyik ki, məsələn, İvanovun üçüncü sifarişinin məbləği nə qədər olub və ya Petrov ikinci sövdələşməni nə vaxt icra edib. Daxili VLOOKUP funksiyası yalnız cədvəldə soyadın ilk dəfə görünməsini axtara bilər və bizə kömək etməyəcək. “10256 nömrəli sifarişin rəhbəri kim olub?” kimi suallar. də cavabsız qalacaq, tk. daxili VLOOKUP axtarış sütununun solundakı sütunlardan dəyərləri qaytara bilmir.

Bu problemlərin hər ikisi bir vuruşla həll olunur – gəlin təkcə birincini deyil, ümumi halda N-ci hadisəni axtaracaq öz funksiyamızı yazaq. Üstəlik, istənilən sütunda axtarış edə və nəticə çıxara biləcək. Gəlin buna VLOOKUP2 deyək. 

ALT+F11 düymələrini sıxmaqla və ya menyudan seçməklə Visual Basic Redaktorunu açın Xidmət - Makro - Visual Basic Redaktoru (Alətlər — Makro — Visual Basic Redaktoru), yeni modul daxil edin (menyu Daxil et - Modul) və bu funksiyanın mətnini ora köçürün:

VLOOKUP2 funksiyası(Cədvəl Variant kimi, SearchColumnNum Kimi Uzun, AxtarışDəyəri Variant kimi, _ N Kimi Uzun, NəticəColumnNum Kimi Uzun) Dim i Kimi Uzun, iCount Kimi Uzun Seçin Case TypeName(Cədvəl) Case "Range" For i = 1 to Cədvəl.Satırlar .Count Əgər Cədvəl.Cells(i, SearchColumnNum) = SearchValue Sonra iCount = iCount + 1 End Əgər iCount = N olarsa, VLOOKUP2 = Cədvəl.Cells(i, ResultColumnNum) Sona Çıxış Əgər Növbəti i halda "Variant()" = 1 UBound(Cədvəl) Əgər Cədvəl(i, SearchColumnNum) = SearchValue Onda iCount = iCount + 1 Əgər iCount = N O zaman VLOOKUP2 = Cədvəl(i, NəticəSütunNum) Sona Çıxış Əgər Növbəti i Sondursa, Son Funksiyanı Seçin  

Visual Basic redaktorunu bağlayın və Excel-ə qayıdın.

İndi keçdi Daxil et - Funksiya (Daxil et — Funksiya) kateqoriyasında Müəyyən edilmiş istifadəçi (Müəyyən edilmiş istifadəçi) VLOOKUP2 funksiyamızı tapa və ondan istifadə edə bilərsiniz. Funksiya sintaksisi aşağıdakı kimidir:

=VLOOKUP2(cədvəl; axtardığımız_sütun_sayı; axtarış_dəyəri; N; əldə edilən_dəyərdən_sütun_sayı)

İndi standart funksiyanın məhdudiyyətləri bizə mane deyil:

VLOOKUP funksiyasının təkmilləşdirilməsi

PS The_Prist-ə qapalı kitablarda axtarış edə bilməsi üçün funksiyanı təkmilləşdirdiyinə görə xüsusi təşəkkür edirik.

  • VLOOKUP funksiyasından istifadə edərək bir cədvəldən digərinə verilənlərin tapılması və dəyişdirilməsi
  • INDEX və MATCH funksiyalarından istifadə edərək "Sol VLOOKUP"

 

Cavab yaz