Com crear una llista dinàmica a Excel basada en criteris (3 maneres)

  • Comparteix Això
Hugh West

Avui mostraré com crear una llista dinàmica basada en criteris únics o múltiples a Excel.

Descarregueu el quadern de pràctiques

Llista dinàmica basada en Criteria.xlsx

Què és una llista dinàmica a Excel?

Una llista dinàmica és una llista que es crea a partir d'un conjunt de dades i s'actualitza automàticament quan es canvia qualsevol valor del conjunt de dades original o s'afegeixen valors nous al conjunt de dades original.

A la imatge donada, tenim una llista dels noms de tots els estudiants que han obtingut notes superiors a 60 a l'examen.

Ara, si canvieu les notes de Jennifer Marlo de 68 a 58 i afegiu un nou estudiant anomenat Ross Smith amb notes 81 a la taula, la llista serà s'ajusta automàticament.

Això s'anomena llista dinàmica.

3 maneres de crear una llista dinàmica a Excel basant-se en criteris

Aquí tenim un conjunt de dades amb els IDs d'alumnes, Noms i Notes d'alguns alumnes d'una escola anomenada guarderia Sunflower.

El nostre objectiu avui és fer una llista dinàmica a partir dels criteris d'aquest conjunt de dades. Avui utilitzarem criteris únics i múltiples.

