Агуулгын хүснэгт
Бидэнд их хэмжээний өгөгдөл байгаа үед заримдаа өгөгдлийн багцаас тодорхой өгөгдлийг гаргаж авахад хэцүү байдаг. Excel-ийн INDEX болон MATCH функцүүдийн хамт асар том өгөгдлийн багцаас ямар ч төрлийн өгөгдлийг гаргаж авах боломжтой. VBA -г хэрэгжүүлэх нь Excel дээр ямар ч үйлдлийг гүйцэтгэх хамгийн үр дүнтэй, хурдан бөгөөд аюулгүй арга юм. Энэ нийтлэлд бид Excel дээр VBA макро ашиглан INDEX TATCH -г олон шалгуурт үндэслэн хэрхэн гүйцэтгэх тухай 3 өөр аргыг харуулах болно.
Татаж авах Дасгалын дэвтэр
Та Excel-ийн үнэгүй дасгалын номыг эндээс татаж авах боломжтой.
Олон шалгуурт суурилсан VBA INDEX MATCH.xlsm
Excel-ийн олон шалгуурт суурилсан VBA INDEX MATCH-тай 3 арга
Дараах хэсгүүдэд бид МУГЖ олон шалгуурт үндэслэн INDEX TATCH-ыг хэрхэн гүйцэтгэхийг харуулах болно , тодорхой сонголтын хувьд ба хүснэгтийн хувьд VBA -тэй Excel-д.
Дээрх Энэ нийтлэлийг дагаж мөрдөх өгөгдлийн багц бидэнд байна. Бидэнд өгөгдлийн багцад оюутан бүрийн Оюутны нэр , Оюутны үнэмлэх, болон Шалгалтын оноо байгаа. Бид нөгөө хоёр баганаас нөхцөл дээр үндэслэн нэг баганад байгаа тодорхой үр дүнг гаргаж авна.
Шалгуур – 1: Excel-д олон (хоёр) хэмжээст хайлт хийхэд VBA-г INDEX MATCH-тай оруулах
Дараах зургийг авч үзье. Бид тодорхой оюутны нэрийг “ Эдж” нүдэнд хадгалсанG4 ; мөн Үр дүн -г хайж буй багана, Шалгалтын оноо нь G5 нүдэнд хадгалагдана. Бид Шалгалтын оноо баганад хайлт хийж, G6 нүдэнд “ Эдж” авсан Тэмдэглэгээ -г хадгална.
Хайх алхмуудын үр дүнд VBA-тай Excel-д INDEX болон MATCH бүхий хоёр хэмжээст массив гарч ирнэ. доор өгөгдсөн.
Алхамууд:
- Эхлэхдээ гар дээрх Alt + F11 товчийг дарах эсвэл дараах руу очно уу. таб Хөгжүүлэгч -> Visual Basic -г Visual Basic Editor -г нээнэ үү.
- Дараа нь гарч ирэх код цонхонд, цэсийн мөрөнд Insert -> Модуль .
- Дараа нь дараах кодыг хуулж хуулбарлах код руу оруулна. цонх.
8770
Таны кодыг ажиллуулахад бэлэн боллоо.
- Одоо өөрийн товчлуур дээр F5 дарна уу. гар эсвэл цэсийн мөрнөөс Run -> Sub/UserForm -г ажиллуул. Та мөн макро ажиллуулахын тулд дэд цэсний жижиг Run дүрс дээр дарж болно.
Кодыг ажиллуулсны дараа, Үр дүнг харахын тулд доорх gif-г харна уу.
Үүний үр дүнд " Эдж" -д орсон Тэмдэглэгээ шалгалт, 67 -г G7 нүднээс татаж авсан.
VBA кодын тайлбар
6089
Ажлын хуудасны хувьсагчийг тодорхойлох.
9630
Ажлын хуудасны нэрийг хадгалах. Манай хуудасны нэр нь "Хоёр хэмжээст" бөгөөд та оруулах ёстойтаны хүснэгтийн дагуу нэр.
9855
Энэ код нь C5:D14 мужийг хайлтын муж болгон сонгоно. Дараа нь G4 нүдэнд B5:B14 мужид хадгалагдсан тохирохыг хайж, G5 нүдэнд хадгалагдсан тохирохыг мужаас хайна уу. C4:D4 ба үр дүнг G6 нүд рүү шилжүүлнэ.
Дэлгэрэнгүй: Огнооны мужид олон шалгуур бүхий INDEX TATCH-ийг хэрхэн ашиглах талаар
Шалгуур – 2: Хэрэглэгчийн тодорхойлсон функцтэй (UDF) INDEX-ээр TATCH утгыг олохын тулд макро ашиглана уу
Та өгөгдлийн багцаас тохирох утгыг гаргаж авах боломжтой. хэрэглэгчийн тодорхойлсон функц (UDF) . Дараах зургаас бидний хийх зүйл бол тодорхой оюутны Оюутны үнэмлэх болон Шалгалтын оноо -г өгөх бөгөөд функц нь бидэнд Нэр<-ийг шидэх болно. 2> тухайн оюутны.
VBA -тэй Оюутны нэр “Финн” -д хэрхэн хүрэхийг харцгаая.
Алхам:
- Өмнө нь харуулсанчлан Хөгжүүлэгч таб болон -ээс Visual Basic Editor -г нээнэ үү. Кодын цонхонд Модуль оруулна.
- Дараа нь кодын цонхонд дараах кодыг хуулж хуулбар хийнэ.
1680
- Энэ кодыг бүү ажиллуул , хадгалаад .
- Одоо сонирхсон ажлын хуудас руу буцна уу. Үр дүнг хадгалахыг хүсэж буй дурын нүдийг сонгоно уу. Манай тохиолдолд энэ нь F5 нүд юм.
- Тэр нүдэнд UDF гэж бичнэ.кодыг ( MatchByIndex ) үүсгээд, функцийн хаалтанд байгаа тухайн оюутны Оюутны үнэмлэх, шалгалтын оноо -г өгөв.
Иймэрхүү Бид түүний ID (105) ба Марк (84) -ээс “ Финн” нэрийг гаргаж авахыг оролдож байгаа тул бидний хувьд томъёо нь <3 болно> =MatchByIndex(105,84)
- Дараа нь Enter товчийг дарна уу.
Дараах зургийг харна уу.
F5 нүднээс бид “ Финн”<2 нэрийг амжилттай сэргээлээ> зүгээр л өөрийн ID болон Тэмдэглэгээ -г VBA кодонд үүсгэсэн функц дотор дамжуулснаар.
VBA кодын тайлбар
1718
Шинэ функц үүсгэж доторх хувьсагчдыг дамжуулах. Та функцэд дурын нэрийг тодорхойлж болно.
3471
Манай мөр 4-р мөрөөс эхэлнэ. Та өөрийн мэдээллийн багцаас эхлэх мөрийн дугаарыг оруулах ёстой.
2205
Хувьсагчийг тодорхойлох.
1792
Эхлээд ажиллах ажлын хуудсыг тодорхойл. Манай хуудасны нэр нь "UDF" тул та өөрийн хүснэгтийн дагуу нэрийг оруулах хэрэгтэй. Дараа нь C:D мужаас бидний тодорхойлсон эхний эгнээнээс сүүлчийн мөр хүртэл хайлтаа эхлүүлнэ үү.
3628
Эхний эгнээнээс сүүлчийн мөр хүртэл давтаж эхэлнэ. Хэрэв функц дотор бидний дамжуулах эхний утга C багана дотор, харин функц дотор дамжуулах хоёр дахь утга D баганын дотор байвал буцаж ирнэ. нь B баганаас таарна. Үгүй бол функцээс гарч, бүх мэдэгдлүүдийг дуусгаад дараагийн мөрөнд очно уу.
9455
Хэрэв гүйцэтгэх явцад өмнөх нөхцөл биелээгүй бол "Өгөгдөл олдсонгүй" гэсэн мессеж буцаж ирэх бөгөөд код нь функцийг орхих болно.
Дэлгэрэнгүй: Excel дээр хэсэгчилсэн текстийн олон шалгуур бүхий INDEX-MATCH (2 арга)
Шалгуур – 3: Excel-ийн олон өгөгдөл бүхий хүснэгтээс TATCH утгыг буцаахын тулд VBA-г хэрэгжүүлэх
Энэ хэсэгт бид хүснэгтийн индексээр тохирох утгыг хэрхэн буцаахыг сурах болно. VBA Excel-ийн MsgBox доторх.
Бидэнд үзүүлсэн хүснэгтээс Тэмдэглэгээ -г хэрхэн гаргаж авахыг харцгаая. кодын доторх Нэр болон ID -г оруулснаар тодорхой оюутны өгөгдлийн багц ( T боломжтой нэр: TableMatch ). Манай тохиолдолд Нэр ба ID нь Финн ба 105 байх болно.
Алхамууд :
- Эхлээд Хөгжүүлэгч табаас Visual Basic Editor -г нээж, Оруулах Модуль<2 кодын цонхонд.
- Дараа нь дараах кодыг хуулж хийгээд кодын цонхонд буулгана уу.
4587
Таны код одоо ажиллахад бэлэн боллоо.
- Дараа нь энэ кодыг ажил хийгээд үр дүнд нь юу болсныг харахын тулд дараах зургийг харна уу.
Дээрх зургаас харахад Microsoft Excel поп-Таны код дотор өгсөн ID: 105 болон Нэр: Финн -н Тэмдэглэгээ: 84 -г харуулсан мессежийн хайрцаг.
VBA кодын тайлбар
3558
Хувьсагчдыг тодорхойлох.
9156
Хувьсагчийн доторх хуудасны нэр болон хүснэгтийн нэрийг тохируулах.
2733
Хадгалах хайх утгууд болон хайх багана.
8162
Энэ кодын хэсэг нь доод тэмдгийн эхнээс төгсгөл хүртэл сканнердах бөгөөд хэрэв хайлтын багануудаас тодорхойлсон ID болон Нэртэй таарч байвал үр дүнг хадгалж, бүх мэдэгдлийг хаа. Мөн давталтаас гараад кодын дараагийн хэсэг рүү очно уу.
7817
Үр дүнг MsgBox-д шиднэ.
Цааш унших: Хайлгаад буцаах Excel-ийн нэг нүдэнд олон утгыг нэгтгэсэн
Дүгнэлт
Төгсгөлд нь энэ нийтлэл танд INDEX MATCH-д суурилсан 3 өөр аргыг харуулсан болно. Excel-д VBA макро бүхий олон шалгуурт . Энэ нийтлэл танд маш их тус болсон гэж найдаж байна. Сэдвийн талаар асуух зүйлээ чөлөөтэй асуугаарай.