Turinys
Dirbant su dideliu duomenų skaičiumi tenka gauti kelis rezultatus. Excel programoje yra labai patogus būdas išgauti kelis rezultatus. Šiame straipsnyje parodysime, kaip naudoti INDEX-MATCH formulė "Excel" programoje, kad gautumėte kelis rezultatus.
Atsisiųsti praktikos šabloną
Nemokamą praktinį "Excel" šabloną galite atsisiųsti iš čia ir praktikuotis savarankiškai.
INDEX MATCH Multiple Results.xlsx4 naudingi būdai, kaip įgyvendinti INDEX & amp; MATCH funkcijas kartu "Excel" programoje, kad išgautumėte kelis rezultatus
Šiame skyriuje išsamiai aptarsime funkcija INDEX ir funkcija MATCH kartu "Excel" programoje, kad gautumėte kelis rezultatus.
1. Kelių rezultatų paieška masyve naudojant INDEX MATCH formulę programoje "Excel
Panagrinėkime toliau pateiktą duomenų rinkinį, kuriame norėjome rasti skirtingus skirtingų egzaminų mokinių įvertinimus.
Tai galime gauti paleidę INDEX-MATCH formulę mūsų darbalapyje.
Kelių rezultatų paieškos žingsniai masyvo rinkinyje naudojant INDEX-MATCH funkcijos pateikiamos toliau.
Žingsniai:
- Pasirinkite duomenų rinkinio pavadinimą ( B5:B11 ) ir įrašykite pavadinimą į kitą langelį, kad vėliau galėtumėte naudoti langelio nuorodos numerį (pvz., pavadinimas Villiers svetainėje Ląstelė G4 ).
- Kitoje ląstelėje, kurią norite naudoti kaip rezultato ląstelę (pvz. Ląstelė G7 ), užrašykite šią formulę,
=INDEX($C$5:$C$11,SMALL(IF(ISNUMBER(MATCH($B$5:$B$11,$G$4,0)),MATCH(ROW($B$5:$B$11),ROW($B$5:$B$11)),""),ROWS($A$1:A1))))
Čia,
$C$5:$C$11 = masyvas, kuriame ieškoma paieškos vertės
$B$5:$B$11 = masyvas, kuriame yra paieškos vertė
- Paspauskite Įveskite .
Pastebėsite, kad duomenų rezultatas (pvz. Villiers ), kurį įdėjote į pasirinktą langelį ( G4 ), bus rodomi rezultato langelyje (pvz. 65 svetainėje G7 ).
- Dabar vilkite eilutę žemyn Užpildymo rankena norėdami gauti likusius tos pačios paieškos vertės rezultatus.
Kadangi šis procesas nėra pastovus jokiai konkrečiai vertei, galite pasirinkti bet kokius pasirinktos ląstelės paieškos duomenis (pvz. G4 ), o rezultato ląstelėje bus automatiškai atnaujinamas konkrečių duomenų rezultatas (pvz. G7 ).
Norėdami sužinoti daugiau, žiūrėkite toliau pateiktą gifą.
Formulės suskirstymas:
Išskaidykime formulę, kad suprastume, kaip gavome rezultatą.
- MATCH($B$5:$B$11, $G$4, 0) tampa,
-> MATCH({"Flintoff"; "Ronaldo"; "Plessis"; "Villiers"; "Beckham"; "Villiers"; "Plessis"}, "Villiers", 0)
-> Išvestis: {#N/A; #N/A; #N/A; #N/A; 1; #N/A; 1; #N/A}
Paaiškinimas: Jei paieškos reikšmė suranda atitikmenį paieškos masyve, tada MATCH funkcija grąžina 1 , priešingu atveju grąžinama #N/A .
- ISNUMBER(MATCH($B$5:$B$11, $G$4, 0) tampa,
-> ISNUMBER({#N/A; #N/A; #N/A; #N/A; 1; #N/A; 1; #N/A})
-> Išvestis: {FALSE; FALSE; FALSE; FALSE; TRUE; FALSE; TRUE; FALSE}.
Paaiškinimas: Kaip IF funkcija negali apdoroti klaidų reikšmių, todėl funkcija ISNUMBER čia naudojamas masyvo reikšmėms konvertuoti į logines reikšmes.
- IF(ISNUMBER(MATCH($B$5:$B$11, $G$4, 0)), MATCH(ROW($B$5:$B$11), ROW($B$5:$B$11)), "") tampa,
-> IF({FALSE; FALSE; FALSE; FALSE; TRUE; FALSE; FALSE; TRUE; FALSE}, MATCH(ROW($B$5:$B$11), ROW($B$5:$B$11)), "")
tampa
-> IF({FALSE; FALSE; FALSE; FALSE; TRUE; FALSE; TRUE; FALSE}, {1; 2; 3; 4; 5; 6; 7}, "")
-> Išvestis: {""; ""; ""; ""; 4; ""; 6}
Paaiškinimas: Pirma, IF Funkcija konvertuoja logines reikšmes į eilučių numerius ir tuščias vietas. Vėliau MATCH ir ROW funkcija s apskaičiuojamas masyvas su nuosekliais skaičiais nuo 1 iki n, kur n yra paskutinis viso langelių diapazono dydžio skaitinis identitetas. Kaip $B$5:$B$11 turi 7 reikšmes, todėl masyvas tampa {1; 2; 3; 4; 5; 6; 7} .
- SMALL(IF(ISNUMBER(MATCH($B$5:$B$11, $G$4, 0)), MATCH(ROW($B$5:$B$11), ROW($B$5:$B$11)), ""), ROWS($A$1:A1))) tampa
-> SMALL({""; ""; ""; ""; 4; ""; 6}, ROWS($A$1:A1))
-> SMALL ({""; ""; ""; ""; 4; ""; 6}, 1)
-> Išėjimas: 4
Paaiškinimas: Pirma, funkcija SMALL pagal eilutės numerį nustato, kokią reikšmę gauti. Eilutės Funkcija grąžina skaičių, kuris keičiasi kiekvieną kartą, kai ląstelė nukopijuojama ir įklijuojama į žemiau esančias ląsteles. 4 pagal mūsų duomenų rinkinį. Kitame langelyje žemiau, ROWS($A$1:A1) pakeitimai ROWS($A$1:A2) ir grąžina 6 .
- INDEX($C$5:$C$11, SMALL(IF(ISNUMBER(MATCH($B$5:$B$11, $G$4, 0)), MATCH(ROW($B$5:$B$11), ROW($B$5:$B$11)), ""), ROWS($A$1:A1)))) tampa
-> INDEX($C$5:$C$11, 4)
-> Išeiga: 65
Paaiškinimas: Svetainė INDEKSAS funkcija grąžina reikšmę iš duoto masyvo pagal eilutės ir stulpelio numerį. 4. reikšmė masyve $C$5:$C$11 yra . 65 , todėl INDEKSAS funkcija grąžina 65 ląstelėje G7 .
Skaityti daugiau: IF su INDEX-MATCH programoje "Excel" (3 tinkami metodai)
2. Raskite kelis būsimo įvykio pavadinimo ir datos rezultatus naudodami INDEX MATCH formulę programoje "Excel
Kartais pamirštame svarbių įvykių datą. Tokiu atveju INDEKSO RUNGTYNĖS funkcijos veikia kaip gelbėtojų.
Toliau pateikiami pavyzdiniai duomenys, kai norėjome sužinoti, koks bus mūsų draugų gimtadienis.
Taigi, ką mes padarėme, tai įgyvendinome INDEKSO RUNGTYNĖS formulę, kad sužinotumėte, kieno gimtadienis ir kada bus kitas.
Taigi, formulė, pagal kurią galima sužinoti asmens vardą arba būsimo renginio pavadinimą, yra tokia,
=INDEX($B$5:$B$9,MATCH(F5,$C$5:$C$9,1)+1)
Būsimo įvykio datą galima sužinoti pagal tokią formulę,
=INDEX($C$5:$C$9,MATCH(F5,$C$5:$C$9,1)+1)
Formulės suskirstymas:
Išskaidykime formulę, kad suprastume, kaip sužinojome vardą Aleksas ir jo gimtadienio datą.
- MATCH(F5,$C$5:$C$9,1)
-> Išėjimas: 4
Paaiškinimas: Svetainė MATCH Funkcija nustato paieškos vertės poziciją ( Eilutė F5 = 2021 m. lapkričio 11 d., ketvirtadienis ) į masyvo konstantą ( $C$5:$C$9 = datų sąrašas ).
Šiame pavyzdyje nenorėjome tikslaus atitikmens, norėjome, kad MATCH funkcija grąžinti apytikslį atitikmenį, todėl trečiąjį argumentą nustatome į 1 (arba TRUE ).
- INDEX($B$5:$B$9,MATCH(F5,$C$5:$C$9,1)+1) tampa
-> INDEX($B$5:$B$9, 4) +1)
-> Išvestis: Alex /(Renginio pavadinimas)
Paaiškinimas: Svetainė INDEKSAS Funkcija turi du argumentus, kad grąžintų konkrečią vertę vienmačiame intervale. $B$5:$B$9 pirmiausia pateikiamas argumentas ir rezultatas, gautas atlikus skaičiavimus ankstesniame skyriuje (MATCH(F5,$C$5:$C$9,1)) , pozicija 4 , yra antrasis argumentas. Tai reiškia, kad ieškome reikšmės, esančios pozicijoje 4 į $B$5:$B$9 diapazonas.
Ir,
- INDEX($C$5:$C$9,MATCH(F5,$C$5:$C$9,1)+1) tampa
-> INDEX($B$5:$B$9, 4) +1)
-> Rezultatas: 2021 m. gruodžio 7 d., antradienis
Paaiškinimas: Svetainė INDEKSAS Funkcija turi du argumentus, kad grąžintų konkrečią vertę vienmačiame intervale. $C$5:$C$9 pirmiausia pateikiamas argumentas ir rezultatas, gautas atlikus skaičiavimus ankstesniame skyriuje (MATCH(F5,$C$5:$C$9,1)) , pozicija 4 , yra antrasis argumentas. Tai reiškia, kad ieškome reikšmės, esančios pozicijoje 4 į $C$5:$C$9 diapazonas.
Norėdami gauti artėjančio įvykio datą, prie ląstelės pozicijos, kurią grąžina MATCH funkciją, ir ji mums nurodė kito įvykio datos ląstelės padėtį.
Skaityti daugiau: "Excel" INDEX-MATCH formulė kelioms vertėms horizontaliai grąžinti
Panašūs skaitiniai
- INDEX MATCH Keli kriterijai su "Wildcard" programoje "Excel" (išsamus vadovas)
- [Pataisyta!] INDEX MATCH negrąžina teisingos vertės "Excel" programoje (5 priežastys)
- Kaip naudoti INDEX MATCH vietoj VLOOKUP programoje "Excel" (3 būdai)
- INDEX+MATCH su pasikartojančiomis vertėmis "Excel" programoje (3 greiti metodai)
- Kaip "Excel" programoje pasirinkti konkrečius duomenis (6 metodai)
3. Kelių rezultatų generavimas atskiruose stulpeliuose naudojant INDEX MATCH formulę programoje "Excel
Iki šiol rezultatus gaudavome pagal eilutes. Bet ką daryti, jei norite gauti rezultatus atskiri stulpeliai .
Panagrinėkime toliau pateiktą duomenų rinkinį, kurį sudaro trijų tipų profesijos, atspindinčios kelis žmonių vardus.
Norėjome sukurti žmonių grupę pagal profesiją ir norėjome, kad jų vardai ir pavardės būtų pagal stulpelius pagal savo profesiją.
Jei norite išskirti kelių atitikčių rezultatus į atskirus langelius atskiruose stulpeliuose, galite atlikti nedidelį triuką su INDEKSAS funkcija.
Sužinokime, kaip "Excel" programoje išgauti kelių stulpelių atitikmenų rezultatus naudojant INDEKSAS funkcijos ir kt.
Žingsniai:
- Pasirinkite profesiją iš duomenų diapazono ( B5:B11 ) ir įrašykite duomenis į kitą langelį, kad vėliau galėtumėte naudoti langelio nuorodos numerį (pvz., profesija Kriketininkas svetainėje E5 ląstelė ).
- Kitoje ląstelėje, kurią norite naudoti kaip rezultato ląstelę (pvz. Eilutė F5 ), užrašykite šią formulę,
=IFERROR(INDEX($C$5:$C$11,SMALL(IF($B$5:$B$11=$E5,ROW(C5:C11)-MIN(ROW(C5:C11))+1),COLUMNS($E$5:E5)))),"")
Čia,
$C$5:$C$11 = masyvas, kuriame ieškoma paieškos vertės
$B$5:$B$11 = masyvas, kuriame yra paieškos vertė
- Paspauskite Įveskite .
Pastebėsite, kad duomenų rezultatas (pvz. Kriketininkai ), kurį įdėjote į pasirinktą langelį ( E5 ), bus rodomi rezultato langelyje (pvz. Flintoffas svetainėje Eilutė F5 ).
- Dabar vilkite eilutę Užpildymo rankena norėdami gauti likusius tos pačios paieškos vertės rezultatus atskiruose keliuose stulpeliuose.
- Vėl vilkite eilutę Užpildymo rankena norėdami gauti likusius skirtingų paieškos verčių rezultatus (pvz. Futbolininkas, Imtynės ) atskiruose keliuose stulpeliuose.
Formulės suskirstymas:
Išskaidykime formulę, kad suprastume, kaip gavome rezultatą.
- SMALL(IF($B$5:$B$11=$E5,ROW($C$5:$C$11)-MIN(ROW($C$5:$C$11))+1),COLUMNS($E$5:E5))
Iš ankstesnės diskusijos jau žinome, kaip MAŽAS, JEIGU ir EILUTĖ funkcijos veikia kartu, ir mes čia taip pat naudojame šį triuką, kad sugeneruotume eilutės numerį, atitinkantį N-ąjį atitikmenį. Kai turime eilutės numerį, paprasčiausiai perduodame jį į INDEKSAS funkcija, kuri grąžina tos eilutės reikšmę.
-> Išvestis: ( kaip toliau pateiktame paveikslėlyje )
- INDEX($C$5:$C$11,SMALL(IF($B$5:$B$11=$E5,ROW($C$5:$C$11)-MIN(ROW($C$5:$C$11))+1),COLUMNS($E$5:E5)))) -> eilučių numerių perdavimas INDEKSAS funkciją, kad būtų išgauta atitinkamų eilučių numerių vertė.
-> Išvestis: ( kaip toliau pateiktame paveikslėlyje )
- IFERROR(INDEX($C$5:$C$11,SMALL(IF($B$5:$B$11=$E5,ROW(C5:C11)-MIN(ROW(C5:C11))+1),COLUMNS($E$5:E5)))),"") -> atkreipkite dėmesį, kad kai stulpeliai grąžina neegzistuojančią reikšmę, išmetamas #NUM Kad išvengtume klaidos, visą formulę apgaubiame funkcija IFERROR gaudyti klaidas ir nustatyti tuščia eilutė ("") kaip grąžinimas.
-> Išvestis: ( kaip toliau pateiktame paveikslėlyje )
Skaityti daugiau: "Excel" INDEX MATCH, kad vienoje ląstelėje būtų grąžintos kelios vertės
4. Kelių rezultatų išskyrimas į atskiras eilutes naudojant "Excel" INDEX MATCH funkcijas
Jei jums įdomu, kaip išskirti kelis rezultatus į kelias eilutes, kaip tai darėme ankstesniame skyriuje, formulė yra tokia,
=IFERROR(INDEX($C$5:$C$11,SMALL(IF($B$5:$B$11=E$4,ROW(C5:C11)-MIN(ROW(C5:C11))+1),ROWS($E$5:E5)))),"")
Visos kitos detalės, tokios kaip žingsniai ir formulės suskirstymas, yra tokios pačios kaip ir 3 skyriuje.
Pagrindiniai punktai, kuriuos turite turėti omenyje
- Kadangi duomenų lentelės masyvo diapazonas, kuriame ieškoma reikšmės, yra fiksuotas, nepamirškite įrašyti doleris ($) ženklas prieš masyvo lentelės ląstelės nuorodos numerį.
- Dirbdami su masyvo reikšmėmis nepamirškite paspausti Ctrl + Shift + Enter ant klaviatūros, kai išgaunate rezultatus. Paspausdami tik Įveskite veiks tik tada, kai naudojate "Microsoft 365 .
- Paspaudus Ctrl + Shift + Enter , pastebėsite, kad formulės juostoje buvo įrašyta formulė garbanotieji skliaustai {} , deklaruodami ją kaip masyvo formulę. Neįveskite šių skliaustai {} patys, "Excel" tai atlieka automatiškai.
Išvada
Šiame straipsnyje išsamiai paaiškinta, kaip naudoti INDEKSO RUNGTYNĖS funkcijas, kad "Excel" programoje išgautumėte kelis rezultatus. Tikiuosi, kad šis straipsnis jums buvo labai naudingas. Nedvejodami klauskite, jei turite kokių nors su šia tema susijusių klausimų.