Como buscar con varios criterios en Excel (2 xeitos sinxelos)

  • Comparte Isto
Hugh West

Mentres traballamos en Excel, debemos facelo a miúdo. Debemos buscar un valor particular nun conxunto de datos que satisfaga un ou máis criterios. Hoxe mostrarei como pode buscar un ou máis valores que satisfagan varios criterios nun conxunto de datos en Excel.

Descargar o libro de prácticas

Descarga este libro de prácticas para facer exercicio mentres estás lendo isto. artigo.

Busca con varios criterios.xlsx

2 formas adecuadas de buscar con varios criterios en Excel

Mira os datos establecido a continuación. Temos os Identificacións dos empregados, os nomes dos empregados, as datas de incorporación e os e os Salarios dunha empresa chamada Jupyter Group . Buscaremos valores con varios criterios utilizando as funcións INDEX, MATCH, XLOOKUP, e FILTER . Aquí tes unha visión xeral do conxunto de datos para a nosa tarefa de hoxe.

Agora tentaremos buscar valores que cumpran varios tipos de múltiples criterios a partir deste conxunto de datos.

Método 1: Buscar varios criterios de tipo AND

Primeiro de todo, intentemos buscar varios criterios de tipo AND . Aquí, AND escriba varios criterios significa que un valor debe satisfacer todos os criterios para seleccionar. Tentemos atopar un empregado cun ID maior que 400 e un salario superior a $40000 . Podes realizar a tarefa de 3 formas diferentes.

1.1 Combina as funcións INDEX e MATCH en filas e columnas

Antes de ir ao punto principal, podes botarlle unha ollada ás funcións INDEX e MATCH de Excel. Descubriremos o empregado cun ID maior que 400 e un salario superior a $40000 mediante a fórmula INDEX-MATCH . Sigamos as instrucións a continuación:

Pasos:

  • Primeiro de todo, selecciona a cela G7 e escribe a seguinte fórmula.
=INDEX(C5:C16,MATCH(1,(B5:B16>400)*(E5:E16>40000),0),1)

  • Despois diso, preme Intro no teu teclado. Como resultado, atopamos un empregado cun ID maior de 400 e un salario superior a $40000 , Richard Samuelson .

Desglose da fórmula
  • B5:B16>400 pasa por todos os IDs na columna B e devolve unha matriz de VERDADEIRO e FALSO , VERDADEIRO cando un ID é maior que 400 , en caso contrario FALSO .
  • E5:E16>40000 pasa por todos os salarios na columna E e devolve unha matriz de VERDADEIRO e FALSO , VERDADEIRO cando un salario é superior a $40.000 , se non FALSO.
  • (B5:B16>400)*(E5:E16>40000) multiplica as dúas matrices de VERDADEIRO e FALSO e devolve un 1 cando o ID é maior que 400 e o salario é superior a $40.000 . En caso contrario, devolve 0 .
  • MATCH(1,(B5:B16>400)*(E5:E16>40000),0) pasa pola matriz (B5:B16>400)*(E5:E16>40000) e devolve o número de serie do primeiro 1 que atopa.
  • Neste caso, devolve 5 porque o primeiro 1 está no número de serie 5.
  • Finalmente, INDEX(C5:C16,MATCH(1,(B5:B16>400)*(E5) :E16>40000),0),1) devolve o nome do empregado do intervalo C5:C16 , cun número de fila igual ao resultado da función e da columna COINCIDIR número igual a 1 .
Notas Esta é unha Fórmula matricial . Polo tanto, non esquezas premer Ctrl + Maiús + Intro a menos que esteas en Office 365 .
  • Este é o empregado obrigado cun ID superior a 400 e un salario superior a $40.000 . Agora, se entendes isto, podes dicirme a fórmula para descubrir o empregado que se uniu antes do 31 de decembro de 2009 , pero aínda recibe un soldo menos de 25.000 $ .
  • Despois, escriba a seguinte fórmula na cela G7 .
