Tabla de contenido
En este artículo, hablaré de cómo encontrar varios valores en Excel. A menudo, al trabajar con hojas de cálculo, encontrar varios valores a la vez puede ser de gran ayuda. Por ejemplo, tenemos un conjunto de datos que contiene las aficiones de varias personas. Sin embargo, en este conjunto de datos, una persona ( Emily ) tiene más de una afición. Por lo tanto, ahora vamos a utilizar varias herramientas y funciones de Excel para obtener las múltiples aficiones de Emily a la vez. Además de eso, voy a mostrar cómo unir varios valores en una sola celda.
Descargar el cuaderno de prácticas
Puede descargar el cuaderno de prácticas que hemos utilizado para preparar este artículo.
Buscar varios valores.xlsm8 Métodos para Buscar Múltiples Valores en Excel
1. Utilizar la Herramienta Buscar y Reemplazar para Obtener Múltiples Valores en Excel
Puede obtener varios valores muy fácilmente utilizando la función Encuentre de la Buscar y reemplazar herramienta de MS Excel En nuestro conjunto de datos, el nombre Emily se menciona... 3 Por lo tanto, siga los siguientes pasos para encontrar estos 3 valores a la vez.
Pasos:
- En primer lugar, seleccione el conjunto de datos ( B4:C11 ).
- A continuación, pulse Ctrl + F para que aparezca el Buscar y reemplazar o vaya a Inicio > Edición de grupo> Buscar & Seleccionar > Encuentre .
- A continuación, escriba ' Emily en el Encuentre lo que y haga clic en el botón Buscar todo .
- Como resultado, hemos encontrado 3 nombres ( Emily ) que aparecen en la ventana inferior.
Más información: Cómo Encontrar un Valor en un Rango en Excel (3 Métodos)
2. Opción de filtro de Excel para buscar varios valores
Otra opción fácil y rápida para obtener múltiples valores en excel es utilizar la función Autofiltro Veamos los pasos de este método.
Pasos:
- En primer lugar, haga clic con el botón derecho del ratón en la celda a la que desea aplicar el filtro. Yo he seleccionado Célula B5 ya que necesito filtrar todos los nombres, Emily .
- A continuación, vaya a Filtro > Filtrar por el valor de la celda seleccionada .
- En consecuencia, todas las celdas que contengan el nombre Emily se filtran como se indica a continuación.
- Ahora, si desea deshacer el filtrado, basta con hacer clic en el botón Autofiltro de la cabecera del conjunto de datos, seleccione Borrar filtro de "Nombre y haga clic en OK .
Más información: Cómo encontrar un carácter en una cadena en Excel
3. Aplicar la opción de filtro avanzado para devolver varios valores
Excel dispone de una opción de filtrado denominada Filtro avanzado Esta opción es muy útil cuando se buscan varios valores. Debe establecer un intervalo de criterios para aplicar la función Filtro avanzado Repasemos los pasos de este método.
Pasos:
- En primer lugar, establezca el intervalo de criterios ( B13:C14 ).
- A continuación, vaya a Datos > Ordenar y filtrar > Avanzado .
- En consecuencia, el Filtro avanzado r. Ahora, configure la opción Rango de la lista ( Conjunto de datos ) y Gama de criterios y haga clic en OK .
- Por fin tenemos aquí todas las aficiones de Emily a la vez.
⏩ Nota
Recuerde que el Cabecera del conjunto de datos principal y el Gama de criterios tienen que ser similares, de lo contrario, el Filtro avanzado no funcionará.
4. Devolución de múltiples valores mediante una tabla definida por Excel
Podemos crear Tablas definidas en Excel y así aplicar el filtrado para obtener varios valores. Esta es una forma muy cómoda y fácil de encontrar varios valores.
Pasos:
- En primer lugar, haga clic en cualquiera de las celdas del conjunto de datos ( B4:C11 ).
- A continuación, pulse Ctrl + t del teclado. En consecuencia, el Crear tabla Compruebe el intervalo de la tabla y haga clic en OK .
- Como resultado, tenemos la siguiente tabla creada a partir de nuestro conjunto de datos.
- Ahora, haga clic en el icono de la flecha hacia abajo situado junto a la cabecera de la tabla. A continuación, marque el nombre Emily y haga clic en OK
- Finalmente, aquí está nuestro resultado filtrado esperado.
Lecturas similares:
- Cómo encontrar texto en una celda en Excel
- Excel Buscar Texto en un Rango (11 Métodos Rápidos)
- Cómo encontrar si la celda contiene un texto específico en Excel
- Buscar Carácter en Cadena Excel (8 Maneras Fáciles)
5. Insertar la función FILTRO para buscar varios valores
Esta vez utilizaremos la función FILTRO para devolver los valores múltiples en excel.
Pasos:
- En primer lugar, escriba la siguiente fórmula en Celda C14 .
=FILTER(C5:C11,B5:B11=B14)
- A continuación, pulse Entre en .
- En consecuencia, todas las aficiones de Emily vuelven de golpe.
⏩ Nota
➤ El FILTRO sólo está disponible para Excel 365 suscriptores.
6. Buscar Múltiples Valores con la Función INDEX en Excel
Puede encontrar varios valores utilizando la función INDEX junto con algunas otras funciones de Excel. Esta fórmula para obtener múltiples valores es compleja. La fórmula se introduce como una matriz. De todos modos, voy a explicar la fórmula a continuación. Antes de eso, vamos a ir a través de los pasos de este método.
Pasos:
- Inicialmente, escriba la siguiente fórmula en Celda C14 .
=INDEX($B$5:$C$11,SMALL(IF($B$5:$B$11=$B$14,ROW($B$5:$B$11)),ROW(1:1))-4,2)
- El resultado es el siguiente.
- A continuación, arrastre hacia abajo el botón Asa de llenado ( + ) para obtener los demás valores.
- Como consecuencia, aquí está la lista de las aficiones de Emily que conseguimos.
🔎 ¿Cómo funciona la fórmula?
- IF($B$5:$B$11=$B$14,FILA($B$5:$B$11))
Toma, la función IF devuelve un número de fila si un rango de celdas B5:B11 es igual a B14 en caso contrario, devuelve FALSO .
- SMALL(IF($B$5:$B$11=$B$14,FILA($B$5:$B$11)),FILA(1:1))
Ahora bien, esta parte de la fórmula utiliza la función SMALL que devuelve el enésima valor más pequeño. Esta fórmula devolverá los números: 5 , 8 , 11 .
- INDEX($B$5:$C$11,SMALL(IF($B$5:$B$11=$B$14,FILA($B$5:$B$11)),FILA(1:1))-4,2)
Ahora viene la parte final de la fórmula. Sabemos, que el ÍNDICE devuelve el valor en una posición dada. Otra cosa es que la función ÍNDICE considera la primera fila de nuestra tabla como fila 1. Como el conjunto de datos de mi tabla comienza en la fila 5 he restado 4 del FILA para obtener la fila correcta del conjunto de datos. Así, para la matriz B5:C11 números de fila 5 , 8 , 11 y la columna no 2 El ÍNDICE nos dará el resultado deseado
📌 Ocultar los errores generados por la fórmula anterior
Hay un problema con lo anterior ÍNDICE Cuando arrastre hacia abajo la Asa de llenado ( + ), la fórmula devuelve un error ( ¡#NUM! ) a partir de un determinado valor. Así pues, para arreglar la fórmula anterior utilizaremos la fórmula SI y ISERROR funciones.
Pasos:
- En primer lugar, escriba la siguiente fórmula en Celda C14 .
=IF(ISERROR(INDEX($B$5:$C$11,SMALL(IF($B$5:$B$11=$B$14,ROW($B$5:$B$11)),ROW(1:1))-4,2)),"",INDEX($B$5:$C$11,SMALL(IF($B$5:$B$11=$B$14,ROW($B$5:$B$11)),ROW(1:1))-4,2))
- Como resultado, obtendremos un resultado libre de errores.
Aquí, el ISERROR comprueba si un valor es un error y devuelve TRUE o FALSE. La fórmula anterior envuelta con SI y ISERROR comprueban si el resultado de la matriz es un error o no y, por lo tanto, devuelven un espacio en blanco ("") si el resultado es un error; en caso contrario, devuelven el valor correspondiente.
7. Función Definida por el Usuario para Buscar Múltiples Valores en Excel (VBA)
En este método, hablaremos de cómo utilizar la función Función definida por el usuario para obtener múltiples valores en Excel. En este caso, utilizaremos la función Función definida por el usuario : vbaVlookup .
Pasos:
- En primer lugar, vaya a la hoja de cálculo activa.
- En segundo lugar, vaya a Desarrollador > Visual Basic .
- Entonces el Visual Basic Vaya a la ventana Proyecto VBA (esquina superior izquierda de la ventana).
- En tercer lugar, haga clic con el botón derecho en el nombre del proyecto y vaya a Inserte > Módulo .
- Como resultado, obtendrá el Módulo Escriba el siguiente código en el Módulo .
Función vbaVlookup(lookup_value As Range, tbl As Range, col_index_num As Integer, Optional layout As String = "v") 'Declarar variables y tipos de datos Dim r As Single, Lrow, Lcol As Single, temp() As Variant 'Redimensionar la variable de array temp ReDim temp(0) 'Iterar a través de las celdas del rango For r = 1 To tbl.Rows.Count 'Comprobar si lookup_value es igual avalor de celda If lookup_value = tbl.Cells(r, 1) Then 'Guardar el valor de celda en la variable de matriz temp temp(UBound(temp)) = tbl.Cells(r, col_index_num) 'Añadir otro contenedor a la variable de matriz temp ReDim Conservar temp(UBound(temp) + 1) End If Next r 'Comprobar si el diseño de la variable es igual a h If layout = "h" Then 'Guardar el número de columnas que el usuario ha introducido este Definido por el usuarioFunction in. Lcol = Range(Application.Caller.Address).Columns.Count 'Iterar por cada contenedor de la variable array temp que no se rellenará For r = UBound(temp) To Lcol 'Guardar un espacio en blanco en el contenedor del array temp(UBound(temp)) = "" 'Aumentar el tamaño de la variable array temp con 1 ReDim Conservar temp(UBound(temp) + 1) Next r 'Disminuir el tamaño del arrayvariable temp con 1 ReDim Preserve temp(UBound(temp) - 1) 'Devuelve los valores a la hoja de trabajo vbaVlookup = temp 'Estas líneas se redondearán si la variable layout no es igual a h Else 'Guarda el número de filas que el usuario ha introducido esta Función Definida por el Usuario en Lrow = Range(Application.Caller.Address).Rows.Count 'Itera a través de las celdas vacías y no guarda nada en ellas para evitar un errorque se muestra For r = UBound(temp) To Lrow temp(UBound(temp)) = "" ReDim Preserve temp(UBound(temp) + 1) Next r 'Reduce el tamaño de la variable de matriz temp con 1 ReDim Preserve temp(UBound(temp) - 1) 'Devuelve la variable temp a la hoja de cálculo con los valores reordenados verticalmente vbaVlookup = Application.Transpose(temp) End If End Function
- Después, si empiezas a escribir la función en Celda C14 la función se mostrará como otras funciones de Excel.
- A continuación, escriba la fórmula siguiente en Celda C14 .
=vbaVlookup(B14,B5:B11,2)
- Por último, destacar que Emily tiene varias aficiones, como se muestra a continuación.
8. Obtener múltiples valores en una sola celda de Excel
Hasta ahora, hemos recibido múltiples valores listados verticalmente en diferentes celdas. Sin embargo, ahora, mostraremos múltiples valores unidos en una sola celda. Aquí, usaremos la función TEXTJOIN junto con el FILTRO para obtener los valores múltiples unidos.
Pasos:
- En primer lugar, escriba la siguiente fórmula en Celda C14 .
=TEXTJOIN(",",TRUE, FILTER(C5:C11, B5:B11=B14))
- Como resultado, todas las aficiones de Emily se presentan horizontalmente en una sola celda.
Aquí, el TEXTJOIN concatena la lista de aficiones utilizando comas.
Conclusión
En el artículo anterior, he tratado de discutir los métodos elaboradamente. Esperemos que estos métodos y explicaciones serán suficientes para resolver sus problemas. Por favor, hágamelo saber si usted tiene alguna pregunta.