VLOOKUP Excel-ի բազմաթիվ թերթերում՝ օրինակներով

  • Կիսվել Սա
Michael Brown

Ուսուցումը ցույց է տալիս, թե ինչպես օգտագործել VLOOKUP ֆունկցիան այլ աշխատաթերթից կամ աշխատանքային գրքույկից տվյալները պատճենելու համար, Vlookup-ը բազմաթիվ թերթերում և դինամիկ կերպով փնտրել տարբեր թերթերից արժեքները տարբեր բջիջներ վերադարձնելու համար:

Excel-ում որոշ տեղեկություններ փնտրելիս հազվադեպ է պատահում, երբ բոլոր տվյալները գտնվում են նույն թերթիկում: Ավելի հաճախ, դուք ստիպված կլինեք որոնել բազմաթիվ թերթերում կամ նույնիսկ տարբեր աշխատանքային գրքույկներում: Լավ նորությունն այն է, որ Microsoft Excel-ը տրամադրում է դա անելու մեկից ավելի եղանակներ, իսկ վատ նորությունն այն է, որ բոլոր ուղիները մի փոքր ավելի բարդ են, քան ստանդարտ VLOOKUP բանաձևը: Բայց մի փոքր համբերությամբ մենք կպարզենք դրանք :)

    Ինչպես VLOOKUP անել երկու թերթերի միջև

    Սկզբի համար եկեք ուսումնասիրենք ամենապարզ դեպքը` օգտագործելով VLOOKUP-ը պատճենել տվյալները մեկ այլ աշխատաթերթից: Այն շատ նման է սովորական VLOOKUP բանաձևին, որը որոնում է նույն աշխատաթերթում: Տարբերությունն այն է, որ դուք ներառում եք թերթի անունը table_array արգումենտում, որպեսզի ձեր բանաձևն ասեք, թե որ աշխատաթերթում է գտնվում որոնման տիրույթը:

    Մյուս թերթից VLOOKUP-ի ընդհանուր բանաձևը հետևյալն է.

    VLOOKUP(lookup_value, Teet! 2> թերթ. Դրա համար մենք սահմանում ենք հետևյալ արգումենտները.
    • Որոնման_արժեքները գտնվում են Ամփոփում թերթի A սյունակում, և մենքVLOOKUP:

      VLOOKUP($A2, 'West'!$A$2:$C$6 , 2, FALSE)

      Վերջապես, այս ստանդարտ VLOOKUP բանաձեւը որոնում է A2 արժեքը A2:C6 միջակայքի առաջին սյունակում West թերթում և վերադարձնում է. համընկնում 2-րդ սյունակից: Վերջ:

      Դինամիկ VLOOKUP` բազմաթիվ թերթերից տվյալները տարբեր բջիջներ վերադարձնելու համար

      Նախ, եկեք որոշենք, թե կոնկրետ ինչ է նշանակում «դինամիկ» բառը այս համատեքստում և ինչպես է լինելու այս բանաձևը: տարբերվում են նախորդներից:

      Այն դեպքում, երբ դուք ունեք տվյալների մեծ կտորներ նույն ձևաչափով, որոնք բաժանված են մի քանի աղյուսակների վրա, դուք կարող եք տեղեկատվություն հանել տարբեր թերթերից տարբեր բջիջներում: Ստորև բերված պատկերը ցույց է տալիս հայեցակարգը.

      Ի տարբերություն նախորդ բանաձևերի, որոնք արժեք էին ստանում կոնկրետ թերթից՝ հիմնված եզակի նույնացուցիչի վրա, այս անգամ մենք փորձում ենք արժեքներ հանել մի քանի թերթերից։ ժամանակ:

      Այս առաջադրանքի երկու տարբեր լուծումներ կան: Երկու դեպքում էլ դուք պետք է մի փոքր նախապատրաստական ​​աշխատանք կատարեք և յուրաքանչյուր որոնման թերթում տվյալների բջիջների համար ստեղծեք անվանված միջակայքեր: Այս օրինակի համար մենք սահմանեցինք հետևյալ միջակայքերը.

      • East_Sales - A2:B6 East թերթում
      • North_Sales - A2: B6 հյուսիսային թերթիկում
      • South_Sales - A2:B6 հարավային թերթում
      • West_Sales - A2:B6 արևմտյան թերթում

      VLOOKUP և nested IFs

      Եթե դուք ունեք ողջամիտ թվով թերթեր փնտրելու համար, կարող եք օգտագործել nested IF ֆունկցիաներընախապես սահմանված բջիջներում հիմնաբառերի հիման վրա թերթիկը ընտրելու համար (մեր դեպքում՝ B1-ից մինչև D1 բջիջները):

      A2-ի որոնման արժեքով բանաձևը հետևյալն է.

      =VLOOKUP($A2, IF(B$1="east", East_Sales, IF(B$1="north", North_Sales, IF(B$1="south", South_Sales, IF(B$1="west", West_Sales)))), 2, FALSE)

      Անգլերեն թարգմանված IF մասում ասվում է.

      Եթե B1-ը Արևելք է, ապա նայեք East_Sales անունով տիրույթում; եթե B1-ը Հյուսիսային է , նայեք Հյուսիսային_Վաճառք անունով տիրույթում; եթե B1-ը Հարավ է, նայեք South_Sales անունով տիրույթում; և եթե B1-ը West է, նայեք West_Sales անունով տիրույթում:

      IF-ի վերադարձած միջակայքը գնում է դեպի աղյուսակի_զանգված VLOOKUP-ի, որը ձգում է համապատասխան թերթիկի 2-րդ սյունակից համապատասխան արժեք:

      Խառը հղումների խելացի օգտագործումը որոնման արժեքի համար ($A2 - բացարձակ սյունակ և հարաբերական տող) և IF-ի տրամաբանական թեստը (B$1 - հարաբերական սյունակ): և բացարձակ տող) թույլ է տալիս առանց որևէ փոփոխության պատճենել բանաձևը այլ բջիջներում. Excel-ը ավտոմատ կերպով կարգավորում է հղումները՝ հիմնվելով տողի և սյունակի հարաբերական դիրքի վրա:

      Այսպիսով, մենք մուտքագրում ենք բանաձևը B2-ում, այն ճիշտ պատճենում և իջնել այնքան սյունակ և տող, որքան անհրաժեշտ է, և ստացեք հետևյալ արդյունքը.

      ԱՆՈՒՂՂԱԿԱՆ VLOOKUP

      Բազմաթիվ թերթերի հետ աշխատելիս մի քանի ներդիր մակարդակներ կարող են ձևակերպել նաև բանաձևը: երկար ու դժվար ընթերցվող: Շատ ավելի լավ միջոց է ստեղծել դինամիկ vlookup միջակայք INDIRECT-ի օգնությամբ:

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

      Այստեղ մենք հղումը կապում ենք այն բջիջին, որը պարունակում էանվանված տեսականու եզակի մասը (B1) և ընդհանուր մասը (_Sales): Սա ստեղծում է «East_Sales»-ի նման տեքստային տող, որն INDIRECT-ը վերածում է Excel-ի կողմից հասկանալի տիրույթի անվանման:

      Արդյունքում դուք ստանում եք կոմպակտ բանաձև, որը գեղեցիկ է աշխատում ցանկացած թվով թերթերի վրա.

      Այսպես է Excel-ում թերթերի և ֆայլերի միջև Vlookup-ը: Շնորհակալ եմ կարդալու համար և հուսով եմ, որ հաջորդ շաբաթ կտեսնենք ձեզ մեր բլոգում:

      Զբաղվեք աշխատանքային գրքույկով ներբեռնելու համար

      Vlookup բազմաթիվ թերթերի օրինակներ (.xlsx ֆայլ)

      վերաբերում է առաջին տվյալների բջիջին, որը A2 է:
    • Table_array -ը Jan թերթի A2:B6 միջակայքն է: Անդրադառնալու համար միջակայքի հղումը նախածանց դրեք թերթի անվան հետ, որին հաջորդում է բացականչական կետը՝ Jan!$A$2:$B$6:

      Խնդրում ենք ուշադրություն դարձնել, որ մենք կողպում ենք ընդգրկույթը բջիջների բացարձակ հղումներով, որպեսզի այն չփոխվի բանաձևը այլ բջիջներում պատճենելիս:

      Col_index_num -ը 2 է, քանի որ մենք ուզում ենք պատճենել արժեքը: B սյունակից, որը աղյուսակի զանգվածի 2-րդ սյունակն է:

    • Range_lookup սահմանված է FALSE` ճշգրիտ համընկնում փնտրելու համար:

    Փաստարկները միասին հավաքելով՝ ստանում ենք հետևյալ բանաձևը.

    =VLOOKUP(A2, Jan!$A$2:$B$6, 2, FALSE)

    Քաշեք բանաձևը սյունակի ներքև և կստանաք հետևյալ արդյունքը.

    Ա. Նմանապես, դուք կարող եք փնտրել տվյալները Փետրվար և Մարտ թերթերից՝

    =VLOOKUP(A2, Feb!$A$2:$B$6, 2, FALSE)

    =VLOOKUP(A2, Mar!$A$2:$B$6, 2, FALSE)

    Խորհուրդներ և նշումներ.

    • Եթե թերթի անունը պարունակում է բացատներ կամ ոչ այբբենական նիշ , այն պետք է փակցվի մեկ չակերտների մեջ, օրինակ 'Jan Sales'!$A$2:$B$6 : Լրացուցիչ տեղեկությունների համար տե՛ս Ինչպես հղում կատարել մեկ այլ թերթիկ Excel-ում:
    • Թերթի անունը ուղղակիորեն բանաձևի մեջ մուտքագրելու փոխարեն, կարող եք անցնել որոնման աշխատաթերթին և այնտեղ ընտրել տիրույթը: Excel-ը ավտոմատ կերպով կտեղադրի ճիշտ շարահյուսությամբ տեղեկանք՝ ձեզ չխնայելով անունը ստուգելու և անսարքությունները վերացնելու համար:

    Vlookup այլ աշխատանքային գրքույկից

    To VLOOKUP երկուսի միջև:աշխատանքային գրքույկներում ներառեք ֆայլի անունը քառակուսի փակագծերում, որին հաջորդում են թերթի անվանումը և բացականչական կետը:

    Օրինակ, A2 արժեքը A2:B6 միջակայքում որոնելու համար Jan թերթում: Sales_reports.xlsx աշխատանքային գրքույկը, օգտագործեք այս բանաձևը.

    =VLOOKUP(A2, [Sales_reports.xlsx]Jan!$A$2:$B$6, 2, FALSE)

    Ամբողջական մանրամասների համար տես VLOOKUP-ը մեկ այլ աշխատանքային գրքույկից Excel-ում:

    Vlookup ողջ IFERROR-ով մի քանի թերթ

    Երբ Ձեզ անհրաժեշտ է փնտրել ավելի քան երկու թերթերի միջև, ամենահեշտ լուծումը VLOOKUP-ի օգտագործումն է IFERROR-ի հետ համատեղ: Գաղափարն այն է, որ մի քանի IFERROR ֆունկցիաներ տեղադրվեն՝ հերթով ստուգելու բազմաթիվ աշխատաթերթեր. եթե առաջին VLOOKUP-ը համընկնում չի գտնում առաջին թերթում, որոնեք հաջորդ թերթում և այլն:

    IFERROR(VLOOKUP(…), IFERROR(VLOOKUP(…), …, " Չի գտնվել "))

    Որպեսզի տեսնենք, թե ինչպես է այս մոտեցումն աշխատում իրական տվյալների վրա, եկեք դիտարկենք հետևյալ օրինակը: Ստորև բերված է Ամփոփում աղյուսակը, որը մենք ցանկանում ենք լրացնել ապրանքների անուններով և գումարներով՝ փնտրելով պատվերի համարը West և East թերթերում.

    Նախ, մենք պատրաստվում ենք քաշել իրերը: Դրա համար մենք հրահանգում ենք VLOOKUP բանաձևին որոնել պատվերի համարը A2-ում East թերթում և վերադարձնել արժեքը սյունակ B-ից (2-րդ սյունակ table_array A2:C6): Եթե ​​ճշգրիտ համընկնում չի գտնվել, ապա փնտրեք West թերթում: Եթե ​​երկու Vlookup-ներն էլ ձախողվեն, վերադարձրեք «Չի գտնվել»:

    =IFERROR(VLOOKUP(A2, East!$A$2:$C$6, 2, FALSE), IFERROR(VLOOKUP(A2, West!$A$2:$C$6, 2, FALSE), "Not found"))

    Գումարը վերադարձնելու համար,պարզապես փոխեք սյունակի ինդեքսի համարը 3:

    =IFERROR(VLOOKUP(A2, East!$A$2:$C$6, 3, FALSE), IFERROR(VLOOKUP(A2, West!$A$2:$C$6, 3, FALSE), "Not found"))

    Խորհուրդ. Անհրաժեշտության դեպքում կարող եք նշել տարբեր սեղանների զանգվածներ տարբեր VLOOKUP ֆունկցիաների համար: Այս օրինակում երկու որոնման թերթերն ունեն նույն թվով տողեր (A2:C6), բայց ձեր աշխատաթերթերը կարող են տարբեր լինել չափերով:

    Բազմաթիվ աշխատանքային գրքույկներում տեղակայում

    Երկու կամ ավելի աշխատանքային գրքույկների միջև տեղակայելու համար աշխատանքային գրքի անունը փակցրեք քառակուսի փակագծերում և դրեք թերթի անունից առաջ: Օրինակ, ահա թե ինչպես կարող եք Vlookup տեղադրել երկու տարբեր ֆայլերում ( Book1 և Book2 ) մեկ բանաձևով.

    =IFERROR(VLOOKUP(A2, [Book1.xlsx]East!$A$2:$C$6, 2, FALSE), IFERROR(VLOOKUP(A2, [Book2.xlsx]West!$A$2:$C$6, 2, FALSE),"Not found"))

    Սյունակի ինդեքսի համարը դինամիկ դարձրեք Vlookup-ի բազմաթիվ սյունակներում

    Այն իրավիճակում, երբ դուք պետք է վերադարձնեք տվյալները մի քանի սյունակներից, col_index_num դինամիկ դարձնելը կարող է ձեզ որոշակի ժամանակ խնայել: Պետք է կատարել մի քանի ճշգրտում.

    • col_index_num արգումենտի համար օգտագործեք COLUMNS ֆունկցիան, որը վերադարձնում է նշված զանգվածի սյունակների քանակը՝ COLUMNS($A$1): :B$1): (Տողի կոորդինատը իրականում նշանակություն չունի, այն կարող է լինել ցանկացած տող:)
    • lookup_value արգումենտում կողպեք սյունակի հղումը $ նշանով ($A2), այնպես որ այն մնում է: ամրագրված է բանաձևը այլ սյունակներում պատճենելիս:

    Արդյունքում դուք ստանում եք մի տեսակ դինամիկ բանաձև, որը հանում է համապատասխան արժեքները տարբեր սյունակներից՝ կախված նրանից, թե որ սյունակում է բանաձևը պատճենվում.

    =IFERROR(VLOOKUP($A2, East!$A$2:$C$6, COLUMNS($A$1:B$1), FALSE), IFERROR(VLOOKUP($A2, West!$A$2:$C$6, COLUMNS($A$1:B$1), FALSE), "Not found"))

    Երբ մուտքագրվում է B սյունակում, COLUMNS ($A$1:B$1)գնահատում է 2-ին, ասելով VLOOKUP-ին, որ վերադարձնի արժեք աղյուսակի զանգվածի 2-րդ սյունակից:

    Երբ պատճենվում է C սյունակում (այսինքն, դուք բանաձևը քաշել եք B2-ից C2), B$1-ը փոխվում է C$1-ի, քանի որ սյունակի հղումը հարաբերական է: Հետևաբար, COLUMNS($A$1:C$1) գնահատվում է 3՝ ստիպելով VLOOKUP-ին վերադարձնել արժեք 3-րդ սյունակից:

    Այս բանաձևը հիանալի է աշխատում 2-3 որոնման թերթերի համար: Եթե ​​դուք ունեք ավելի շատ, կրկնվող IFERROR-ները չափազանց ծանր են դառնում: Հաջորդ օրինակը ցույց է տալիս մի փոքր ավելի բարդ, բայց շատ ավելի էլեգանտ մոտեցում:

    Բազմաթիվ թերթեր INDIRECT-ով հավաքել

    Excel-ում մի քանի թերթերի միջև Vlookup-ի ևս մեկ միջոց է օգտագործել VLOOKUP-ի և INDIRECT գործառույթներ. Այս մեթոդը պահանջում է մի փոքր նախապատրաստություն, բայց, ի վերջո, դուք կունենաք ավելի կոմպակտ բանաձև Vlookup-ի համար ցանկացած թվով աղյուսակներում:

    Ընդհանուր բանաձևը Vlookup-ի համար թերթերի վրա հետևյալն է.

    VLOOKUP( որոնման_արժեքը , INDIRECT("'"&INDEX( Փնտրման_թերթներ , MATCH(1, --(COUNTIF(INDIRECT("'" & Փնտրման_թերթներ & " '! որոնման_միջակայք "), որոնման_արժեքը )>0), 0)) & "'! աղյուսակ_զանգված "), col_index_num , FALSE)

    Որտեղ.

    • Փնտրման_թերթեր - անվանված տիրույթ, որը բաղկացած է որոնման թերթի անուններից:
    • Փնտրման_արժեքը - արժեք որոնելու համար:
    • Փնտրման_տիրույթ - սյունակի տիրույթը որոնման թերթերում, որտեղ որոնելարժեքը:
    • Սեղանի_զանգված - տվյալների տիրույթը որոնման թերթերում:
    • Col_index_num - աղյուսակի զանգվածի սյունակի թիվը, որտեղից պետք է վերադարձրեք արժեք։

    Որպեսզի բանաձևը ճիշտ աշխատի, խնդրում ենք նկատի ունենալ հետևյալ նախազգուշացումները.

    • Դա զանգվածի բանաձև է, որը պետք է լրացվի՝ սեղմելով Ctrl + Shift + Enter ստեղները միասին:
    • Բոլոր թերթերը պետք է ունենան սյունակների նույն հաջորդականությունը :
    • Քանի որ մենք օգտագործում ենք մեկ աղյուսակի զանգված բոլոր որոնման թերթերի համար, նշեք ամենամեծ միջակայքը , եթե ձեր թերթերն ունեն տողերի տարբեր քանակ:

    Ինչպես օգտագործել բանաձևը թերթերի միջով Vlookup-ի համար

    Միաժամանակ մի քանի թերթ Vlookup-ի համար, կատարեք դրանք: քայլեր.

    1. Գրե՛ք բոլոր որոնման թերթերի անունները ձեր աշխատանքային գրքում և նշե՛ք այդ տիրույթը ( Որոնել_թերթերը մեր դեպքում):

  • Կարգավորեք ձեր տվյալների ընդհանուր բանաձևը: Այս օրինակում մենք՝
    • որոնելու ենք A2 արժեքը ( որոնման_արժեքը )
    • A2:A6 ( որոնման_միջակայք ) միջակայքում չորս աշխատանքային թերթ ( Արևելք , Հյուսիս , Հարավ և Արևմուտք ), և
    • հանեք համապատասխան արժեքները սյունակից B, որը 2-րդ սյունակն է ( col_index_num ) տվյալների տիրույթում A2:C6 ( աղյուսակ_զանգված ):

    Վերոնշյալ փաստարկներով բանաձևը ստանում է հետևյալ ձևը.

    =VLOOKUP($A2, INDIRECT("'"&INDEX(Lookup_sheets, MATCH(1, --(COUNTIF(INDIRECT("'"& Lookup_sheets&"'!$A$2:$A$6"), $A2)>0), 0)) &"'!$A$2:$C$6"), 2, FALSE)

    Խնդրում ենք նկատի ունենալ, որ մենք կողպում ենք երկու միջակայքերը ($A$2:$A$6 և $A$2:$C$6) բացարձակ բջջային հղումներով:

  • Մուտքագրեք բանաձեւըամենավերևի բջիջում (այս օրինակում B2) և սեղմեք Ctrl + Shift + Enter այն ավարտելու համար:
  • Կրկնակի սեղմեք կամ քաշեք լրացման բռնակը` բանաձեւը սյունակի ներքև պատճենելու համար:
  • Որպես արդյունքում՝ մենք ստացել ենք պատվերի համարը 4 թերթում փնտրելու և համապատասխան կետը գտնելու բանաձևը: Եթե ​​պատվերի կոնկրետ համարը չի գտնվել, ապա ցուցադրվում է #N/A սխալ, ինչպես 14-րդ տողում.

    Գումարը վերադարձնելու համար պարզապես փոխարինեք 2-ը 3-ով col_index_num-ում: փաստարկը, քանի որ գումարները գտնվում են աղյուսակի զանգվածի 3-րդ սյունակում.

    =VLOOKUP($A2, INDIRECT("'"&INDEX(Lookup_sheets, MATCH(1, --(COUNTIF(INDIRECT("'" & Lookup_sheets & "'!$A$2:$A$6"), $A2)>0), 0)) & "'!$A$2:$C$6"), 3, FALSE)

    Եթե ցանկանում եք փոխարինել ստանդարտ #N/A սխալի նշումը ձեր սեփական տեքստով, փաթեթավորեք բանաձևը IFNA ֆունկցիայի մեջ.

    =IFNA(VLOOKUP($A2, INDIRECT("'"&INDEX(Lookup_sheets, MATCH(1, --(COUNTIF(INDIRECT("'" & Lookup_sheets & "'!$A$2:$A$6"), $A2)>0), 0)) & "'!$A$2:$C$6"), 3, FALSE), "Not found")

    Բազմաթիվ թերթերի որոնում աշխատանքային գրքույկների միջև

    Այս ընդհանուր բանաձևը (կամ դրա ցանկացած փոփոխություն) նույնպես կարող է օգտագործվել մի քանի թերթեր հավաքելու համար տարբեր աշխատանքային գրքում : Դրա համար աշխատանքային գրքի անունը միացրեք INDIRECT-ի ներսում, ինչպես ցույց է տրված ստորև բերված բանաձևում.

    =IFNA(VLOOKUP($A2, INDIRECT("'[Book1.xlsx]" & INDEX(Lookup_sheets, MATCH(1, --(COUNTIF(INDIRECT("'[Book1.xlsx]" & Lookup_sheets & "'!$A$2:$A$6"), $A2)>0), 0)) & "'!$A$2:$C$6"), 2, FALSE), "Not found")

    Փնտրեք թերթերի միջև և վերադարձրեք մի քանի սյունակ

    Եթե ցանկանում եք տվյալներ հանել մի քանիից: սյունակներում, բազմաբջջային զանգվածի բանաձևը կարող է դա անել մեկ քայլով: Նման բանաձև ստեղծելու համար զանգվածի հաստատուն տրամադրեք col_index_num արգումենտի համար:

    Այս օրինակում մենք ցանկանում ենք վերադարձնել ապրանքների անունները (սյունակ B) և գումարները (սյունակ C), որոնք աղյուսակի զանգվածի համապատասխանաբար 2-րդ և 3-րդ սյունակներն են: Այսպիսով, պահանջվող զանգվածն է{2,3}.

    =VLOOKUP($A2, INDIRECT("'"&INDEX(Lookup_sheets, MATCH(1, --(COUNTIF(INDIRECT("'"& Lookup_sheets &"'!$A$2:$C$6"), $A2)>0), 0)) &"'!$A$2:$C$6"), {2,3}, FALSE)

    Բազմաթիվ բջիջներում բանաձևը ճիշտ մուտքագրելու համար անհրաժեշտ է անել հետևյալը.

    • Առաջին շարքում, ընտրեք բոլոր բջիջները, որոնք պետք է լրացվեն (B2:C2 մեր օրինակում):
    • Մուտքագրեք բանաձևը և սեղմեք Ctrl + Shift + Enter: Սա մուտքագրում է նույն բանաձևը ընտրված բջիջներում, որոնք կվերադարձնեն տարբեր արժեք յուրաքանչյուր սյունակում:
    • Քաշեք բանաձևը մինչև մնացած տողերը:

    Ինչպես է աշխատում այս բանաձևը

    Տրամաբանությունը ավելի լավ հասկանալու համար եկեք բաժանենք այս հիմնական բանաձևը առանձին ֆունկցիաների՝

    =VLOOKUP($A2, INDIRECT("'"&INDEX(Lookup_sheets, MATCH(1, --(COUNTIF(INDIRECT("'"& Lookup_sheets&"'!$A$2:$A$6"), $A2)>0), 0)) &"'!$A$2:$C$6"), 2, FALSE)

    Աշխատելով ներսից դուրս, ահա թե ինչ է անում բանաձևը.

    COUNTIF և INDIRECT

    Մի խոսքով, INDIRECT-ը կառուցում է հղումները բոլոր որոնման թերթերի համար, իսկ COUNTIF-ը հաշվում է որոնման դեպքերը: արժեքը (A2) յուրաքանչյուր թերթում՝

    --(COUNTIF( INDIRECT("'"&Lookup_sheets&"'!$A$2:$A$6"), $A2)>0)

    Ավելի մանրամասն՝

    Սկզբում դուք միացնում եք տիրույթի անունը (Lookup_sheets) և միջակայքի հղումը ($A$2: $A$6), ավելացնելով ապոստրոֆներ և բացականչություն ճիշտ տեղերում՝ արտաքին հղում անելու համար, և ստացված տեքստային տողը փոխանցեք INDIRECT ֆունկցիաին՝ դինամիկ կերպով հղում կատարելու որոնման թերթիկներին.

    INDIRECT({"'East'!$A$2:$A$6"; "'South'!$A$2:$A$6"; "'North'!$A$2:$A$6"; "'West'!$A$2:$A$6"})

    COUNTIF-ը ստուգում է A2:A6 տիրույթի յուրաքանչյուր բջիջ յուրաքանչյուր փնտրման թերթի վրա A2-ի արժեքի համեմատ հիմնականի վրա թերթիկ և վերադարձնում է յուրաքանչյուր թերթիկի համընկնումների քանակը: Մեր տվյալների բազայում A2 (101) պատվերի համարը գտնվում է West թերթում, որը 4-րդն է:անվանված միջակայք, ուստի COUNTIF-ը վերադարձնում է այս զանգվածը՝

    {0;0;0;1}

    Հաջորդում, դուք համեմատում եք վերը նշված զանգվածի յուրաքանչյուր տարր 0-ի հետ:

    --({0; 0; 0; 1}>0)

    Սա տալիս է TRUE (0-ից մեծ) և FALSE (հավասար է 0-ի) արժեքների զանգված, որը դուք պարտադրում եք 1-ին և 0-ին՝ օգտագործելով կրկնակի ունարի (--) և արդյունքում ստանում եք հետևյալ զանգվածը՝

    {0; 0; 0; 1}

    Այս գործողությունը լրացուցիչ նախազգուշական միջոց է այն իրավիճակում կարգավորելու համար, երբ որոնման թերթիկը պարունակում է որոնման արժեքի մի քանի երևույթներ, որոնց դեպքում COUNTIF-ը կվերադարձնի 1-ից մեծ քանակ, մինչդեռ մենք ուզում ենք միայն 1 և 0-եր: վերջնական զանգված (մի պահ կհասկանաք, թե ինչու):

    Այս բոլոր փոխակերպումներից հետո մեր բանաձևն ունի հետևյալ տեսքը.

    VLOOKUP($A2, INDIRECT("'"&INDEX(Lookup_sheets, MATCH(1, {0;0;0;1} , 0)) &"'!$A$2:$C$6"), 2, FALSE)

    INDEX և MATCH

    Այս պահին դասական INDEX MATCH համակցությունը քայլեր է ձեռնարկում հետևյալում.

    INDEX(Lookup_sheets, MATCH(1, {0;0;0;1}, 0))

    MATCH ֆունկցիան, որը կազմաձևված է ճշգրիտ համընկնման համար (0-ը վերջին արգումենտում) որոնում է 1 արժեքը զանգվածում { 0;0;0;1} և վերադարձնում է իր դիրքը, որը 4 է:

    INDEX(Lookup_sheets, 4)

    INDEX ֆունկցիան օգտագործում է վերադարձված թիվը MATCH-ով որպես տողի համարի արգումենտ (տող_թիվ) և վերադարձնում է 4-րդ արժեքը նշված միջակայքում Փնտրման_թերթներ , որը Արևմուտք է:

    Այսպիսով, բանաձևը հետագայում նվազեցնում է դեպի՝

    VLOOKUP($A2, INDIRECT("'"&" West "&"'!$A$2:$C$6"), 2, FALSE)

    VLOOKUP և INDIRECT

    INDIRECT ֆունկցիան մշակում է տեքստային տողը իր ներսում՝

    INDIRECT("'"&"West"&"'!$A$2:$C$6")

    Եվ փոխակերպում է այն հղում, որը գնում է table_array -ի արգումենտին

    Մայքլ Բրաունը նվիրված տեխնոլոգիայի էնտուզիաստ է, որը ձգտում է պարզեցնել բարդ գործընթացները՝ օգտագործելով ծրագրային գործիքները: Տեխնոլոգիական ոլորտում ավելի քան մեկ տասնամյակ փորձ ունենալով՝ նա կատարելագործել է իր հմտությունները Microsoft Excel-ում և Outlook-ում, ինչպես նաև Google Sheets-ում և Docs-ում: Մայքլի բլոգը նվիրված է իր գիտելիքներն ու փորձառությունը ուրիշների հետ կիսելուն՝ տրամադրելով հեշտ օգտագործվող խորհուրդներ և ձեռնարկներ՝ արտադրողականությունն ու արդյունավետությունը բարձրացնելու համար: Անկախ նրանից, թե դուք փորձառու մասնագետ եք, թե սկսնակ, Մայքլի բլոգը առաջարկում է արժեքավոր պատկերացումներ և գործնական խորհուրդներ՝ առավելագույն օգուտ քաղելու այս կարևոր ծրագրային գործիքներից: