Advanced VLOOKUP dina Excel: sababaraha, ganda, nested

  • Bagikeun Ieu
Michael Brown

Conto ieu bakal ngajarkeun anjeun kumaha Vlookup sababaraha kritéria, mulangkeun conto khusus atanapi sadaya patandingan, ngalakukeun Vlookup dinamis dina sababaraha lembar, sareng seueur deui.

Ieu mangrupikeun bagian kadua tina séri anu bakal ngabantosan anjeun ngamangpaatkeun kakuatan Excel VLOOKUP. Conto nunjukkeun yén anjeun terang kumaha fungsi ieu jalan. Lamun henteu, éta alesan pikeun mimitian ku pamakéan dasar VLOOKUP dina Excel.

Saméméh ngaléngkah salajengna, hayu urang sakeudeung ngingetkeun anjeun sintaksis:

VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup] )

Ayeuna sadayana aya dina halaman anu sami, hayu urang tingali langkung seueur conto rumus VLOOKUP canggih:

    Kumaha Vlookup sababaraha kriteria

    The Excel Fungsi VLOOKUP leres-leres ngabantosan nalika milarian dina pangkalan data pikeun nilai anu tangtu. Sanajan kitu, eta lacks hiji fitur penting - sintaksis na ngamungkinkeun pikeun ngan hiji nilai lookup. Tapi kumaha upami anjeun hoyong milarian sababaraha kaayaan? Aya sababaraha solusi anu béda pikeun anjeun pilih.

    Rumus 1. VLOOKUP kalayan dua kriteria

    Anggap anjeun gaduh daptar pesenan sareng hoyong milarian kuantitas dumasar kana 2 kriteria, Ngaran palanggan sareng Produk . Faktor anu nyusahkeun nyaéta unggal palanggan mesen sababaraha produk, sapertos anu dipidangkeun dina tabel di handap ieu:

    Rumus VLOOKUP anu biasa moal jalan dina kaayaan ieu kusabab éta ngabalikeun anu munggaran kapanggih. patandingan dumasar kana awewengkon:

    Saperti dina conto saméméhna, urang mimitian ku nangtukeun sababaraha ngaran:

    • Rentang A2:B5 dina cadar CA ngaranna CA_Sales .
    • Rentang A2:B5 dina lambar FL dingaranan FL_Sales .
    • Rentang A2:B5 dina lambaran KS dingaranan KS_Sales .

    Sakumaha anjeun tiasa tingali, sadaya rentang anu namina gaduh bagian umum ( Penjualan ) sareng bagian unik ( CA , FL , KS ). Punten pastikeun namikeun rentang anjeun dina cara anu sami sabab penting pisan pikeun rumus anu bakal urang ngawangun.

    Rumus 1. VLOOKUP TEU LANGSUNG pikeun sacara dinamis narik data tina lembar anu béda

    Lamun tugas anjeun nyaéta pikeun meunangkeun data tina sababaraha lambar, rumus VLOOKUP INDIRECT mangrupikeun solusi anu pangsaéna - kompak sareng gampang kaharti.

    Pikeun conto ieu, urang ngatur tabel ringkesan ku cara kieu:

    • Asupkeun produk anu dipikaresep dina A2 sareng A3. Éta mangrupikeun nilai panéangan urang.
    • Asupkeun bagian unik tina rentang anu dingaranan dina B1, C1 sareng D1.

    Sareng ayeuna, urang ngahijikeun sél anu ngandung bagian unik (B1) kalawan bagian umum ("_Sales"), sarta eupan string hasilna kana INDIRECT:

    INDIRECT(B$1&"_Sales")

    Fungsi INDIRECT transforms string kana ngaran nu Excel bisa ngarti, jeung anjeun nempatkeun eta dina argumen table_array VLOOKUP:

    =VLOOKUP($A2, INDIRECT(B$1&"_Sales"), 2, FALSE)

    Rumus di luhur asup ka B2, teras anjeun nyalin ka handap sareng ka katuhu.

    Mangga perhatikeun yén, dina nilai lookup ($A2),kami parantos ngonci koordinat kolom sareng rujukan sél mutlak supados kolom tetep tetep nalika rumus disalin ka katuhu. Dina rujukan B$1, urang ngonci baris sabab urang hayang koordinat kolom robah sarta nyadiakeun bagian ngaran luyu kana INDIRECT gumantung kana kolom dimana rumus ieu disalin:

    Upami tabel utama anjeun diatur béda, nilai lookup sakaligus sareng bagian unik tina nami rentang dina kolom, teras anjeun kedah ngonci koordinat baris dina nilai lookup (B$1) sareng koordinat kolom dina bagian nami. ($A2):

    =VLOOKUP(B$1, INDIRECT($A2&"_Sales"), 2, FALSE)

    Formula 2. VLOOKUP sareng IFs nested pikeun milarian sababaraha lembar

    Dina kaayaan nalika anjeun gaduh ngan dua atawa tilu lambar paneangan, Anjeun bisa make rumus VLOOKUP anu cukup basajan jeung fungsi IF nested pikeun milih lambaran anu bener dumasar kana nilai konci dina sél nu tangtu:

    =VLOOKUP($A2, IF(B$1="CA", CA_Sales, IF(B$1="FL", FL_Sales, IF(B$1="KS", KS_Sales,""))), 2, FALSE)

    Dimana $A2 nyaeta nilai lookup (ngaran item) jeung B$1 nyaeta nilai konci (nagara):

    Dina hal ieu, anjeun teu kudu nangtukeun ngaran jeung bisa ngagunakeun éksternal. rujukan pikeun ngarujuk kana lembar atanapi buku kerja anu sanés.

    Pikeun langkung seueur rumus exa mples, mangga tingali Cara VLOOKUP dina sababaraha lambar dina Excel.

    Kitu-kitu kumaha cara ngagunakeun VLOOKUP dina Excel. Hatur nuhun pikeun maca sareng ngarepkeun anjeun tiasa ningali dina blog urang minggu payun!

    Buku latihan pikeun diunduh

    Conto rumus VLOOKUP canggih (.xlsxfile)

    nilai pilarian tunggal nu Anjeun tangtukeun.

    Pikeun nungkulan ieu, Anjeun bisa nambah kolom helper jeung concatenate nilai tina dua kolom lookup ( Palanggan jeung Produk ) dinya. Kadé kolom helper kedah janten kolom paling kénca dina susunan tabel sabab éta tempat Excel VLOOKUP sok milarian nilai lookup.

    Jadi, tambahkeun kolom ka kénca anjeun. tabél tur salin rumus di handap sakuliah kolom éta. Ieu bakal ngeusian kolom pembantu kalayan nilai-nilai ti kolom B sareng C (karakter rohangan dihijikeun di antara pikeun kabacaan anu langkung saé):

    =B2&" "&C2

    Terus, nganggo rumus VLOOKUP standar sareng tempatna. duanana kriteria dina argumen lookup_value , dipisahkeun ku spasi:

    =VLOOKUP("Jeremy Sweets", A2:D11, 4, FALSE)

    Atawa, input kriteria dina sél misah (G1 jeung G2 bisi urang) jeung concatenate eta sél:

    =VLOOKUP(G1&" "&G2, A2:D11, 4, FALSE)

    Salaku urang hayang mulangkeun nilai tina kolom D, nu kaopat dina susunan tabel, urang make 4 pikeun col_index_num . Argumen range_lookup disetel ka FALSE pikeun Vlookup hiji patandingan pasti. Potret layar di handap nembongkeun hasil:

    Upami tabel panggihan anjeun aya dina lambar sanés , lebetkeun nami lambaranana dina rumus VLOOKUP anjeun. Contona:

    =VLOOKUP(G1&" "&G2, Orders!A2:D11, 4, FALSE)

    Alternatipna, jieun rentang ngaranna pikeun tabel panéangan (sebutkeun, Pesenan ) sangkan rumusna leuwih gampang dibaca:

    =VLOOKUP(G1&" "&G2, Orders, 4, FALSE)

    Pikeun inpormasi lengkep, mangga tingali KumahaVlookup tina lambar séjén dina Excel.

    Catetan. Pikeun rumus jalan leres, nilai dina kolom helper kudu concatenated persis cara nu sarua sakumaha dina lookup_value argumen. Contona, urang ngagunakeun karakter spasi pikeun misahkeun kriteria dina kolom helper (B2 & amp; "" & C2) jeung rumus VLOOKUP (G1 & amp;" "& G2).

    Rumus 2. Excel VLOOKUP kalawan sababaraha kaayaan

    Sacara tiori, anjeun tiasa nganggo pendekatan di luhur pikeun Vlookup leuwih ti dua kriteria. Sanajan kitu, aya sababaraha caveats. Kahiji, nilai lookup diwatesan nepi ka 255 karakter, jeung kadua, desain lembar kerja bisa jadi teu ngidinan nambahkeun kolom helper.

    Untungna, Microsoft Excel mindeng nyadiakeun leuwih ti hiji cara pikeun ngalakukeun hal nu sarua. Pikeun Vlookup sababaraha kriteria, anjeun tiasa nganggo kombinasi INDEX MATCH atanapi pungsi XLOOKUP anu nembe diwanohkeun dina Office 365.

    Contona, pikeun milarian dumasar kana 3 nilai anu béda ( Tanggal , Ngaran palanggan sareng Produk ), nganggo salah sahiji rumus ieu:

    =INDEX(D2:D11, MATCH(1, (G1=A2:A11) * (G2=B2:B11) * (G3=C2:C11), 0))

    =XLOOKUP(1, (G1=A2:A11) * (G2=B2:B11) * (G3=C2:C11), D2:D11)

    Dimana:

    • G1 nyaeta kriteria 1 (tanggal)
    • G2 nyaeta kriteria 2 (ngaran konsumén)
    • G3 nyaeta kriteria 3 (produk)
    • A2:A11 nyaeta lookup rentang 1 (tanggal)
    • B2:B11 nyaeta rentang lookup 2 (ngaran konsumén)
    • C2:C11 nyaeta rentang lookup 3 (produk)
    • D2:D11 nyaeta balik rentang (kuantitas)

    Catetan. Dina sagala vérsi iwal Excel 365, INDEXMATCH kudu diasupkeun salaku rumus Asép Sunandar Sunarya CSE ku mencét Ctrl + Shift + Lebetkeun. Dina Excel 365 anu ngadukung arrays dinamis ogé tiasa dianggo salaku rumus biasa.

    Pikeun katerangan lengkep ngeunaan rumus, mangga tingali:

    • XLOOKUP kalawan sababaraha kritéria
    • Rumus MATCH INDEKS kalawan sababaraha kritéria

    Kumaha carana make VLOOKUP pikeun meunangkeun 2nd, 3rd atawa nth match

    Sakumaha anjeun geus nyaho, Excel VLOOKUP bisa dipulut ngan hiji nilai cocog, leuwih tepat, eta mulih kahiji kapanggih cocog. Tapi kumaha upami aya sababaraha patandingan dina susunan lookup anjeun sareng anjeun hoyong kéngingkeun conto ka-2 atanapi ka-3? Tugasna sigana rada rumit, tapi solusina aya!

    Formula 1. Vlookup Nth instance

    Anggap anjeun gaduh nami palanggan dina hiji kolom, produk anu aranjeunna mésér dina kolom anu sanés, sareng anjeun milarian pikeun manggihan produk 2nd atawa 3rd dibeuli ku customer dibikeun.

    Cara pangbasajanna pikeun nambahkeun kolom helper ka kénca tabel kawas urang dina conto munggaran. Tapi kali ieu, urang bakal populate eta kalawan ngaran konsumén jeung nomer kajadian kawas " John Doe1 ", " John Doe2 ", jsb.

    Pikeun meunangkeun kajadian, ngagunakeun fungsi COUNTIF kalawan rujukan rentang campuran (nu rujukan kahiji mutlak tur kadua relatif kawas $ B $ 2: B2). Kusabab rujukan relatif robah dumasar kana posisi sél dimana rumus ieu disalin, baris 3 bakal jadi $B$2:B3, dina baris 4 -$B$2:B4, jeung saterusna.

    Dihijikeun jeung ngaran palanggan (B2), rumusna kieu:

    =B2&COUNTIF($B$2:B2, B2)

    Rumus di luhur asup ka A2 , lajeng anjeun nyalin ka saloba sél sakumaha diperlukeun.

    Sanggeus éta, asupkeun ngaran targét jeung nomer kajadian dina sél misah (F1 jeung F2), sarta ngagunakeun rumus di handap pikeun Vlookup kajadian husus:

    =VLOOKUP(F1&F2, A2:C11, 3, FALSE)

    Formula 2. Vlookup kajadian ka-2

    Upami anjeun milari instance ka-2 tina nilai lookup, anjeun tiasa ngalakukeun tanpa kolom nulungan. Gantina, jieun tabel Asép Sunandar Sunarya dinamis ku ngagunakeun fungsi INDIRECT babarengan jeung MATCH:

    =VLOOKUP(E1, INDIRECT("A"&(MATCH(E1, A2:A11, 0)+2)&":B11"), 2, FALSE)

    Dimana:

    • E1 mangrupa nilai lookup
    • A2:A11 mangrupa rentang pilarian
    • B11 mangrupa sél panungtungan (handap-katuhu) tina tabel lookup

    Perhatikeun yén rumus di luhur ditulis pikeun pasualan husus dimana sél data dina tabel lookup dimimitian dina baris 2. Lamun méja anjeun aya wae di tengah lambar, make rumus universal ieu, dimana A1 nyaéta sél luhur-kénca tabel lookup ngandung. lulugu kolom:

    =VLOOKUP(E1, INDIRECT("A"&(MATCH(E1, A2:A11, 0)+1+ROW(A1))&":B11"), 2, FALSE)

    Kumaha rumus ieu jalan

    Ieu bagian konci rumus anu nyiptakeun rentang vlookup dinamis :

    INDIRECT("A"&(MATCH(E1, A2:A11, 0)+2)&":B11")

    Pungsi MATCH dikonpigurasi pikeun cocok pasti (0 dina argumen panungtungan) ngabandingkeun ngaran target (E1) jeung daptar ngaran (A2:A11) jeung mulangkeun posisi kahiji kapanggih. pertandingan, nyaéta 3dina hal urang. Jumlah ieu bade dipaké salaku koordinat baris dimimitian pikeun rentang vlookup, ku kituna urang tambahkeun 2 kana eta (+1 ngaluarkeun conto munggaran tur +1 ngaluarkeun baris 1 kalawan headers kolom). Alternatipna, Anjeun bisa make 1+ROW(A1) keur ngitung adjustment nu diperlukeun sacara otomatis dumasar kana posisi baris lulugu (A1 bisi urang).

    Kusabab hasilna, urang meunang string téks handap, nu INDIRECT ngarobah kana rujukan rentang:

    INDIRECT("A"&5&":B11") -> A5:B11

    Rentang ieu asup ka table_array argumen VLOOKUP maksa eta pikeun ngamimitian neangan di baris 5, ninggalkeun kaluar conto kahiji tina nilai lookup:

    VLOOKUP(E1, A5:B11, 2, FALSE)

    Kumaha cara Vlookup jeung mulangkeun sababaraha nilai dina Excel

    Pungsi Excel VLOOKUP dirancang pikeun mulangkeun ngan hiji patandingan. Aya cara pikeun Vlookup sababaraha instansi? Sumuhun, aya, sanajan teu hiji gampang. Ieu merlukeun pamakean gabungan sababaraha pungsi saperti INDEX, SMALL jeung ROW mangrupa rumus array.

    Contona, di handap ieu bisa manggihan sakabeh kajadian nilai lookup F2 dina rentang lookup B2:B16 jeung mulangkeun sababaraha cocog ti kolom C:

    {=IFERROR(INDEX($C$2:$C$11, SMALL(IF($F$1=$B$2:$B$11, ROW($C$2:$C$11)-1,""), ROW()-1)),"")}

    Aya 2 cara pikeun nuliskeun rumus dina lembar kerja anjeun:

    1. Ketik rumus dina sél kahiji, pencét Ctrl + Shift + Enter , teras sered ka handap ka sababaraha sél deui.
    2. Pilih sababaraha sél anu padeukeut dina hiji kolom (F1:F11 dina screenshot di handap), ketik rumus teras pencét Ctrl +Shift + Enter pikeun ngarengsekeunana.

    Naon bae, jumlah sél dimana anjeun ngasupkeun rumus kudu sarua atawa leuwih badag batan jumlah maksimum nu cocog.

    Pikeun katerangan lengkep ngeunaan logika rumus sareng conto-conto nu sanesna, mangga tingali Kumaha VLOOKUP sababaraha nilai dina Excel.

    Kumaha cara Vlookup dina baris sareng kolom (dua arah lookup)

    Paluruh dua arah (alias Paluruh matriks atawa Paluruh 2 diménsi ) mangrupa kecap anu merenah pikeun néangan hiji nilai dina parapatan baris jeung kolom nu tangtu. Aya sababaraha cara pikeun ngalakukeun pamariksaan dua diménsi dina Excel, tapi kumargi fokus tutorial ieu dina fungsi VLOOKUP, sacara alami urang bakal ngagunakeunana.

    Pikeun conto ieu, urang bakal nyandak ieu di handap. tabel kalawan jualan bulanan jeung nyieun rumus VLOOKUP pikeun meunangkeun angka jualan item husus dina bulan nu tangtu.

    Kalayan ngaran item dina A2:A9, ngaran bulan dina B1:F1, item target dina I1 jeung bulan target dina I2, rumusna kieu:

    =VLOOKUP(I1, A2:F9, MATCH(I2, A1:F1, 0), FALSE)

    Kumaha rumus ieu jalan

    Inti rumus nyaeta fungsi VLOOKUP baku nu neangan hiji patandingan pasti kana nilai lookup di I1. Tapi kumargi urang henteu terang dimana persisna kolom penjualan kanggo sasih khusus, urang henteu tiasa nyayogikeun nomer kolom langsung kana argumen col_index_num . Pikeun milarian kolom éta, kami nganggo MATCH di handap ieufungsi:

    MATCH(I2, A1:F1, 0)

    Ditarjamahkeun kana basa Inggris, rumusna nyebutkeun: tingali nilai I2 dina A1:F1 jeung mulangkeun posisi relatif na dina array. Ku nyadiakeun 0 kana argumen 3rd, anjeun maréntahkeun MATCH pikeun manggihan nilai persis sarua jeung nilai lookup (éta kawas ngagunakeun FALSE pikeun range_lookup argumen VLOOKUP).

    Ti Mar aya dina kolom ka-4 dina array lookup, fungsi MATCH mulihkeun 4, nu langsung asup ka col_index_num argumen VLOOKUP:

    VLOOKUP(I1, A2:F9, 4, FALSE)

    Mangga nengetan yén sanajan ngaran bulan dimimitian dina kolom B, kami nganggo A1: I1 pikeun Asép Sunandar Sunarya lookup. Hal ieu dilakukeun supados nomer anu dipulangkeun ku MATCH cocog sareng posisi kolom dina table_array VLOOKUP.

    Pikeun diajar langkung seueur cara ngalakukeun pamariksaan matriks dina Excel, mangga tingali INDEX MATCH MATCH jeung rumus séjén pikeun lookup 2 diménsi.

    Kumaha cara ngalakukeun sababaraha Vlookup dina Excel (nested Vlookup)

    Kadang-kadang bisa jadi lamun tabel utama anjeun sarta tabel lookup teu boga hiji kolom dina umum, nu nyegah anjeun ngalakukeun Vlookup antara dua tabel. Sanajan kitu, aya tabel sejen, nu teu ngandung inpo nu Anjeun keur pilari tapi boga hiji kolom umum jeung tabel utama jeung kolom umum sejen kalawan tabel lookup.

    Dina gambar di handap ieu ngagambarkeun kaayaan:

    Tujuanana nyalin harga kana tabel utama dumasar kana Item ID . Masalahna nyaeta tabel nu ngandung harga teu boga Item ID , hartina urang kudu ngalakukeun dua Vlookups dina hiji rumus.

    Demi genah, hayu urang nyieun sababaraha dingaranan rentang kahiji:

    • Tabel Pilarian 1 ngaranna Produk (D3:E10)
    • Tabel Pilarian 2 ngaranna Harga ( G3:H10 )

    Tébélna tiasa dina lembar kerja anu sami atanapi béda.

    Sareng ayeuna, urang bakal ngalakukeun anu disebut dobel Vlookup. , alias Vlookup bersarang.

    Kahiji, jieun rumus VLOOKUP pikeun manggihan ngaran produk dina tabel Lookup 1 (ngaranna Produk ) dumasar kana itemna. id (A3):

    =VLOOKUP(A3, Products, 2, FALSE)

    Salajengna, lebetkeun rumus di luhur dina argumen lookup_value fungsi VLOOKUP anu sanés pikeun narik harga tina méja Lookup 2 (ngaranna Harga ) dumasar kana nami produk anu dipulangkeun ku VLOOKUP bersarang:

    =VLOOKUP(VLOOKUP(A3, Products, 2, FALSE), Prices, 2, FALSE)

    Potret layar di handap ieu nunjukkeun rumus Vlookup anu disarangkeun dina aksi:

    Kumaha cara Vlookup sababaraha lembar sacara dinamis

    Kadang, y Anjeun tiasa gaduh data dina format anu sami dibagi kana sababaraha lembar kerja. Sareng tujuan anjeun nyaéta pikeun narik data tina lambaran khusus gumantung kana nilai konci dina sél anu dipasihkeun.

    Ieu tiasa langkung gampang kahartos tina conto. Sebutkeun, anjeun gaduh sababaraha laporan penjualan régional dina format anu sami, sareng anjeun badé kéngingkeun angka penjualan pikeun produk khusus dina sababaraha hal.

    Michael Brown mangrupakeun enthusiast téhnologi dedicated kalawan gairah pikeun nyederhanakeun prosés kompléks ngagunakeun parabot software. Kalayan langkung ti dasawarsa pangalaman dina industri téknologi, anjeunna parantos ngasah kaahlianna dina Microsoft Excel sareng Outlook, ogé Google Sheets sareng Docs. Blog Michael dikhususkeun pikeun ngabagi pangaweruh sareng kaahlianna ka batur, nyayogikeun tip sareng tutorial anu gampang pikeun ningkatkeun produktivitas sareng efisiensi. Naha anjeun profésional berpengalaman atanapi pamula, blog Michael nawiskeun wawasan anu berharga sareng naséhat praktis pikeun ngamangpaatkeun alat parangkat lunak penting ieu.