Táboa de contidos
Hoxe mostrarei como Excel filtra varios criterios dalgúns datos coincidentes usando a función FILTRO de Excel. Antes de pasar ao debate principal, gustaríame lembrarvos unha cousa. A función FILTRAR só está dispoñible en Office 365 .
Descargar Practice Workbook
Filtrar varios valores.xlsx
Introdución á función FILTRO
Primeiro imos coñecer a función FILTRO de Excel para filtrar varios criterios.
Mira o conxunto de datos a continuación. Temos os anos, os países anfitrións , os países campións e os subcampións de todas as Copas do Mundo da FIFA en columnas B, C, D, e E respectivamente.
Agora se che pregunto, cales son os anos nos que Brasil converteuse no campión?
Que farás?
Probablemente pasarás pola columna D (campión) e verás se hai un cela que conteña un Brasil nela ou non.
Entón, cando atopes un, moverás dous pasos á esquerda desa cela á columna B (Ano) e anote o ano correspondente.
E despois volverás baixar pola columna D e fará o mesmo para todas as celas que conteñan Brasil nela.
Así, anotarás todos os anos nos que Brasil foi o campión.
Para un pequeno conxunto de datos, isto é OK . Pero podes repetir o mesmo procedemento para un conxunto grande 4 veces . 3 veces por Alemaña Occidental e 1 vez polo presente Alemaña .
Agora, se entendes esta fórmula, podes saber os anos nos que a Copa Mundial da FIFA foi acollida por dous países ?
Estou dando ti unha pista. Debe haber un " e " no nome do país anfitrión. ( “e” entre dous espazos)
Si. Tes razón. A fórmula será:
=FILTER(B5:B25,ISNUMBER(SEARCH("* and *",C5:C25)))
Agora, vemos que isto ocorreu só unha vez en 2002 , aloxado por Corea do Sur e Xapón .
Opcións alternativas para filtrar varios criterios en Excel
Os métodos mencionados anteriormente sobre filtrar varios criterios son bastante útiles. Pero cunha unha desvantaxe , a función FILTRO só está dispoñible en Office 365 .
Aqueles que non teñen Office 365 subscrición, pode utilizar estes métodos alternativos para filtrar algúns datos con varios criterios.
Para descubrir os anos nos que Italia foi o país anfitrión ou campión , use a seguinte fórmula:
=IF((C5:C25="Italy")+(D5:D25="Italy"),B4:B24,"")
E para descubrir os anos nos que Brasil foi campión a 1970 , use esta fórmula:
=IF((B5:B25<=1970)*(D5:D25="Brazil"),B5:B25,"")
Nota: Non pode eliminar as celas en branco como a función FILTRO deste xeito. E prema Ctrl + Maiús + Intro para introducir as fórmulas.
Como usarFiltro avanzado en Excel
Aplicaremos varias criterios en unha columna usando datos calculados . Aquí, imos atopar produtos entregados con cantidade superior a 50 pero menos de 100 . Para iso, necesitamos aplicar a seguinte fórmula . A fórmula é -
=IF(AND(E550),E5,FALSE)
A saída na cela C16 é 55 como a cantidade entregada cae no intervalo .
Por iso, seleccione o comando Avanzado baixo a Ordenar e amp; Opcións de filtrado da pestana Datos .
Despois diso, colocamos todo o conxunto de datos como Intervalo da lista e celas C15:C16 como Intervalo de criterios .
Finalmente, prema Aceptar para ver o resultado , é dicir, unha lista de produtos entregados cunha cantidade no intervalo de 50 a 100.
Conclusión
Con estes métodos, pode filtrar calquera dato mantendo varios criterios en Excel. Coñeces algún outro método? Infórmano na sección de comentarios.
de datos, pense en 10000 filas?Ler máis: Como filtrar varias filas en Excel (11 enfoques adecuados)
A resposta é non, un gran non.
Entón, que facer?
Microsoft Excel trae unha función integrada chamada FILTRO para realizar exactamente o mesma tarefa para ti.
A función FILTRO toma tres argumentos, un intervalo de celas chamado matriz , un criterio chamado include, e un valor chamado if_empty que se devolve no caso de que non se cumpra o criterio para ningunha cela.
Entón, a sintaxe da función FILTER é:
=FILTER(array,include,[if_empty])
Para unha mellor comprensión, imos ao problema do Brasil . Temos que filtrar os anos nos que Brasil se converteu en campión.
A fórmula para conseguilo será:
=FILTER(B5:B25,D5:D25="Brazil","")
Mira, temos todos os anos nos que Brasil se converteu en campión, 1958, 1962,1970, 1994, e 2002 (Coreado na imaxe).
Agora para entender, imos desglosar a fórmula.
D5:D25=”Brasil” percorre todo as celas de D5 a D25 e devolve un VERDADEIRO se atopa un Brasil , se non, FALSO .
A fórmula FILTRO(B5:B25,D5:D25=”Brasil”,””) se converte despois en
=FILTER({B5,B6,B7,...,B25},{FALSE,FALSE,...,TRUE,...,FALSE},"")
Para cada VERDADEIRO , devolve a cela adxacente da matriz {B5,B6,B7,...,B25}
E para un FALSO , devolve nonresultado, “” . (Isto é opcional. O valor predeterminado non é ningún resultado, “” )
Hai un VERDADEIRO só para as celas B9 , B10 , B12 , B18, e B20 .
Polo tanto, devolve só o contido destas celas, 1958, 1962, 1970, 1994 e 2002.
Estes son os anos nos que Brasil se converteu en campión.
Espero que entendeses como funciona a función FILTRO .
Agora, se entendes isto, podes dicirme a fórmula para saber os anos nos que o país anfitrión foi campión?
Si. Tes razón. A fórmula é:
=FILTRO(B5:B25,C5:C25=D5:D25,””)
Mira, o país anfitrión converteuse en campión en 1930, 1934, 1966, 1974, 1978, e 1998.
4 xeitos de filtrar con varios Criterios en Excel
Agora entendemos como funciona a función FILTRO . Tentemos aplicar varios criterios dentro da función esta vez. Aquí tes unha visión xeral do conxunto de datos para a tarefa de hoxe.
1. Filtra varios valores de tipo OR
Primeiro de todo, centrémonos en varios criterios de OU tipo. Estes son os criterios que se cumpren cando se cumpre un ou máis dun criterio.
Por exemplo, a partir do conxunto de datos anterior, se che pregunto, dime un ano cando Arxentina converteuse en campión ou Alemaña Occidental converteuse en subcampión .
Podes dicir 1978 ou 1982 ou 1986 .
Agora, intentemos filtrar todos os anos nos que Italia era o anfitrión ou o campión ou os dous . Este é un problema de varios criterios de tipo OU . É unha tarefa fácil. Só ten que engadir os dous criterios cun signo máis (+) . Sigamos as instrucións seguintes para filtrar varios criterios en Excel!
Pasos:
- Primeiro de todo, seleccione a cela G5 e anote a función FILTRO nesa cela. A función será:
=FILTER(B5:B25,(C5:C25="Italy")+(D5:D25="Italy"))
- Por iso, simplemente prema Intro no teclado. Como resultado, obterás os anos nos que Italia foi o anfitrión ou campión ou ambos , o que é o retorno da función FILTRO .
Vexa, Italia foi anfitrioa ou campión ou ambos nos anos 1934, 1938, 1982, 1990, e 2006.
Desglose da fórmula
Agora, para entender, imos desglosar o fórmula.
- C5:C25=”Italia” devolve unha matriz de VERDADEIRO ou FALSO. VERDADEIRO cando Italia era o anfitrión, FALSO en caso contrario.
- D5:D25="Italia" tamén devolve unha matriz de VERDADEIRO ou FALSO . VERDADEIRO cando Italia era campioa, FALSO en caso contrario.
- (C5:C25=”Italia”)+(D5:D25=”Italia”) engade dúas matrices de valores booleanos, VERDADEIRO e FALSO . Pero considera cada VERDADEIRO como un 1 ,e cada FALSO como 0 .
- Devolve un 2 cando se cumpren ambos criterios, un 1 cando só se cumpre un criterio e un 0 cando non se cumpre ningún criterio.
A fórmula agora pasa a ser:
=FILTER({B5,B6,B7,...,B25},{0,2,1,...,0})
Considera os números maiores que cero (aquí 0 e 1) como VERDADEIRO e os ceros como FALSO.
Entón, devolve os anos da columna B cando se enfronta a un número maior que 0 e non devolve ningún resultado doutro xeito.
Agora, se comprender como funciona a función FILTRO con varios criterios de tipo OU, podes dar unha resposta a unha pregunta?
Cal será a fórmula para filtrar os anos nos que Brasil converteuse no campión ou Italia converteuse no subcampión ou os dous?
Si. Tes razón. A fórmula será:
=FILTER(B5:B25,(D5:D25="Brazil")+(E5:E25="Italy"))
2. Aplicar a función FILTRO para o criterio AND
Agora centrarémonos en criterios múltiples de tipos E . Isto significa que temos que satisfacer todos os criterios para obter un resultado VERDADEIRO , se non, FALSO .
Sabemos, ata o ano 1970 , a copa do mundo da FIFA chamábase trofeo “Jules Rimet” . Despois de 1970 , comezou a chamarse a copa do mundo da FIFA . Entón, a miña primeira pregunta é, cales son os anos nos que Brasil gañou o trofeo "Jules Rimet" ?
Hai dous criterios aquí.
- Primeiro, o anodebe ser inferior ou igual a 1970 .
- En segundo lugar, o país campión debe ser Brasil .
E deben cumprirse ambos os criterios. Como realizar esta tarefa?
Moi sinxelo. Multiplique os dous criterios dentro da función FILTRO cun signo (*) esta vez. Sigamos as instrucións seguintes para filtrar varios criterios en Excel!
Pasos:
- Primeiro de todo, seleccione a cela G5 e anote a función FILTRO nesa cela. A función será:
=FILTER(B5:B25,(B5:B25<=1970)*(D5:D25="Brazil"))
Desglose da fórmula
-
(B5:B25<=1970
devolve un VERDADEIRO se o ano é menor ou igual a 1970, en caso contrario, FALSO . -
(D5:D25="Brazil")
devolve un VERDADEIRO se o país campión é Brasil, en caso contrario, FALSO. -
(B5:B25<=1970)*(D5:D25="Brazil")
multiplica dúas matrices de VERDADEIRO e FALSO , pero considera cada VERDADEIRO como 1 e cada FALSO como 0 . - Entón, devolve un 1 se se cumpren os dous criterios, se non, devolve un 0.
- Agora a fórmula pasa a ser:
=FILTER({B4,B5,B6,...,B24},{0,0,...,1,1,...,0})
- Devolve o ano na columna B cando se enfronta a un 1 e non devolve ningún resultado cando se enfronta a un 0 .
- Por iso, simplemente prema Intro no seu teclado. Como resultado, obterás os anos nos que Brasil foi o campión do trofeo “Jules Rimet” , que é o regreso da función FILTRO . Ver,ata 1970 , Brasil gañou tres veces , en 1958, 1962, e 1970 .
Así podemos filtrar calquera dato que satisfaga varios criterios de tipo AND .
Agora pode dicirme a fórmula para descubrir os anos anteriores a 2000 cando Brasil foi campión e Italia subcampión?
A fórmula será:
=FILTER(B5:B25,(B5:B25<2000)*(D5:D25="Brazil")*(E5:E25="Italy"))
Lecturas similares:
- Aplicar varios filtros en Excel [Métodos + VBA]
- Como filtrar datos en Excel usando a fórmula
- Datos de filtro de Excel baseados no valor da cela (6 formas eficientes)
3. Filtra varios criterios con combinación de tipos AND e OU en Excel
Caso 1: OU dentro de OU
Agora se che fago unha pregunta, cales son os anos nos que un país sudamericano ( Brasil, Arxentina ou Uruguai ) foi campión ou subcampión ?
Podes dar a resposta á miña pregunta?
Revísao con coidado. Aquí o país campión ten que ser Brasil, Arxentina, ou Uruguai . Ou o país Subcampión ten que ser Brasil, Arxentina ou Uruguai . Ou ambos. Este é un problema de OR dentro do tipo OR. Non te preocupes, simplemente sigue as instrucións a continuación para filtrar varios criterios en Excel!
Pasos:
- Primeiro de todo, selecciona a cela G5 e escriba as funcións nesa cela. As funcións seránser:
=FILTER(B5:B25,(ISNUMBER(MATCH(D5:D25,{"Brazil","Argentina","Uruguay"},0)))+ (ISNUMBER(MATCH(E5:E25,{"Brazil","Argentina","Uruguay"},0))))
Desglose da fórmula
-
MATCH(D4:D24,{"Brazil","Argentina","Uruguay"},0)
devolve 1 se o equipo campión é Brasil, 2 se o equipo campión é Arxentina, 3 se o equipo campión é é Uruguai e un erro (N/A) se o equipo campión non é ningún deles. -
ISNUMBER(MATCH(D4:D24,{"Brazil","Argentina","Uruguay"},0))
converte os números en VERDADEIRO e os erros en FALSO . - Do mesmo xeito,
ISNUMBER(MATCH(E4:E24,{"Brazil","Argentina","Uruguay"},0))
devolve un VERDADEIRO se o país subcampión é Brasil, Arxentina ou Uruguai. E FALSO - Entón,
(ISNUMBER(MATCH(D4:D24,{"Brazil","Argentina","Uruguay"},0)))+(ISNUMBER(MATCH(E4:E24,{"Brazil","Argentina","Uruguay"},0)))
devolve un 1 ou 2 se un país sudamericano é campión ou segundos, ou ambos. - E devolve cero en caso contrario.
- A fórmula pasa a ser:
=FILTER({B4,B5,...,B24},{2,0,0,2,...,1,0})
- Devolve un ano da columna B se atopa un número maior que cero e non devolve ningún resultado doutro xeito.
- Por iso, simplemente prema Intro no teclado. . Como resultado, obterás os anos nos que un país de América do Sur ( Brasil, Arxentina ou Uruguai ) foi campión ou subcampión . Mira, atopamos todos os anos nos que un país de América do Sur era campión ou subcampión.
Caso 2: OU dentro de AND
Se entendes a fórmula anterior, podes dicir a fórmula para determinar os anos nos que tanto o campión como o subcampión eran de Sudamérica (Brasil, Arxentina, ou Uruguai) ?
Bastante sinxelo. Só ten que substituír o signo (+) da fórmula anterior por un signo (*) . As funcións son:
=FILTER(B4:B24,(ISNUMBER(MATCH(D4:D24,{"Brazil","Argentina","Uruguay"},0)))*(ISNUMBER(MATCH(E4:E24,{"Brazil","Argentina","Uruguay"},0))))
Mira, estas ocorreron só dúas veces, en 1930 e 1950.
4. Utiliza a función FILTRO en varias columnas
Agora, se observas máis coidadosamente, verás que ata o ano 1990 había un país chamado Alemaña Occidental . E despois de 1990 , non hai Alemaña Occidental . O que hai Alemaña . Os dous son en realidade do mesmo país. En 1990 , as dúas Alemaña (Este e Oeste) uníronse para formar a actual Alemaña.
Agora podes identificar os anos en que Alemaña foi a campión ? Non importa Este ou Oeste .
Tes que utilizar a función FILTRO en varias columnas.
A fórmula será:
=FILTER(B5:B25,ISNUMBER(SEARCH("*Germany",D5:D25)))
Desglose de fórmulas
-
SEARCH("*Germany",D5:D25)
busca calquera cousa que teña Alemaña ao final na matriz D5 a D25 . Se necesitas Alemaña no medio, utiliza “*Alemaña*”. - Devolve un 1 se atopa unha coincidencia (Alemaña Occidental e Alemaña) e volve un erro
-
ISNUMBER(SEARCH("*Germany",D5:D25))
converte os 1 en VERDADEIRO e os erros en FALSO . - Finalmente,
FILTER(B5:B25,ISNUMBER(SEARCH("*Germany",D5:D25)))
devolve os anos da columna B cando se enfronta a VERDADEIRO , se non, non devolve ningún resultado.
- Vexa que Alemaña foi a campioa