VBA INDEX MATCH-ը հիմնված է Excel-ի բազմաթիվ չափանիշների վրա (3 մեթոդ)

  • Կիսվել Սա
Hugh West

Երբ մենք ունենք մեծ քանակությամբ տվյալներ, երբեմն դժվար է լինում տվյալների հավաքակազմից որևէ կոնկրետ տվյալ հանել: 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 մակրո -ով: Հուսով եմ, որ այս հոդվածը շատ օգտակար է եղել ձեզ համար: Թեմայի վերաբերյալ ցանկացած հարց տվեք ազատորեն:

Հյու Ուեսթը բարձր փորձառու Excel-ի մարզիչ և վերլուծաբան է, որն ունի ավելի քան 10 տարվա փորձ այս ոլորտում: Նա հաշվապահական հաշվառման և ֆինանսների բակալավրի և բիզնեսի կառավարման մագիստրոսի կոչում է ստացել: Հյուը կիրք ունի դասավանդելու նկատմամբ և մշակել է ուսուցման յուրահատուկ մոտեցում, որը հեշտ է հետևել և հասկանալ: Excel-ի նրա փորձագիտական ​​գիտելիքներն օգնել են հազարավոր ուսանողների և մասնագետների ամբողջ աշխարհում բարելավել իրենց հմտությունները և առաջադիմել իրենց կարիերայում: Իր բլոգի միջոցով Հյուն կիսվում է իր գիտելիքներով աշխարհի հետ՝ առաջարկելով Excel-ի անվճար ձեռնարկներ և առցանց ուսուցում, որոնք կօգնեն անհատներին և ձեռնարկություններին հասնել իրենց ողջ ներուժին: