por PepeOooSevilla » Sab Feb 01, 2020 8:44 am
Hola.
Al responderte en mi primera intervención no me di cuenta que el expediente a buscar se debe buscar en un rango o intervalo de códigos de expedientes. Pensé que era un código de expediente exacto y por eso añadí el cero (0) como cuarto parámetro de la función BUSCARV(), por tanto, olvida lo que he dicho, no sirve para el caso que nos ocupa.
Ahora bien, mezclar en una tabla de búsqueda, números (ej. 12), textos (ej. A2457), ..., es una fuente de problemas.
Por experiencia propia, lo mejor para buscar en intervalos es que esos intervalos sean numéricos como puedes observar en la Hoja2 del archivo adjunto. La celda B4 tiene el valor 0 y la B5 el valor 100, pues bien, a la hora de buscar es como si la celda B4 tuviera el intervalo 0 - 99 (99 es B5 menos 1), B5 es como si tuviera el intervalo 100 - 999 (999 es B6 menos 1) y así sucesivamente. Por eso comento que la columna C (HASTA) no es necesaria. Y para seguir siendo coherentes se deben rellenar todos los intervalos para que "no haya huecos" (ver celdas B4, B7 y B9). ¡Muy importante! La tabla debe estar ordenada ascendentemente por el campo DESDE (columna B) si queremos buscar por intervalos.
En el caso que tengamos, como te sucede, números y textos, deberemos pasar todas las celdas a formato texto y, para que no haya errores en la búsqueda, todos los códigos deben tener el mismo número de caracteres. Observa la Hoja1. Los códigos numéricos comienzan con la letra "Z". También debe estar la tabla ordenada ascendentemente por el campo DESDE (columna B) y rellenar todos los posibles intervalos para que "no haya huecos". En la columna I hay una fórmula para homogeneizar con la tabla el código a buscar que se encuentra en las columnas G y H.
Obviamente, modifica a tu conveniencia.
Saludos cordiales.
- Adjuntos
-
ejemploArchivo_ferma_v3.ods
- LibO Calc 6.3.4
- (21.49 KiB) 39 veces
LibreOffice 6.4.6. Windows 10. Java 8 rev. 261 (64 bits)
Por favor, utiliza el Foro para tus consultas, no los mensajes privados
Si usas OpenOffice/LibreOffice trabaja y guarda en ODT, ODS, ODP, ... Y haz copias de seguridad.