.06.02.17
Buenos días, César
Una serie de formulas COINCIDIR anidadas dentro de condicionales que busquen en cada columna, podría llegar a ser una solución... pero sumamente complicada de construir.
Sobre todo si -como suele suceder- tu planilla real difiere del ejemplo que pasaste.
Por ello, a falta de una opción natural de MS Excel para hacerlo te comparto esta función personalizada con VBA (UDF en la jerga).
Es decir esta es una fórmula ad-hoc para que haga esta búsqueda del encabezado de una tabla donde encuentre el valor de marras.
Si estás de acuerdo, accede al Editor de VBA (Atajo: Alt + F11), allí inserta un módulo (Insertar-Módulo) y pega el siguiente código:
Function BuscaEncab(valor As Range, ElRango As Range)
Application.Volatile True
Encabeza = "No Encontrado"
'
primfila = ElRango.Cells(1).Row
For Each Lacelda In ElRango
If Lacelda.Value = valor And Lacelda.Row <> primfila Then
'If Lacelda.Value = valor Then ' usa esta linea y anular la anterior
'para que tambien busque el valor en los encabezados.
Encabeza = Cells(primfila, Lacelda.Column).Value
GoTo Fin
End If
Next
Fin:
BuscaEncab = Encabeza
End Function
Cierra el editor de Visual basic.
Luego en tu planilla, en N4 coloca la siguiente fórmula:
=BuscaEncab(M4;$T$4:$Y$12)
[Considera si usas comas o punto y coma para separar argumentos de las funciones. Yo usé ";"]
Asígnale el formato deseado y, luego, copia esta celda y pégala en las restantes de esta misma columna, para los otros valores a buscar.
Como verás, esta es una fórmula especialmente desarrollada para tu pedido, donde le indicas, como primer argumento la celda donde está el valor a buscar y, el segundo es el rango donde debe buscar. Éste debe incluir la primera fila de cabecera aunque esos valores no serán tenidos en cuenta. Es decir, NO buscará el valor del primer argumento entre aquellos de la cabecera.
Si, eventualmente, quisieras que SI los considere, habilita la linea que te indico en el código y anula la anterior.
.