Բովանդակություն
Երբ մենք ունենք մեծ քանակությամբ տվյալներ, երբեմն դժվար է լինում տվյալների հավաքակազմից որևէ կոնկրետ տվյալ հանել: Excel-ի INDEX և MATCH ֆունկցիաների հետ միասին կարող եք առբերել ցանկացած տեսակի տվյալ նույնիսկ հսկայական տվյալների բազայում: VBA -ի ներդրումը Excel-ում ցանկացած գործողություն իրականացնելու ամենաարդյունավետ, ամենաարագ և անվտանգ մեթոդն է: Այս հոդվածում մենք ձեզ ցույց կտանք 3 տարբեր եղանակներ, թե ինչպես կատարել INDEX MATCH՝ հիմնված բազմաթիվ չափանիշների վրա Excel-ում VBA մակրո -ով:
Ներբեռնել Աշխատանքային գիրք
Դուք կարող եք ներբեռնել Excel-ի անվճար պրակտիկայի աշխատանքային գիրքն այստեղից:
VBA INDEX MATCH Բազմաթիվ չափանիշների հիման վրա.xlsm
3 մեթոդ VBA INDEX MATCH-ով` հիմնված Excel-ի բազմաթիվ չափանիշների վրա
Հետևյալ բաժիններում մենք ձեզ ցույց կտանք, թե ինչպես կատարել INDEX MATCH` հիմնված մի շարք չափանիշների վրա , որոշակի ընտրության համար և աղյուսակի համար Excel-ում VBA -ով:
Վերևում մենք ունենք տվյալների բազա, որին կհետևի այս հոդվածը: Մենք ունենք տվյալների բազայում յուրաքանչյուր ուսանողի Ուսանողի անունը , ուսանողի ID, և Քննության նշանները : Մենք կհանենք որոշակի արդյունք, որը գտնվում է մեկ սյունակում՝ հիմնվելով մյուս երկու սյունակների պայմանների վրա:
Չափանիշներ – 1. Տեղադրել VBA-ն INDEX MATCH-ով Excel-ում բազմակի (երկչափ) փնտրման համար
Դիտարկենք հետևյալ պատկերը. Մենք պահել ենք որոշակի ուսանողի անունը « Edge» Cell-ումG4 ; իսկ սյունակը, որում մենք փնտրելու ենք Արդյունք , Քննության նշաններ , պահվում է Cell G5 -ում: Մենք կփնտրենք Քննության նշանները սյունակում և կպահենք Գնահատականները , որոնք « Edge»-ը ստացել է Cell G6 -ում:
Փնտրելու քայլերը հանգեցնում են երկչափ զանգված INDEX և MATCH Excel-ում VBA-ով: տրված են ստորև:
Քայլեր.
- Սկզբում սեղմեք Alt + F11 ստեղնաշարի վրա կամ անցեք ներդիրը Մշակող -> Visual Basic բացելու համար Visual Basic Editor :
- Այնուհետև, բացվող կոդի պատուհանում, ընտրացանկի տողում, սեղմեք Տեղադրել -> Մոդուլ .
- Այնուհետև, պատճենեք հետևյալ կոդը և տեղադրեք այն կոդի մեջ պատուհան:
7667
Ձեր կոդը այժմ պատրաստ է գործարկման:
- Այժմ սեղմեք F5 ձեր վրա ստեղնաշար կամ ընտրացանկից ընտրեք Գործարկել -> Գործարկեք Sub/UserForm : Կարող եք նաև պարզապես սեղմել փոքր Run պատկերակը ենթամենյուի տողում՝ մակրո գործարկելու համար:
Կոդը գործարկելուց հետո, արդյունքը տեսնելու համար նայեք ստորև ներկայացված gif-ին:
Արդյունքում Նշանները , որ « Edge»-ը ստացել է քննությունը, 67 , վերցված է Cell G7 -ում:
VBA կոդի բացատրություն
9917
Աշխատանքային թերթիկի փոփոխականի սահմանում:
9868
Պահպանեք աշխատաթերթի անունը: Մեր թերթիկի անունն է «Երկչափ», դուք պետք է տրամադրեքանունը՝ ըստ ձեր աղյուսակի:
8839
Կոդի այս հատվածն ընտրում է C5:D14 միջակայքը որպես որոնման տիրույթ: Այնուհետև որոնեք համընկնումը, որը պահված է G4 բջիջում B5:B14 տիրույթում և որոնեք համընկնումը, որը պահված է G5 բջիջում տիրույթում: C4:D4 և արդյունքը փոխանցեք G6 բջիջին:
Կարդալ ավելին. Ինչպես օգտագործել INDEX MATCH-ը բազմաթիվ չափանիշներով ամսաթվերի միջակայքի համար
Չափանիշ – 2. Կիրառել մակրո՝ Օգտագործողի կողմից սահմանված ֆունկցիայի (UDF) միջոցով գտնելու MATCH արժեքը ըստ INDEX-ի
Դուք կարող եք համընկնող արժեքներ հանել տվյալների բազայից օգտագործողի կողմից սահմանված ֆունկցիա (UDF) : Հետևյալ պատկերից այն, ինչ մենք պատրաստվում ենք անել, այն է, որ մենք կհանձնենք որոշակի ուսանողի Ուսանողի ID և Քննության նշանները , և ֆունկցիան մեզ կտա Անուն այդ կոնկրետ ուսանողի:
Եկեք տեսնենք, թե ինչպես հասնել դրան Ուսանողի անունը «Ֆինն» VBA -ով:
Քայլեր.
- Ինչպես ցույց է տրված նախկինում, բացեք Visual Basic Editor Developer ներդիրից և Տեղադրեք Մոդուլ կոդի պատուհանում:
- Այնուհետև կոդի պատուհանում պատճենեք հետևյալ կոդը և կպցրեք այն:
3929
- Մի գործարկեք այս կոդը, պահեք այն:
- Այժմ, վերադարձեք դեպի հետաքրքրություն ներկայացնող աշխատաթերթը : Ընտրեք ցանկացած բջիջ , որը ցանկանում եք պահել արդյունքը: Մեր դեպքում դա Cell F5 է:
- Այդ բջիջում գրեք UDF դուքհենց նոր եք ստեղծել կոդում ( MatchByIndex ) և հանձնել տվյալ ուսանողի ID-ն և քննության նշանները ֆունկցիայի փակագծերում:
Ինչպես մենք փորձում ենք հանել « Ֆինն» անունը նրա ID (105) և նշաններից (84) , այնպես որ մեր դեպքում բանաձևը դառնում է
=MatchByIndex(105,84)
- Այնուհետև սեղմեք Enter ։
Նայեք հետևյալ պատկերին:
Cell F5 -ում մենք հաջողությամբ վերականգնեցինք « Finn» անունը պարզապես փոխանցելով նրա ID և Նշումները ֆունկցիայի ներսում, որը մենք ստեղծել ենք VBA կոդում:
VBA կոդի բացատրություն
7117
Նոր ֆունկցիայի ստեղծում և դրա ներսում փոփոխականների փոխանցում: Ֆունկցիայի համար կարող եք ցանկացած անուն սահմանել:
1971
Մեր տողը սկսվում է 4-րդ տողից: Դուք պետք է նշեք տողի համարը, որից սկսվում է ձեր տվյալների հավաքածուն:
6750
Փոփոխականների սահմանում:
9730
Նախ, սահմանեք աշխատաթերթը, որի հետ պետք է աշխատել: Մեր թերթի անվանումն է «UDF», դուք պետք է նշեք անունը ըստ ձեր աղյուսակի: Այնուհետև սկսեք որոնել C:D միջակայքում մեր սահմանած առաջին շարքից մինչև վերջին տող:
3366
Սկսեք կրկնել առաջին շարքից մինչև վերջին տող: Եթե առաջին արժեքը, որը մենք կփոխանցենք ֆունկցիայի ներսում, ընկնում է C սյունակի ներսում, իսկ եթե երկրորդ արժեքը, որը մենք կփոխանցենք ֆունկցիայի ներսում, ընկնում է D սյունակի ներսում, ապա այն կվերադառնա: որհամընկնում է B սյունակից: Հակառակ դեպքում, դուրս եկեք ֆունկցիայից, ավարտեք բոլոր հայտարարությունները և անցեք հաջորդ տող:
5306
Եթե նախորդ պայմանը չի կատարվում կատարման ընթացքում, ապա «Տվյալները չեն գտնվել» հաղորդագրությունը կվերադարձվի և կոդը դուրս կգա ֆունկցիայից:
Կարդալ ավելին. INDEX-MATCH մի քանի չափանիշներով մասնակի տեքստի համար Excel-ում (2 եղանակ)
Չափանիշներ – 3. Կիրառել VBA՝ Excel-ում բազմակի տվյալներ ունեցող աղյուսակից վերադարձնելու համար VBA-ի արժեքը
Այս բաժնում մենք կսովորենք, թե ինչպես վերադարձնել համընկնող արժեքը աղյուսակի ինդեքսներով: MsgBox -ում VBA Excel-ում:
Եկեք տեսնենք, թե ինչպես կարելի է հանել Նշանները մեր աղյուսակում ներկայացված աղյուսակից: որոշակի աշակերտի տվյալների հավաքածու ( T հնարավորության անունը. TableMatch )՝ ծածկագրի ներսում տրամադրելով Անունը և ID : Մեր դեպքում Անունը և ID -ը համապատասխանաբար կլինեն Finn և 105 :
Քայլեր: :
- Սկզբում բացեք Visual Basic Editor Developer ներդիրից և Տեղադրեք a Module կոդի պատուհանում:
- Այնուհետև պատճենեք հետևյալ կոդը և տեղադրեք այն կոդի պատուհանում:
3427
Ձեր կոդը այժմ պատրաստ է գործարկման:
- Ավելի ուշ, Գործարկեք այս կոդը և նայեք հետևյալ պատկերին` տեսնելու, թե ինչ եղավ արդյունքում:
Ինչպես երևում է վերևի նկարից, կա Microsoft Excel pop-վերևում հաղորդագրության տուփը, որը ցույց է տալիս Նշանները՝ 84 ID: 105 և Անունը՝ Ֆինն , որոնք մենք տրամադրել ենք ծածկագրի ներսում:
VBA կոդի բացատրություն
1895
Փոփոխականների սահմանում:
2058
Փոփոխականների ներսում թերթի անվանումը և աղյուսակի անվանումը սահմանելը:
3982
Պահպանում որոնման արժեքները և որոնման սյունակները:
9207
Կոդի այս հատվածը սկանավորում է բաժանորդագրության սկզբից մինչև վերջ և եթե գտնում է սահմանված ID-ի և Անունի համապատասխանությունը որոնման սյունակներում, ապա պահպանել արդյունքը և փակել բոլոր հայտարարությունները: Բացի այդ, դուրս եկեք կրկնությունից և անցեք կոդի հաջորդ մասը:
5614
Արդյունքը գցում է MsgBox-ում:
Կարդալ ավելին` Փնտրել և վերադարձնել Բազմաթիվ արժեքներ միացված են մեկ բջիջի մեջ Excel-ում
Եզրակացություն
Եզրակացության համար այս հոդվածը ցույց տվեց ձեզ 3 տարբեր մեթոդներ, թե ինչպես կատարել INDEX MATCH-ի հիման վրա մի քանի չափանիշների վրա Excel-ում VBA մակրո -ով: Հուսով եմ, որ այս հոդվածը շատ օգտակար է եղել ձեզ համար: Թեմայի վերաբերյալ ցանկացած հարց տվեք ազատորեն: