La fórmula de Vlookup funciona con algunos meses, obtiene un error de #valor con otros

2

Aquí está mi fórmula:

=IFERROR(((VLOOKUP($D$2,UOS!$A$18:$AC$31,5))/30)*$G$2,"")

El $D$2campo se llena con=Text(c1,"mmmm")

Cuando uso esta fórmula y $D$2es enero, febrero, marzo, mayo, junio, julio, septiembre, octubre o noviembre, la fórmula funciona. Pero cuando $D$2es abril, agosto o diciembre no funciona.

La matriz de la tabla tiene el mismo formato para el mes.

El error que obtengo si elimino el IFERROR es #value

He intentado todo lo que se me ocurre: formateo, clave directa del mes en D2, etc.

¿Cómo puedo resolver esto?

Kat
fuente

Respuestas:

3

VLOOKUP (lookup_value, table_array, col_index_num) supone que la tabla está ordenada por los ordenamientos fundamentales (alfabético, numérico y cronológico). Dado que D2es un valor de texto (y supongo que la columna Acontiene las cadenas de texto January, February...), la clasificación alfabética entra en juego. "Abril", "agosto" y "diciembre" vienen alfabéticamente antes de "enero"; Por eso están fallando. Necesitas cambiar tu fórmula a

= IFERROR (((VLOOKUP ($ D $ 2, UOS! $ A $ 18: $ AC $ 31, 5 , FALSE )) / 30) * $ G $ 2, "")

para buscar una coincidencia exacta y no esperar que la lista se ordene alfabéticamente.


"Febrero" viene alfabéticamente antes de "enero" también; ¿Estás seguro de que está funcionando?

G-Man
fuente
Gracias. Curiosamente los otros meses funcionaron, pero esto resuelve el problema. Gracias
Kat