Tartalomjegyzék
Ma megmutatom, hogyan hozhat létre dinamikus listát egyetlen vagy több kritérium alapján az Excelben.
Gyakorlati munkafüzet letöltése
Dinamikus lista kritériumok alapján.xlsx
Mi a dinamikus lista az Excelben?
A dinamikus lista olyan lista, amely egy adathalmazból jön létre, és automatikusan frissül, amikor az eredeti adathalmaz bármely értéke megváltozik, vagy új értékek kerülnek hozzá az eredeti adathalmazhoz.
Az adott képen az összes olyan tanuló neve szerepel, akiknek a pontszáma nagyobb volt, mint 60 a vizsgán.
Most ha Jennifer Marlo jeleit megváltoztatjuk a 68 a címre. 58 , és adjunk hozzá egy új diákot Ross Smith néven, jegyekkel. 81 a táblázatban, a lista automatikusan beállítja magát.
Ezt dinamikus listának nevezzük.
3 módja annak, hogy dinamikus listát hozzon létre az Excelben a kritériumok alapján
Itt van egy adathalmazunk, amelynek a Diákigazolványok, Nevek, és Márkok a Napraforgó óvoda nevű iskola néhány tanulója.
A mai célunk az, hogy dinamikus listát készítsünk az adatkészlet kritériumai alapján. Ma egy és több kritériumot is fogunk használni.
1. A FILTER és OFFSET funkciók használata (az Excel új verzióira)
Először is, a következő kombinációt fogjuk használni SZŰRŐ , OFFSET , és COUNTA az Excel funkciói.
A SZŰRŐ funkció elérhető a Office 365 Tehát ez csak azoknak szól, akiknek van egy Office 365 előfizetés.
1. eset: Egyetlen kritérium alapján
Próbáljunk meg egy dinamikus listát készíteni azokról a tanulókról, akiknek az átlagpontszáma nagyobb vagy egyenlő a következő értékkel 60 .
Használhatja ezt a képletet:
=FILTER(OFFSET(C5,0,0,COUNTA(C:C)-1,1),OFFSET(D5,0,0,0,COUNTA(D:D)-1,1)>=60)
Amint láthatod, kaptunk egy listát az összes diákról, aki több mint 60 .
És nyilvánvalóan ez egy dinamikus lista. Az adathalmaz bármelyik értékét megváltoztathatja, vagy bármelyik új értéket hozzáadhatja az adathalmazhoz.
A lista automatikusan kiigazodik.
A képlet magyarázata:
COUNTA(C:C)
visszaadja a C oszlopban lévő azon sorok számát, amelyek nem üresek. TehátCOUNTA(C:C)-1
visszaadja azon sorok számát, amelyek értékei nem tartalmazzák a Oszlopfejléc ( Diák neve ebben a példában).- Ha nincs meg a Oszlopfejléc , használja
COUNTA(C:C)
OFFSET(C5,0,0,0,COUNTA(C:C)-1,1)
a cellából indul C5 (Az első tanuló neve), és az összes tanuló nevének tartományát adja vissza.- A OFFSET funkcióval kombinálva a COUNTIF funkció a képlet dinamikusan tartása érdekében. Ha az adathalmazhoz egy újabb diákot adunk hozzá, a
COUNTA(C:C)-1
a képlet a következővel fog növekedni 1 és a OFFSET funkció a diákot is magában foglalja. - Hasonlóképpen,
OFFSET(D5,0,0,0,COUNTA(D:D)-1,1)>=60
visszatér TRUE az összes olyan jel esetében, amely nagyobb vagy egyenlő, mint 60 . - Végre,
FILTER(OFFSET(C5,0,0,COUNTA(C:C)-1,1),OFFSET(D5,0,0,0,COUNTA(D:D)-1,1)>=60)
visszaadja azoknak a diákoknak a listáját, akiknek a pontszáma meghaladta a 60 . - Ha új diákot adunk hozzá az adathalmazhoz,
COUNTA(C:C)-1
növekszik 1 , és a SZŰRŐ függvény frissíti a számítást, beleértve azt is. - Így a képlet mindig dinamikus marad.
Megjegyzés:
Ha a listában szereplő nevekkel együtt akarjuk megkapni a jeleket is, csak változtassuk meg az első utasítás ötödik argumentumát OFFSET funkciót a 1 a címre. 2 .
=FILTER(OFFSET(C5,0,0,COUNTA(C:C)-1,2),OFFSET(D5,0,0,0,COUNTA(D:D)-1,1)>=60)
2. eset: Több kritérium alapján
Ezúttal próbáljunk meg több kritériumot.
Megpróbálunk egy dinamikus listát készíteni azokról a tanulókról, akiknek a pontszáma 60-nál nagyobb vagy azzal egyenlő, de akiknek az azonosítója kisebb vagy azzal egyenlő. 200 .
Használhatja ezt a képletet:
=FILTER(OFFSET(C5,0,0,COUNTA(C:C)-1,1),(OFFSET(D5,0,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,0,COUNTA(B:B)-1,1)<=200)))
Amint láthatjátok, van egy listánk azokról a tanulókról, akiknek a pontszámai meghaladták az alábbi értékeket 60 és van ID s kevesebb, mint 200 .
És nem kell mondani, ez egy dinamikus lista.
Ha megváltoztatja bármelyik értéket, vagy új diákot ad hozzá az adathalmazhoz, a lista automatikusan kiigazodik.
A képlet magyarázata:
- Itt két dinamikus kritériumtartományt szoroztunk meg,
(OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,0,COUNTA(B:B)-1,1)<=200)
- Ha több mint 2 kritériumokat, ugyanígy szorozza meg az összes kritériumtartományt.
- A többi ugyanaz, mint az előző példában (az egyetlen kritériummal). A OFFSET funkcióval kombinálva a COUNTA függvényt használtuk, hogy a képlet dinamikus maradjon.
Megjegyzés:
Ha a lista összes oszlopát látni szeretné ( B, C oszlopok, és D ebben a példában), változtassa meg az első argumentumot az első OFFSET függvényt az első oszlopra ( B5 ebben a példában), az ötödik argumentum pedig az oszlopok teljes száma ( 3 ebben a példában).
=FILTER(OFFSET(B5,0,0,COUNTA(C:C)-1,3),(OFFSET(D5,0,0,0,COUNTA(D:D)-1,1)>=60)*
(OFFSET(B5,0,0,0,COUNTA(B:B)-1,1)<=200)))
További információ: Excel dinamikus lista létrehozása táblázatból (3 egyszerű módja)
2. Az INDEX-MATCH használata más funkciókkal (régi verziókhoz)
Azok, akiknek nincs Office 365 előfizetés nem használhatja a fenti képletet.
Azoknak, akik az Excel régebbi verzióját használják, egy bonyolultabb módot mutatok, a INDEX-MATCH, OFFSET, SMALL, IF, ROW, COUNTIF, és COUNTIFS Figyelembe kell venni, hogy ezek a képletek tömbképletek. Így az Excel régebbi verzióiban történő alkalmazásukhoz meg kell nyomni a Ctrl+Shift+Enter ahelyett, hogy csak Entert használna.
1. eset: Egyetlen kritérium alapján
A 60-nál nagyobb vagy azzal egyenlő eredményt elért tanulók dinamikus listájának létrehozásához a következő képletet kell használni:
=INDEX(OFFSET(C5,0,0,COUNTA(C:C)-1,1),MATCH(SMALL(IF(OFFSET(D5,0,0,0,COUNTA(D:D)-1,1)>=60,
OFFSET(D5,0,0,COUNTA(D:D)-1,1),""),ROW(A1:INDIRECT("A"&COUNTIF(D:D,">=60")))),OFFSET(D5,0,0,0,COUNTA(D:D)-1,1),0),1),1),1)
Amint láthatjátok, ismét megkaptuk azoknak a diákoknak a nevét, akiknek az eredménye meghaladta vagy elérte az alábbi értéket. 60 .
Ezúttal a számok növekvő sorrendben vannak.
És igen, a lista dinamikus. Adjon hozzá egy új diákot az adathalmazhoz, vagy módosítsa bármelyik diák jegyeit az adathalmazban.
A lista automatikusan beállítja magát.
A képlet magyarázata:
- Itt C:C az az oszlop, amelyből a lista tartalmát ki akarjuk venni ( Diák neve ebben a példában). Ön használja a sajátját.
- D:D az az oszlop, amelyben a kritérium található ( Átlagos jegyek ebben a példában). Ön használja a sajátját.
- C5 és D5 azok a cellák, ahonnan az adataim kiindultak (közvetlenül a Oszlopcímek ). Használja a sajátját.
- ">=60" az én kritériumom (Nagyobb vagy egyenlő, mint 60 ebben a példában). Ön használja a sajátját.
- E néhány változtatástól eltekintve a képlet többi részét változatlanul hagyja, és használja az adathalmazában. A kívánt kritériumnak megfelelő dinamikus listát fog kapni.
2. eset: Több kritérium alapján
A INDEX-MATCH A több kritériumon alapuló dinamikus lista képlete egy kicsit bonyolultabb. Mégis megmutatom.
A képlet azon tanulók nevének megadásához, akiknek a pontszáma nagyobb vagy egyenlő volt, mint 60 , de van ID s kevesebb, mint 200 lesz;
=INDEX(OFFSET(C5,0,0,COUNTA(C:C)-1,1),MATCH(SMALL(IF((OFFSET(D5,0,0,0,COUNTA(D:D)-1,1)>=60)*
(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200),OFFSET(D5,0,0,0,COUNTA(D:D)-1,1),""),ROW(A1:INDIRECT("A"&COUNTIFS(B:B,"=60")))),OFFSET(D5,0,0,0,COUNTA(D:D)-1,1),0),1),1),1)
A képlet magyarázata:
- Itt C:C az az oszlop, amelyből a lista tartalmát ki akarjuk vonni ( Diák neve ebben a példában). Ön használja a sajátját.
- B:B és D:D azok az oszlopok, amelyekben a kritériumok találhatók ( Diákigazolvány és Átlagos jegyek ebben a példában). Ön használja a sajátját.
- B5, C5, és D5 azok a cellák, ahonnan az adataim kiindultak (közvetlenül a Oszlopcímek ). Használja a sajátját.
- Itt két kritériumot szoroztam meg:
(OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,0,COUNTA(B:B)-1,1)<=200)
Ha kettőnél több kritérium van, akkor ennek megfelelően szorozza meg. - Ismét a két kritériumot használtam ezen belül COUNTIFS funkció:
COUNTIFS(B:B,"=60")
. Aszerint használjátok a tiédet. - Tartsa változatlanul a képlet többi részét, és használja az adathalmazban. Egy dinamikus listát kap több kritériummal.
További információ: Hogyan készítsünk dinamikus adatérvényesítési listát az Excel VBA használatával?
3. Dinamikus legördülő lista létrehozása kritériumok alapján az adatérvényesítési eszköz használatával
Most már létrehoztuk a dinamikus listát. Ha akarod, akkor a dinamikus legördülő lista létrehozása a munkalap bármely cellájában.
- A dinamikus legördülő lista létrehozásához jelölje ki a munkalap bármelyik celláját, majd lépjen a Adatok> Adatérvényesítés> Adatérvényesítés a Adateszközök szakasz.
- Megkapja a Adatérvényesítés párbeszédpanel. A Engedélyezze a Opció, válassza a Lista . És a Forrás opciót, adja meg annak az első cellának a hivatkozását, ahol a lista található a munkalapon, valamint egy HashTag (#) ( $E$5# ebben a példában).
- Ezután kattintson a OK A kiválasztott cellában egy ilyen legördülő listát fog kapni.
További információ: Hogyan hozzon létre dinamikus legördülő listát a VBA használatával az Excelben?
Hogyan hozzon létre egy dinamikus egyedi listát az Excelben a kritériumok alapján
Ebben a részben azt mutatjuk be, hogyan hozhatunk létre egyedi listát az Excelben kritériumok alapján. A következők kombinációját fogjuk használni EGYEDI és SZŰRŐ Módosítottuk az adathalmazt, és hozzáadtuk az egyes diákok kedvenc játékait. Most a duplikációkat eltávolító játékok nevét akarjuk tudni a kritériumok alapján. A kritériumok a következők: a diákok átlagos jegyeinek nagyobbnak kell lenniük, mint 60 .
📌 Lépések:
- Tegye a képlet alapján a kombináció EGYEDI és SZŰRŐ funkciók a Cell G5 .
=UNIQUE(FILTER(E5:E25,(D5:D25>60)))
Egyedi listát kapunk a kritériumok alapján.
A képlet magyarázata:
- FILTER(E5:E25,(D5:D25>60)
Ez megszűri a E5:E25 tartomány , azzal a feltétellel, hogy az átlagpontszámnak a következőnél magasabbnak kell lennie 60 .
Eredmény: [Tenisz, röplabda, rögbi, tenisz, futball, rögbi, rögbi, rögbi, futball]
- UNIQUE(FILTER(E5:E25,(D5:D25>60)))
Ez az előző eredmény összes egyedi értékét visszaadja.
Eredmény: [Tenisz, röplabda, rögbi, labdarúgás]
Következtetés
Ezekkel a módszerekkel dinamikus listát hozhat létre egyetlen vagy több kritérium alapján bármilyen Excel-adatkészletben. Kérjük, tekintse meg weboldalunkat. ExcelWIKI és tegye meg javaslatait a megjegyzés rovatban.