Valor de retorno de Excel Vlookup de reference_row-1 en lugar de la fila de referencia

Valor de retorno de Excel Vlookup de reference_row-1 en lugar de la fila de referencia

Como asunto, estoy haciendo una búsqueda visual entre 2 archivos de Excel. El valor de retorno de la fórmula from reference_row-1("Habitación") en lugar de reference_row(DPS DPC). ¿Por qué sucedió esto y cómo podría solucionarlo?

error de retorno de búsqueda v de Excel

Respuesta1

El comentario de Mark Fitzgeraldestá en el camino correcto, pero no del todo.

La parte correcta es que el cuarto parámetro no está especificado Y no está especificado como FALSO.

Cuando no se especifica, el valor predeterminado es VERDADERO. También es VERDADERO cuando se especifica como VERDADERO. De cualquier manera, te encuentras con el problema que ves aquí, pero hay algo más que causa el resultado infeliz que estás obteniendo.

Antes de abordar eso, debo señalar que en un uso como el suyo, claramente se necesita una coincidencia exacta para obtener resultados correctos. Entonces debes agregar el cuarto parámetro y hacerlo FALSO para que busque una coincidencia exacta. El problema subyacente que estoy a punto de abordar no importará entonces, lo cual es un beneficio.

El verdadero problema proviene de cómo le dice a Excel qué rango usar para la búsqueda: el segundo parámetro. Está utilizando C:Vlo que le indica a Excel que use cada celda de esas columnas. Hay MUCHAS razones para NO hacer eso, pero la que importa aquí está ligada al valor de VERDADERO para el cuarto parámetro.

Cuando es VERDADERO, Microsoft nos dice VLOOKUP()(y algunas otras funciones si busca cosas cuando no espera una coincidencia exacta) buscará en los datos hasta que encuentre una celda que sea "mayor que" el valor de búsqueda, luego se detendrá y devolverá el valor JUSTO ANTES de ese valor "mayor que". Mencionaré que esto no es realmente la verdad, pero se acerca lo suficiente para su dificultad.

Debido a lo que afirman, sugieren que los resultados correctos solo se producirán cuando la columna de búsqueda (columna C aquí) esté ordenada, del valor más bajo al valor más alto ("AZ"). Y eso funcionará, casi siempre, incluso en su caso, probablemente (pero probablemente el 99,99%). Desafortunadamente, una gran cantidad de personas simplemente no pueden hacer ese tipo de cosas sin estropear alguna otra funcionalidad de sus datos. Para la mayoría, simplemente quieren ordenarlo según otras condiciones y no pueden ordenarlo por la columna de búsqueda.

Entonces, ¿qué te está pasando? La búsqueda busca "CA-lo que sea" en la columna C. Pero... comienza con el encabezado de la columna en la celda C1. Ese encabezado es "Código de barras"... y hasta ahora todo (más o menos) bien. Luego, en la celda C2, encuentra algo "mayor que" el valor de búsqueda (que comienza con "CA"). Digamos que si encuentra, en la celda C2, algo alfabéticamente después de él y del encabezado. Inmediatamente se detiene y "retrocede" a la celda del encabezado. Esa es la fila 1 del rango, se lee hacia la derecha en la columna S y encuentra "Habitación" en esa celda (S1). Eso es lo que devuelve.

En verdad, si C2 no hubiera pasado el valor de búsqueda alfabéticamente, seguramente habría encontrado algo que estaba mucho antes de llegar a C380 y se habría detenido en ese punto anterior, retrocedido una fila y devuelto el valor S de la columna de esa fila. Lo cual TAMBIÉN habría estado mal, pero podría no haber estado tan obviamente mal como para que lo hayas notado. Después de todo, le daría un espacio de aspecto normal. Puede que todo parezca bueno. Y, sin embargo, podría haber fácilmente 4 o 32, o incluso entre 200 y 300 valores erróneos AHORA MISMO.

Como mencioné al principio, claramente necesitas coincidencias exactas de todos modos, así que agrega el cuarto parámetro a la búsqueda. Uso FALSE, no TRUE. FALSO lo obligará a buscar una coincidencia exacta.

Dado que el problema se publicó hace más de dos años, parece probable que lo hayas resuelto de una forma u otra. Pero tal vez esto sea útil para alguien más, alguien a quien le pueda resultar útil incluso para explicar los resultados de agregar con otras funciones que supuestamente funcionan como dice MS, pero que realmente funcionan como dije, aunque tocarlo fue solo una pequeña porción de todo el tema! Pero cualquier función que realice búsquedas puede encontrarse con ella. MATCH()e XMATCH()incluso la nueva XLOOKUP()función. Es cierto que las funciones más nuevas solo funcionan cuando usan coincidencias no exactas, pero como lo hacen y la gente las usa de esa manera... Y hay otras ocasiones en las que esto surge.

información relacionada