Editar: me di cuenta de que dijiste que podrías estar trabajando con cientos de criterios. Mi respuesta original solo sería efectiva por unos pocos criterios. He actualizado el código a continuación, pero las imágenes aún pueden hacer referencia al antiguo VBA.
Puede hacer esto con un módulo VBA, luego incluso crear un botón para hacer clic que se filtrará en función de los valores que ingrese en ciertas celdas. Querrá tener la pestaña de desarrollador en la cinta si aún no la tiene mostrada. Vea aquí cómo mostrarlo.
Primero, determine qué celdas mantendrán sus criterios de filtrado. En tu primera foto, tienes esos en F3-F5. Eso está bien, pero cuando se filtra el rango, esas celdas pueden quedar ocultas. Por el bien de esta demostración, puse el rango en un área que no desaparecerá cuando filtre.
A continuación, presione Alt + F11 para abrir el editor de VBA, luego cree "Nuevo módulo" seleccionándolo en el menú desplegable que se muestra aquí:
En la nueva ventana del módulo que aparece, ingrese el siguiente código (EDITADO - Me di cuenta de que potencialmente está tratando con cientos de criterios):
Sub MultiSelectFilter()
Dim v As Variant
v = Split(Join(Application.Transpose(Range("A11:A13"))))
Worksheets("Sheet3").Select
Range("A1").AutoFilter
Range("A1").AutoFilter Field:=1, Criteria1:=v, Operator:=xlFilterValues
End Sub
Así es como funciona: Primero, le decimos a Excel que A11: A13 son números que queremos buscar. Eso es lo que hace la línea Dim v As Variant.
Luego le decimos a Excel cuáles son esos valores. En mi caso, A11 a A13. puede agregar o restar tantos criterios de búsqueda como desee.
A continuación, le decimos a Excel qué rango queremos filtrar. Seleccione la hoja primero, luego dígale qué rango filtrar (en este caso, A1 es la columna que filtraremos). Luego le decimos a la función de Autofiltro con qué valores buscar Range("A1").AutoFilter Field:=1, Criteria1:=v, Operator:=xlFilterValues
.
Ahora, cuando ingresa valores, puede ejecutar la macro MultiSelectFilter desde la pestaña del desarrollador en "Macros"
Y filtra el rango:
Para ir un paso más allá y hacerlo un poco más fácil de usar, puede asignar la macro a un botón. Agregue un botón debajo de la sección "Insertar" en la pestaña del desarrollador, luego seleccione la macro MultiSelectFilter.
Si eres nuevo en VBA, ¡este es un gran proyecto para comenzar! Espero que esto ayude.