1. Ús de les funcions FILTER i OFFSET (per a les noves versions d'Excel)

En primer lloc, utilitzarem una combinació de FILTER , OFFSET i COUNTA funcions d'Excel.

La funció FILTRE està disponible només a Office 365 . Així que això només és per a aquells que tenen una subscripció a Office 365 .

Cas 1: Basat en criteris únics

Intentem fer una dinàmica llista d'alumnes la nota mitjana dels quals és superior o igual a 60 .

Podeu utilitzar aquesta fórmula:

=FILTER(OFFSET(C5,0,0,COUNTA(C:C)-1,1),OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)

Com podeu veure, tenim una llista de tots els alumnes que han aconseguit més de 60 .

I, evidentment, aquesta és una dinàmica llista. Canvieu qualsevol valor del conjunt de dades o afegiu qualsevol valor nou al conjunt de dades.

La llista s'ajustarà automàticament.

Explicació de la fórmula:

  • COUNTA(C:C) retorna el nombre de files de la columna C que no estan en blanc. Per tant, COUNTA(C:C)-1 retorna el nombre de files que tenen valors sense la Capçalera de la columna ( Nom de l'alumne en aquest exemple).
  • Si no ho feu. t tenen la Capçalera de la columna , utilitzeu COUNTA(C:C)
  • OFFSET(C5,0,0,COUNTA(C:C)-1,1) comencen des de la cel·la C5 (Nom del primer estudiant) i retorna un interval dels noms de tots els estudiants.
  • La funció OFFSET en combinació amb la funció COUNTIF s'ha utilitzat per mantenir la fórmula dinàmica. Si s'afegeix un estudiant més al conjunt de dades, la fórmula COUNTA(C:C)-1 augmentarà en 1 i la funció OFFSET inclourà l'estudiant.
  • De la mateixa manera, OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60 retorna TRUE per a totes les marques que són superiors o iguals a 60 .
  • Finalment, FILTER(OFFSET(C5,0,0,COUNTA(C:C)-1,1),OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60) retorna una llista de tots els estudiants que han obtingut notes superiors a 60 .
  • Si qualsevol estudiant nou s'afegeix al conjunt de dades, COUNTA(C:C)-1 augmenta en 1 i la funció FILTRE actualitza el càlcul incloent-lo.
  • Així, la fórmula sempre roman dinàmica.

Nota:

Si voleu obtenir les marques juntament amb els noms de la llista, només heu de canviar el cinquè argument de la primera funció OFFSET de 1 a 2 .

=FILTER(OFFSET(C5,0,0,COUNTA(C:C)-1,2),OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)

Cas 2: Basat en criteris múltiples

Aquest cop provem amb criteris múltiples.

Intentarem fer una llista dinàmica dels estudiants que va obtenir notes superiors o iguals a 60, però els identificadors són inferiors o iguals a 200 .

Podeu utilitzar aquesta fórmula:

=FILTER(OFFSET(C5,0,0,COUNTA(C:C)-1,1),(OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200))

Com podeu veure, tenim una llista de tots els alumnes que han obtingut notes superiors a 60 i tenen ID s inferior a 200 .

I no cal dir-ho, aquesta és una llista dinàmica.

Si canvieu qualsevol valor o afegiu algun estudiant nou al conjunt de dades, la llista s'ajustarà automàticament.

Explicació de la fórmula:

  • Aquí hem multiplicat dos rangs dinàmics de criteris, (OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200)
  • Si teniu més de 2 criteris, multipliqueu tots els intervals de criteris de la mateixa manera.
  • La resta és el mateix que l'exemple anterior (de criteri únic).La funció OFFSET en combinació amb la funció COUNTA s'ha utilitzat per mantenir la fórmula dinàmica.

Nota:

Si voleu veure totes les columnes de la llista ( Columnes B, C, i D en aquest exemple), canvieu el primer argument del primer OFFSET a la primera columna ( B5 en aquest exemple) i el cinquè argument al nombre total de columnes ( 3 en aquest exemple).

=FILTER(OFFSET(B5,0,0,COUNTA(C:C)-1,3),(OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*

(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200))

Més informació: Excel Crea dinàmica Llista de la taula (3 maneres senzilles)

2. Utilitzar INDEX-MATCH amb altres funcions (per a versions antigues)

Aquells que no tenen cap La subscripció a Office 365 no pot utilitzar la fórmula anterior.

Estic mostrant una manera més complexa per a aquells que utilitzen la versió anterior d'Excel, utilitzant INDEX-MATCH, Funcions OFFSET, SMALL, IF, ROW, COUNTIF, i COUNTIFS d'Excel. Tingueu en compte que aquestes fórmules són fórmules de matriu. Per tant, per aplicar-los a versions anteriors d'Excel, heu de prémer Ctrl+Maj+Retorn en comptes de només Intro.

Cas 1: basat en criteris únics

La fórmula per crear una llista dinàmica dels estudiants que hagin obtingut més o igual a 60 serà:

=INDEX(OFFSET(C5,0,0,COUNTA(C:C)-1,1),MATCH(SMALL(IF(OFFSET(D5,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,COUNTA(D:D)-1,1),0),1)

Com podeu veure, tornem a tenir els noms de tots els alumnes que han obtingut més o igual a 60 .

Aquesta vegada ens hem posat en ascensordre dels números.

I sí, la llista és dinàmica. Afegiu un estudiant nou al conjunt de dades o canvieu les notes de qualsevol estudiant del conjunt de dades.

La llista s'ajustarà automàticament.

Explicació de la fórmula:

  • Aquí C:C és la columna de la qual volem extreure el contingut de la llista ( Nom de l'alumne en aquest exemple). Feu servir el vostre.
  • D:D és la columna on es troba el criteri ( Notes mitjanes en aquest exemple). Feu servir el vostre.
  • C5 i D5 són les cel·les des d'on s'han iniciat les meves dades (just a sota de les Capçaleres de columna ). Feu servir el vostre.
  • “>=60” és el meu criteri (més o igual a 60 en aquest exemple). Feu servir el vostre.
  • A part d'aquests pocs canvis, manteniu la resta de la fórmula sense canvis i utilitzeu-la al vostre conjunt de dades. Obtindreu una llista dinàmica segons el vostre criteri desitjat.

Cas 2: basat en criteris múltiples

El INDEX-COMPARACIÓ La fórmula per a la llista dinàmica basada en diversos criteris és una mica més complexa. Tot i així, ho estic mostrant.

La fórmula per obtenir els noms dels estudiants que han obtingut notes superiors o iguals a 60 , però tenen ID s inferiors a 200 serà;

=INDEX(OFFSET(C5,0,0,COUNTA(C:C)-1,1),MATCH(SMALL(IF((OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*

(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200),OFFSET(D5,0,0,COUNTA(D:D)-1,1),""),ROW(A1:INDIRECT("A"&COUNTIFS(B:B,"=60")))),OFFSET(D5,0,0,COUNTA(D:D)-1,1),0),1)

Explicació de la fórmula:

  • Aquí C:C és la columna a partir de la qual volem aextreu el contingut de la llista ( Nom de l'alumne en aquest exemple). Feu servir el vostre.
  • B:B i D:D són les columnes on es troben els criteris ( ID de l'estudiant i Notes mitjanes en aquest exemple). Feu servir el vostre.
  • B5, C5, i D5 són les cel·les des d'on s'han iniciat les meves dades (just a sota de les Capçaleres de columna ). Feu servir el vostre.
  • He multiplicat dos criteris aquí: (OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200) .Si teniu més de dos criteris, multipliqueu en conseqüència.
  • He tornat a utilitzar els dos criteris. dins d'aquesta funció COUNTIFS : COUNTIFS(B:B,"=60") . Feu servir les vostres en conseqüència.
  • Mantingueu la resta de la fórmula sense canvis i utilitzeu-la al vostre conjunt de dades. Obtindreu una llista dinàmica amb diversos criteris.

Més informació: Com fer una llista de validació de dades dinàmica mitjançant VBA a Excel

3 . Creeu una llista desplegable dinàmica basada en criteris mitjançant l'eina de validació de dades

Ara hem creat la llista dinàmica. Si voleu, podeu crear una llista desplegable dinàmica a qualsevol cel·la del vostre full de treball.

  • Per crear la llista desplegable dinàmica, seleccioneu qualsevol cel·la del vostre full de treball. i aneu a Dades > Validació de dades > Validació de dades a la secció Eines de dades .

  • Obtràs la Validació de dades quadre de diàleg. A l'opció Permet , trieu Llista . I sota l'opció Font ,introduïu la referència de la primera cel·la on es troba la llista al vostre full de treball juntament amb un HashTag (#) ( $E$5# en aquest exemple).

  • A continuació, feu clic a D'acord . Obtindreu una llista desplegable a la cel·la seleccionada com aquesta.

Més informació: Com crear una llista desplegable dinàmica amb VBA a Excel

Com crear una llista única dinàmica a Excel basada en criteris

En aquesta secció, mostrarem com crear una llista única a Excel basada en criteris. Utilitzarem una combinació de funcions UNIQUE i FILTER . Hem modificat el conjunt de dades i hem afegit els jocs preferits de cada alumne. Ara, vull saber el nom dels jocs eliminant duplicats amb criteris. Els criteris són les notes mitjanes dels estudiants han de ser superiors a 60 .

📌 Pasos:

  • Poseu la fórmula basada en la combinació de les funcions UNIQUE i FILTER a la cel·la G5 .
=UNIQUE(FILTER(E5:E25,(D5:D25>60)))

Obtenim una llista única basada en criteris.

Explicació de la fórmula:

  • FILTRE(E5:E25,(D5:D25>60)

Això filtra els valors de Rang E5:E25 , amb la condició que les notes mitjanes hagin de ser superiors a 60 .

Resultat: [Tennis, Voleibol, Rugbi, Tennis, Futbol, ​​Rugbi, Rugbi, Futbol]

  • ÚNIC(FILTRE(E5:E25,(D5:D25>60)))

Això torna tot l'únicvalors del resultat anterior.

Resultat: [Tennis, Voleibol, Rugbi, Futbol]

Conclusió

Usant aquests mètodes, podeu crear una llista dinàmica basada en criteris únics o múltiples en qualsevol conjunt de dades d'Excel. Fes una ullada al nostre lloc web ExcelWIKI i dóna els teus suggeriments al quadre de comentaris.

Hugh West és un entrenador i analista d'Excel molt experimentat amb més de 10 anys d'experiència en el sector. És llicenciat en Comptabilitat i Finances i Màster en Administració i Direcció d'Empreses. Hugh té una passió per l'ensenyament i ha desenvolupat un enfocament pedagògic únic que és fàcil de seguir i entendre. El seu coneixement expert d'Excel ha ajudat a milers d'estudiants i professionals de tot el món a millorar les seves habilitats i a destacar en les seves carreres. A través del seu bloc, Hugh comparteix els seus coneixements amb el món, oferint tutorials d'Excel gratuïts i formació en línia per ajudar les persones i les empreses a assolir tot el seu potencial.