BYROW+checkbox para filtrado dinámico en control alimentario (APPCC)
Rosario trabaja en seguridad alimentaria y tiene un sistema APPCC (Análisis de Peligros y Puntos de Control Crítico) montado en Excel para una fábrica de aceitunas. La estructura es compleja: una tabla con 60 pasos de proceso en filas y 28 tipos de producto en columnas, donde cada celda es TRUE/FALSE indicando si ese paso aplica a ese producto. Además, una segunda tabla con 793 filas de peligros vinculados a cada paso.
El reto: seleccionar un producto en un desplegable y que automáticamente se muestren solo los pasos que le aplican, y luego filtrar los peligros asociados a esos pasos. Con 28 productos y 60 pasos, hacerlo a mano es inviable.
Leo resuelve el primer problema con una combinación de ELEGIRCOLS y COINCIDIRX que selecciona dinámicamente la columna del producto elegido:
``
=ELEGIRCOLS(Tabla1[]; COINCIDIRX(E2; Tabla1[#Encabezados]))
`
Y para obtener los pasos donde ese producto tiene TRUE:
`
=FILTRAR(
Tabla1[PASO];
ELEGIRCOLS(Tabla1[]; COINCIDIRX(E2; Tabla1[#Encabezados]))
)
`
COINCIDIRX localiza la posición del nombre del producto en los encabezados de la tabla, y ELEGIRCOLS extrae esa columna entera. Luego FILTRAR devuelve solo los pasos donde el valor es TRUE. Todo dinámico: cambias el desplegable y se actualiza al instante.
Para el segundo nivel de filtrado (traer los peligros asociados a esos pasos), la comunidad aporta varias técnicas. John propone usar CONTAR.SI como puente entre las dos tablas:
`
=FILTRAR(C3:C12; CONTAR.SI(E3:E4; B3:B12))
`
Y una alternativa con división perpendicular que filtra descartando errores:
`
=ENCOL(C3:C12 / (B3:B12 = ENFILA(E3:E4)); 2)
`
Tamer completa con fórmulas para BYROW + Y/O (AND/OR) que permiten filtrar según si TODAS o AL MENOS UNA casilla está marcada:
`
=SORT(FILTER(B5:B10; BYROW(C5:F10; AND)))
``
El fichero adjunto incluye tanto el planteamiento original (la estructura APPCC con las tablas de fases, pasos y peligros) como el fichero con la solución implementada. Un caso muy práctico donde Excel resuelve un problema real de gestión de calidad industrial.
Más contenido de Excel en InflueXcel
- Cuenta clientes y cervezas en Excel 🍺 Caso "La Taberna: El Poney Pisador" (Nivel 1) Tutorial🍺 Noche cerrada en Bree. Frodo, Sam, Merry y Pippin cruzan la puerta de El Poney Pisador huyendo de los Jinetes Negros: la sala está a reven
- SUMAR.SI.CONJUNTO en acción con El Señor de los Anillos 🃏 El 21 de La Comarca TutorialLo que practicamos en este caso: • Contar cartas por palo con CONTAR.SI • Sumar valores con condiciones (SUMAR.SI / SUMAR.SI.CONJUNTO) • Apl
- Reto de Excel: El cumpleaños de Bilbo 🎂 | CONTAR.SI y SUMAR.SI desde cero (Nivel 1) TutorialEn La Comarca se celebra el cumpleaños número 111 de Bilbo Bolsón: cerveza, pasteles, fuegos artificiales… y algún curioso escondido tras el
- ¡Excel PowerQuery Hack! Conexiones con rutas relativas en 10 minutos! Tutorial¿Harto de ajustar las conexiones en PowerQuery cada vez que compartes tu archivo de Excel? 🙄 Convierte las conexiones de PowerQuery con ruta
- Mejora un 90% el rendimiento de Power Query con SQLite TutorialPower Query es una herramienta potente para consolidar, combinar y calcular datos, pero cuando trabajamos con millones de registros y calcul
- Reorganizar tablas mensuales: cruzar por persona buscando en vertical y en horizontal CasoNuevo caso interesante de la comunidad. Juan tenía varias tablas mensuales (a veces más de una en el mismo mes) y quería reorganizarlas por
- Un dato de todas las hojas, escrito una sola vez CasoEsta semana surgió en la comunidad un reto muy habitual cuando un libro tiene muchas hojas: mostrar el valor de la celda B3 de cada hoja, in
- Un índice de hojas que se genera solo: HYPERLINK en rangos desbordados CasoEsta semana surgió en la comunidad un pequeño "expediente X". Un miembro llegó tras ver un vídeo con una idea clara en la cabeza: montar una
- Reformatear un código alfanumérico al teclear: de NN1234567 a NN-12345-67 CasoEsta semana surgió en la comunidad una duda muy práctica: cómo conseguir que al escribir un código tipo NN1234567 (dos letras seguidas de si
- Reclasificación contable: duplicar cada fila con una conversión distinta por columna, en un único bloque CasoInteresante reto contable planteado esta semana por un miembro de la comunidad. Juan parte de una tabla de apuntes contables (rango C7:P10)