Fórmula para busqueda en un registro

¿Nuevo en Apache OpenOffice? ¿No sabe cómo comenzar o dónde hacer su pregunta? ¡Este es el lugar!
Reglas del Foro
Los moderadores podrían mover los temas creados aquí a un foro más apropiado.
Si usted publicó aquí y no encuentra el tema, puede buscar sus mensajes haciendo clic en la opción «Buscar sus mensajes» que se encuentra justo debajo de la cabecera de la página, junto al panel de control de usuario y al acceso a sus mensajes privados.
Responder
ferma
Mensajes: 4
Registrado: Mié Ene 29, 2020 3:23 pm

Fórmula para busqueda en un registro

Mensaje por ferma »

Buenas tardes, estoy organizar un archivo de modo que al meter un número de expte. me diga en que cajón del archivador debería encontrarse. El archivo es extenso y no todos los expedientes empiezan por la misma referencia ya que depende del producto y de la provincia. He intentado con la fórmula BUSCARV, ordenando los expedientes primero por orden numérico y después alfanumérico, el problema lo he encontrado al introducir un número que no se encuentra en ninguno de los rangos, creo que me lo coloca en el cajón más cercano al número que pongo, en cualquier caso lo que quiero en que me de error o que diga que no existe. Adjunto tabla de ejemplo.
También me gustaría saber si existe alguna otra forma de hacerlo (seguro que sí) para no tener que ordenar los registros, es decir poder poner por cajones por orden independientemente de que los expedientes que haya dentro sean correlativos, siempre utilizo BUSCAR y estoy segura de que existen otras maneras.
Muchas gracias
Adjuntos
ejemploArchivo.ods
(11.01 KiB) Descargado 176 veces
OpenOffice3.1 en Windows Vista
Avatar de Usuario
PepeOooSevilla
Mensajes: 1480
Registrado: Sab Abr 04, 2009 6:10 pm
Ubicación: Sevilla (España)

Re: Fórmula para busqueda en un registro

Mensaje por PepeOooSevilla »

Hola.
Te damos la bienvenida al Foro y, por favor, no dejes de leer la Guía de supervivencia.
Modifica la fórmula de la celda H4:

Código: Seleccionar todo

=BUSCARV(G4;B4:D10;3)
Por:

Código: Seleccionar todo

=BUSCARV(G4;B4:D10;3;0)
El cero (0) final es el que le dice que haga una búsqueda exacta y si no encuentra lo que busca que devuelva "#N/D". Consulta en la Ayuda las funciones SI.ND(), SI.ERROR(), ESNOD() y ESERROR() para atrapar los posibles valores erróneos o "no encontrados" y actuar en consecuencia (dependiendo de la versión de OpenOffice/LibreOffice que tengas instalada puede que alguna de estas funciones no existan).
Aquí tienes unos ejemplos de BUSCARV: [RESUELTO] Reemplazar múltiples valores entre campos de Calc.
No dejes de visitar la página Manual de OpenOffice Calc de nuestro compañero SLV-es y, más concretamente, Las funciones BUSCARV y BUSCARH en OpenOffice Calc.
Saludos cordiales.
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.
ferma
Mensajes: 4
Registrado: Mié Ene 29, 2020 3:23 pm

Re: Fórmula para busqueda en un registro

Mensaje por ferma »

Buenas noches, muchas gracias por la ayuda y por la rapidez. Mañana lo pruebo y os cuento y gracias por remitirme al manual seguro que le saco partido.

Nos seguimos viendo por aquí, un saludo
OpenOffice3.1 en Windows Vista
ferma
Mensajes: 4
Registrado: Mié Ene 29, 2020 3:23 pm

Re: Fórmula para busqueda en un registro

Mensaje por ferma »

Buenas tardes ayer probé en mi archivo de ejemplo a poner 0 como me aconsejasteis y la fórmula salía perfectamente. Pero al hacerlo hoy en el archivo que estoy creando en el trabajo me daba continuamente #N/D tanto si existía como si no el número de expediente dentro de rango. He probado también con FALSO () pero me da el mismo error deja de encontrar cualquier número. No sé si puede ser por la versión que tengo instalada en el trabajo que es LibreOffice 5.0. Sigo probando muchas gracias
OpenOffice3.1 en Windows Vista
mriosv
Mensajes: 2334
Registrado: Sab Dic 27, 2008 1:12 am
Ubicación: Galiza (España)

Re: Fórmula para busqueda en un registro

Mensaje por mriosv »

¿Y el archivo ejemplo que te funcionaba lo probaste en el trabajo?
Puedes usar "Subir adjunto" en Respuesta rápida - Editor Completo - Pestaña Subir adjunto
Apache OpenOffice 4, LibreOffice (Win10x64)
ferma
Mensajes: 4
Registrado: Mié Ene 29, 2020 3:23 pm

Re: Fórmula para busqueda en un registro

Mensaje por ferma »

Qué va!!! No nos dejan llevar nada de fuera. Seguiré intentando y os cuento, al final tiene que salir. En cualquier caso muchísimas gracias por todo
OpenOffice3.1 en Windows Vista
Avatar de Usuario
PepeOooSevilla
Mensajes: 1480
Registrado: Sab Abr 04, 2009 6:10 pm
Ubicación: Sevilla (España)

Re: Fórmula para busqueda en un registro

Mensaje por PepeOooSevilla »

Hola.
En tu firma pone que trabajáis con OpenOffice 3.1. ¿Es correcto? Esa es una versión verdaderamente obsoleta y sin mantenimiento.
Saludos cordiales.
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.
Avatar de Usuario
PepeOooSevilla
Mensajes: 1480
Registrado: Sab Abr 04, 2009 6:10 pm
Ubicación: Sevilla (España)

Re: Fórmula para busqueda en un registro

Mensaje por PepeOooSevilla »

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) Descargado 165 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.
Responder