=INDEX(C5:C16,MATCH(1,(D5:D16

  • Polo tanto, prema Intro . Ademais, obterás Angela Hopkins como devolución da fórmula.

Ler máis: 7 Tipos de busca que podes usar en Excel

1.2 Usando a función XLOOKUP

Podemos realizar a tarefa anterior usando a función XLOOKUP de Excel tamén. Pero lembra que XLOOKUP só está dispoñible en Office 365 . Antes de ir ao punto principal, podes botarlle unha olladana función XLOOKUP de Excel. Agora descubrimos o empregado cun ID maior que 400 e un salario superior a $40.000 mediante a función XLOOKUP . Sigamos as instrucións a continuación para aprender!

Pasos:

  • Primeiro, escriba a seguinte fórmula na cela G7 .
=XLOOKUP(1,(B5:B16>400)*(E5:E16>40000),C5:C16)

  • Como resultado, temos o mesmo empregado que antes, Richard Samuelson . Este é o nome do empregado cun ID maior que 400 e un salario superior a $40.000 .

Desglose de fórmulas
  • (B5:B16>400)*(E5:E16>40000) devolve unha matriz de 1 e 0 , 1 cando o ID é superior a 400 e o salario é superior a $40.000 . 0 se non.
  • XLOOKUP(1,(B5:B16>400)*(E5:E16>40000),C5:C16) primeiras buscas para 1 en a matriz (B5:B16>400)*(E5:E16>40000). Cando atopa un, devolve o valor da súa cela adxacente no intervalo C5:C16 .

Ler máis: Como usar a función LOOKUP en Excel (4 exemplos axeitados)

1.3 Aplicar a función FILTRO

O INDEX-MATCH e o XLOOKUP fórmula ten unha limitación. Se máis dun valor cumpre os criterios indicados, só devolven o primeiro valor. Por exemplo, no exemplo anterior, se miras detidamente, descubrirás que os hai dous empregados cun ID maior a 400 e un salario superior a $40.000 . Son Richard Samuelson e Usman Malik. Pero as fórmulas INDEX-MATCH e XLOOKUP devolven só o primeiro empregado , Richard Samuelson . Para obter todos os valores que cumpran os criterios indicados, pode utilizar a función FILTRO de Excel. Pero lembra que a función FILTRO tamén está dispoñible en Office 365 .

Pasos:

  • Para descubrir os empregados cun ID maior que 400 e un salario superior a $40.000 a fórmula FILTRO será:
=FILTER(C5:C16,(B5:B16>400)*(E5:E16>40000))

  • Despois diso, esta vez temos a todos os empregados que manteñen todos os criterios, Richard Samuelson e Usman Malik .

Desglose da fórmula
  • (B5:B16>400)*(E5:E16>40000) devolve unha matriz de 1 e 0 , 1 cando o ID é maior de 400 e o salario é superior a 40.000 dólares. 0 en caso contrario (consulta a sección INDICE-MATCH ).
  • FILTRO(C5:C16,(B5:B16>400)*(E5:E16> ;40000)) pasa por todos os valores da matriz (B5:B16>400)*(E5:E16>40000), e cando atopa un 1 , devolve o valor adxacente do intervalo C5:C16 .
  • Así obtemos todos os empregados cun ID maior que 400 e un salario maiorque $40.000 .
  • Agora, se entendes isto, podes dicirme a fórmula para coñecer os empregados que se incorporaron entre o 1 de xaneiro de 2014, e 31 de decembro de 2016 , pero recibiu un salario de polo menos $30.000 ? Si. Tes razón. A fórmula será:
=FILTER(C5:C16,(D5:D16>=DATE(2014,1,1))*(D5:D16=30000))

Ler máis: Como buscar varios valores en Excel (10 xeitos)

Método 2: buscar varios criterios de tipo OU

Agora, tentaremos buscar algúns valores que satisfagan varios criterios de tipo OU . Aquí, os criterios de tipo OU significan que un valor debe satisfacer polo menos un criterio entre todos os criterios a seleccionar. Tentemos descubrir o empregado que se incorporou antes do 1 de xaneiro de 2010 ou recibiu un salario superior a $30.000 .

2.1 Combina as funcións INDEX e MATCH no intervalo de datas

Fai clic aquí para visitar a función INDEX e fai clic aquí para visitar a función COMPARAR antes de continuar, se o desexa.

Pasos:

  • A fórmula INDEX-MATCH será a que se mostra na seguinte caixa de fórmulas.
=INDEX(C5:C16,MATCH(TRUE,((D5:D1630000))>0,0),1)

  • Mira, temos Jack Simpson , o primeiro empregado cunha data de incorporación antes do 1 de xaneiro de 2010 ou cun salario maior máis de 30.000 $ . Pero hai moitos máis empregados. Usando INDEX-MATCH, obtemos só o primeiro.
  • Xuntaremos a todos os empregados máis tarde usando o FILTRO máis tarde. Este é o empregado obrigado que cumpre polo menos un criterio.

Avaría da fórmula
  • D5:D16 ="" strong=""> devolve unha matriz de VERDADEIRO e FALSO . VERDADEIRO cando a data de unión na columna D é inferior ao 1 de xaneiro de 2010. FALSO en caso contrario.
  • E5:E16>30000 tamén devolve unha matriz de VERDADEIRO e FALSO . VERDADEIRO cando o salario é superior a 30.000 $. FALSO se non.
  • (D5:D1630000) engade as dúas matrices e devolve outra matriz de 0, 1, ou 2 . 0 cando non se cumpre ningún criterio, 1 cando só se cumpre un criterio e 2 cando se cumpren os dous criterios.
  • ((D5:D1630000))>0 pasa por todos os valores da matriz (D5:D1630000) e devolve TRUE se o valor é maior que 0 ( 1 e 2 ), e FALSO en caso contrario ( 0 ).
  • MATCH(VERDADEIRO,((D5:D1630000))>0,0) pasa por todos os valores da matriz ((D5:D1630000))>0 e devolve o primeiro número de serie onde obtén un TRUE .
  • Neste caso, devolve 3 porque o primeiro TRUE está na serie 3 .
  • Finalmente, INDEX(C5:C16,MATCH(VERDADEIRO,((D5:D1630000))>0,0),1) devolve o nome do empregado do intervalo C5:C16 co número de serie devolto pola función COMPARAR .

Agora, seentender isto, pode dicirme a fórmula para descubrir o empregado cun ID inferior a 300, ou unha data de incorporación inferior ao 1 de xaneiro de 2012, ou un salario superior a $30,000 ?

Si. Tes razón. A fórmula será:

=INDEX(C5:C16,MATCH(TRUE,((B5:B16<200)+(D5:D1630000))>0,0),1)

Ler máis: Como Buscar texto en Excel (7 métodos adecuados)

2.2 Aplicar a función XLOOKUP

Pode realizar a mesma tarefa usando a función XLOOKUP en Excel. XLOOKUP só está dispoñible en Office 365 .

Pasos:

  • A fórmula para atopar o empregado con unha data de incorporación anterior ao 1 de xaneiro de 2010 ou un salario superior a $30.000 será:
=XLOOKUP(TRUE,((D5:D1630000))>0,C5:C16)

  • Mira, temos o mesmo empregado que antes, Jack Simpson . Pero do mesmo xeito que coa fórmula INDEX-MATCH , máis empregados cumpren os criterios indicados. Só temos o primeiro.

Desglose da fórmula
  • ((D5: D1630000))>0 devolve VERDADEIRO cando se cumpre polo menos un dos dous criterios; en caso contrario, FALSO . Consulte a sección anterior.
  • XLOOKUP(VERDADEIRO,((D5:D1630000))>0,C5:C16) a continuación, devolve o nome do empregado da columna C5:C16 , onde obtén o primeiro VERDADEIRO .

Ler máis: Como buscar o valor doutra folla en Excel (3 métodos sinxelos) )

2.3 Usando a función FILTER

Por último,realice a mesma tarefa usando a función FILTRO en Excel. A función FILTRO só está dispoñible en Office 365 . Nesta ocasión conseguiremos todos os empregados que se incorporaron antes do 1 de xaneiro de 2010 ou recibiron salarios superiores a 30.000 $ .

Pasos:

  • A fórmula será a mesma que se mostra no seguinte cadro de fórmula.
=FILTER(C5:C16,((D5:D1630000))>0)

  • Así, devolve todos os empregados que cumpran polo menos un dos criterios indicados.
  • Mira, esta vez temos a todos os empregados que cumpren os nosos criterios, data de incorporación antes do 1 de xaneiro. 2010, ou salario superior a $30,000 .

Desglose da fórmula
  • ((D5:D1630000))>0 devolve VERDADEIRO cando se cumpre polo menos un dos dous criterios; en caso contrario, FALSO . Consulte a sección INDICE-MATCH .
  • FILTRO(C5:C16,((D5:D1630000))>0) percorre todas as celas do intervalo C5:C16 pero só devolve aqueles cando atopa un VERDADEIRO .

Ler máis: Como buscar un Táboa en Excel (8 métodos)

Conclusión

Con estes métodos, pode buscar algún valor que satisfaga varios criterios de calquera conxunto de datos. Coñeces algún outro método? Ou tes algunha dúbida? Non dubides en preguntarnos.

Hugh West é un adestrador e analista de Excel altamente experimentado con máis de 10 anos de experiencia na industria. É Licenciado en Contabilidade e Finanzas e Máster en Administración de Empresas. Hugh ten unha paixón polo ensino e desenvolveu un enfoque docente único que é fácil de seguir e comprender. O seu coñecemento experto de Excel axudou a miles de estudantes e profesionais de todo o mundo a mellorar as súas habilidades e a destacar nas súas carreiras. A través do seu blog, Hugh comparte os seus coñecementos co mundo, ofrecendo titoriais de Excel gratuítos e formación en liña para axudar ás persoas e ás empresas a alcanzar todo o seu potencial.