[RESUELTO] Reemplazar múltiples valores entre campos de Calc

Discute sobre la aplicación de hojas de cálculo

[RESUELTO] Reemplazar múltiples valores entre campos de Calc

Notapor normansimonr » Sab Abr 09, 2011 3:53 pm

Buenos días. Tengo la siguiente inquietud. He descargado una tabla en Calc con los proyectos de ley de los senadores de la República, lo que significa que el nombre de cada senador se repite varias veces, pero sin ortografía. Ahora tengo otra tabla en la que los nombres de los senadores están bien escritos, y quisiera reemplazarlos en la primera.

Sé que puedo usar el diálogo de buscar y reemplazar, pero son casi 400 registros y no me veo en esas. No sé si haya alguna fórmula, si los pueda pasar a base o si quizá con algo de programación en macros se pueda hacer algo.

Gracias de antemano.
Última edición por normansimonr el Lun Abr 11, 2011 8:38 pm, editado 1 vez en total
Openoffice.org 3.3 en Windows 7
Avatar de Usuario
normansimonr
 
Mensajes: 17
Registrado: Sab Mar 26, 2011 4:34 pm
Ubicación: Colombia

Re: Reemplazar múltiples valores entre campos de Calc

Notapor mauricio » Sab Abr 09, 2011 4:13 pm

Hola...

Creo que buscar y reemplazar puede servir. También con unas cuantas formulas, copiar, pegar y pegado especial, en unos minutos se hace. Pero todo dependerá de la estructura actual y de la estructura final. Si puedes subir una muestra representativa de como la tienes y como la quieres, podemos ayudarte...

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
mauricio
 
Mensajes: 5933
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX

Re: Reemplazar múltiples valores entre campos de Calc

Notapor PepeOooSevilla » Sab Abr 09, 2011 6:53 pm

Hola.
Como casi siempre en informática hay varios caminos para llegar al mismo resultado.
Mira en el archivo adjunto una posible forma de hacerlo.
Saludos cordiales.
Adjuntos
FORO_CALC_Reemplazar_multiples_valores.ods
(18.32 KiB) 4698 veces
LibreOffice 6.2.8 (64 bits, Still, Empresarial o Estable) en Windows 10. Java 9.0.4 (64 bits)
Por favor, utiliza el Foro para tus consultas, no los mensajes privados
Avatar de Usuario
PepeOooSevilla
 
Mensajes: 1132
Registrado: Sab Abr 04, 2009 6:10 pm
Ubicación: Sevilla (España)

Re: Reemplazar múltiples valores entre campos de Calc

Notapor normansimonr » Sab Abr 09, 2011 7:28 pm

Muchas gracias PepeOOoSevilla y Mauricio. En efecto, Pepe, tu solución es fenomenal, justo lo que estaba buscando. ¿Quizá me podrías explicar un poco más en detalle la sintaxis de la función BUSCARV?

¡Gracias!
Openoffice.org 3.3 en Windows 7
Avatar de Usuario
normansimonr
 
Mensajes: 17
Registrado: Sab Mar 26, 2011 4:34 pm
Ubicación: Colombia

Re: Reemplazar múltiples valores entre campos de Calc

Notapor PepeOooSevilla » Lun Abr 11, 2011 6:27 pm

Hola.
Voy a intentar explicar esta función desde mi experiencia con las hojas de cálculo. Te recuerdo que puedes consultar la Ayuda de CALC.
La función BUSCARV necesita de 4 parámetros:
=BUSCARV(qué_buscar; dónde_buscar; qué_columna_devuelvo; ¿está_ordenada_la_columna_de_búsqueda?)
Estos parámetros son:
1º) qué_buscar: es el valor que estoy buscando en la tabla o matriz. Tiene que coincidir con algún valor situado en la PRIMERA columna de la tabla o matriz. Puede ser un valor tecleado tal cual o una dirección de una celda.
2º) dónde_buscar: es un rango o área de celdas de N filas por M columnas. Normalmente se le asigna un nombre significativo para recordarlo mejor y porque, al asignarle un nombre, el rango de celdas se convierte en un rango de referencia absoluta y así se evitan problemas al copiar y pegar la fórmula.
3º) qué_columna_devuelvo: una vez encontrado el dato que busco me devuelve el valor situado en la MISMA fila donde ha sido encontrado pero en la COLUMNA que indica este parámetro, teniendo en cuenta siempre que la primera columna del rango es la 1.
4º) ¿está_ordenada_la_columna_de_búsqueda?: Este parámetro es opcional pero en el caso de no aparecer CALC asume que el valor pasado es VERDADERO. Ahora bien, ¿qué diferencia hay entre ordenado y no ordenado, o entre verdadero y falso? Un valor FALSO le indica que queremos que encuentre el valor EXACTO y, en caso de no encontrarlo, nos devuelva el error #N/D (no disponible, o #N/A dependiendo de la versión de CALC). Con la función ESNOD() puedo atrapar ese error y tratarlo en consecuencia. Un valor VERDADERO le indica que si encuentra el valor exacto lo devuelva PERO, en caso de no encontrarlo, que devuelva el valor correspondiente a aquel que no lo sobrepase (esto lo comprenderás mejor cuando veas los ejemplos).
Por favor, mira los ejemplos en el archivo adjunto.
Y de acuerdo con este proberbio "Olvido lo que oigo, recuerdo lo que leo y aprendo lo que hago" ... ¡A practicar!
Saludos cordiales.
Adjuntos
FORO_CALC_Ejemplos_funcion_BUSCARV.ods
(15.88 KiB) 1441 veces
LibreOffice 6.2.8 (64 bits, Still, Empresarial o Estable) en Windows 10. Java 9.0.4 (64 bits)
Por favor, utiliza el Foro para tus consultas, no los mensajes privados
Avatar de Usuario
PepeOooSevilla
 
Mensajes: 1132
Registrado: Sab Abr 04, 2009 6:10 pm
Ubicación: Sevilla (España)

Re: Reemplazar múltiples valores entre campos de Calc

Notapor normansimonr » Lun Abr 11, 2011 8:38 pm

Muchas gracias por los ejemplos. En estos momentos estoy analizándolos y si tengo alguna duda relacionada te preguntaré. Gracias por tomarte el trabajo de armar las hojas de cálculo con las fórmulas.

Un saludo.
Openoffice.org 3.3 en Windows 7
Avatar de Usuario
normansimonr
 
Mensajes: 17
Registrado: Sab Mar 26, 2011 4:34 pm
Ubicación: Colombia

Re: Reemplazar múltiples valores entre campos de Calc

Notapor Daniel_Laixer » Lun Nov 21, 2011 11:44 pm

PepeOooSevilla escribió:[...]
4º) ¿está_ordenada_la_columna_de_búsqueda?: Este parámetro es opcional pero en el caso de no aparecer CALC asume que el valor pasado es VERDADERO. Ahora bien, ¿qué diferencia hay entre ordenado y no ordenado, o entre verdadero y falso? Un valor FALSO le indica que queremos que encuentre el valor EXACTO y, en caso de no encontrarlo, nos devuelva el error #N/D (no disponible, o #N/A dependiendo de la versión de CALC). Con la función ESNOD() puedo atrapar ese error y tratarlo en consecuencia. Un valor VERDADERO le indica que si encuentra el valor exacto lo devuelva PERO, en caso de no encontrarlo, que devuelva el valor correspondiente a aquel que no lo sobrepase (esto lo comprenderás mejor cuando veas los ejemplos)[...]


Hola buenas, éste es mi primer post. Es más, me he registrado expresamente para escribir esto :roll:

Estaba teniendo un problema en una tabla con la función BUSCARV, ya que me daba error #N/D al buscar en casi todas las filas de mi tabla. Originalmente la función estaba escrita así =BUSCARV(H5;A2:D10;2), pero al añadir lo de FALSO: =BUSCARV(H5;A2:D10;2;FALSO()) la búsqueda ha empezado a funcionar correctamente. Sé que sin enseñarte la tabla las celdas de la función no tienen mucho sentido, pero lo quiero que se vea es en mi función original el parámetro "ordenado/no ordenado" no había sido especificado.

Aparte de para darte las gracias, escribo esto para preguntarte si no te has equivocado en tu explicación, y no querías decir "Un valor VERDADERO le indica que queremos que encuentre el valor EXACTO y, en caso de no encontrarlo, nos devuelva el error #N/D (no disponible, o #N/A dependiendo de la versión de CALC)." ya que me estaba devolviendo el error que mencionas estando el parámetro "ordenado/no ordenado" en su valor por defecto, es decir, VERDADERO.

EDIT: Vale, estaba haciendo un trabajo en Excel 2007 y al poner parámetro ordenado sale: VERDADERO - Coincidencia aproximada | FALSO - Coincidencia exacta, por lo que, suponiendo que en OOo sea igual, lo habías explicado bien. Pero ahora me asalta una duda, ¿por qué sólo funciona la función de mi tabla cuando pongo el parámetro ordenado en FALSO y no en VERDADERO?

Un saludo y gracias de nuevo
Última edición por Daniel_Laixer el Mar Nov 22, 2011 10:30 pm, editado 1 vez en total
LibreOffice 3.3.2 en Ubuntu 10.04 Lucid Lynx
Daniel_Laixer
 
Mensajes: 3
Registrado: Lun Nov 21, 2011 11:19 pm

Re: [RESUELTO] Reemplazar múltiples valores entre campos de

Notapor PepeOooSevilla » Mar Nov 22, 2011 5:28 pm

Hola.

Dos cuestiones antes de responderte:
- La primera es darte la bienvenida a este foro de la comunidad de Apache OpenOffice y derivados (OOo4Kids, OOolight, NeoOffice, LibreOffice).
- La segunda es para pedirte un favor, en el caso que no lo hayas hecho ya, lee la "Guía de supervivencia" donde se dan consejos para utilizar este foro de la mejor manera posible (http://user.services.openoffice.org/es/forum/viewtopic.php?f=3&t=795).

Si BUSCARV() te funciona cuando pones el parámetro ordenado en FALSO es porque la columna de búsqueda, que siempre es la primera del rango de celdas, no está ordenada y, por tanto, busca una coincidencia exacta.
Por favor mira los ejemplos incluidos en el archivo FORO_CALC_Ejemplos_funcion_BUSCARV.ods que adjunté a este tema. Creo que te ayudarán a entender más fácilmente lo del parámetro VERDADERO o FALSO.

Saludos cordiales.
LibreOffice 6.2.8 (64 bits, Still, Empresarial o Estable) en Windows 10. Java 9.0.4 (64 bits)
Por favor, utiliza el Foro para tus consultas, no los mensajes privados
Avatar de Usuario
PepeOooSevilla
 
Mensajes: 1132
Registrado: Sab Abr 04, 2009 6:10 pm
Ubicación: Sevilla (España)

Re: [RESUELTO] Reemplazar múltiples valores entre campos de

Notapor Daniel_Laixer » Mar Nov 22, 2011 10:30 pm

PepeOooSevilla escribió:Hola.

Dos cuestiones antes de responderte:
- La primera es darte la bienvenida a este foro de la comunidad de Apache OpenOffice y derivados (OOo4Kids, OOolight, NeoOffice, LibreOffice).
- La segunda es para pedirte un favor, en el caso que no lo hayas hecho ya, lee la "Guía de supervivencia" donde se dan consejos para utilizar este foro de la mejor manera posible (http://user.services.openoffice.org/es/forum/viewtopic.php?f=3&t=795).


Gracias por la bienvenida :D y si, ya le había echado un vistado a la "guía" :super:

La verdad es que ya había mirado los ejemplos de tu archivo, pero no lo entendía. Ahora me he dado cuenta que la tabla de la izquierda es en la que la función busca lo datos y la de la derecha es la de búsqueda. Como todas las prácticas que he hecho hasta ahora tienen otra estructura, no endendía tu ejemplo :knock:

PepeOooSevilla escribió:Si BUSCARV() te funciona cuando pones el parámetro ordenado en FALSO es porque la columna de búsqueda, que siempre es la primera del rango de celdas, no está ordenada y, por tanto, busca una coincidencia exacta.
Por favor mira los ejemplos incluidos en el archivo FORO_CALC_Ejemplos_funcion_BUSCARV.ods que adjunté a este tema. Creo que te ayudarán a entender más fácilmente lo del parámetro VERDADERO o FALSO.

Saludos cordiales.


Estudio un grado medio de S.M.R. (vamos, de informática) y ni si quiera la profesora había conseguido resolver el problema (y mira que sabe del tema). Esta mañana le he comentado la solución (hasta me ha pedido que le enseñase el post XD) y justo me ha aclarado lo mismo que tú :lol:, que era porque no estaba ordenada, y me ha explicado que lo de ordenada / no ordenada se refería a las columnas.

Si probábamos a mantener la fórmula original y ordenábamos los datos también funcionaba. Y también funciona desordenada al poner ;FALSO) sin la apertura y cierre de paréntesis extra que pones justo al lado, aunque lo convierte a ;0), por aquello de FALSO = 0, supongo (hago el apunte como curiosidad, no como crítica :mrgreen:).

Ya lo único que no entiendo es una cosa: sé cuando hay que poner FALSO y cuando VERDADERO, pero no entiendo por qué los conceptos de coincidencia exacta y coincidencia aproximada se llaman así. Mira que me parece una pregunta tonta, pero por más que releo tus posts no lo pillo.

Y por últimísimo, adjunto mi tabla por si alguien le quiere echar un vistazo.

Muchas gracias de nuevo
Saludos
Adjuntos
Práctica 6.ods
(11.25 KiB) 371 veces
LibreOffice 3.3.2 en Ubuntu 10.04 Lucid Lynx
Daniel_Laixer
 
Mensajes: 3
Registrado: Lun Nov 21, 2011 11:19 pm

Re: [RESUELTO] Reemplazar múltiples valores entre campos de

Notapor mauricio » Mié Nov 23, 2011 12:02 am

Hola...

La coincidiencia exacta es muy clara, ese y solo ese valor buscado, la coincidencia aproximada nos sirve, en otras cosas, para un rango de valores, te anexo un ejemplo, prueba a poner en la celda buscada valores desde 0 a 10 para que veas el resultado...

Saludos
Adjuntos
BuscarV.ods
(8.22 KiB) 604 veces
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
mauricio
 
Mensajes: 5933
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX

Re: [RESUELTO] Reemplazar múltiples valores entre campos de

Notapor Daniel_Laixer » Jue Nov 24, 2011 6:30 pm

mauricio escribió:Hola...

La coincidiencia exacta es muy clara, ese y solo ese valor buscado, la coincidencia aproximada nos sirve, en otras cosas, para un rango de valores, te anexo un ejemplo, prueba a poner en la celda buscada valores desde 0 a 10 para que veas el resultado...

Saludos


Vale, ahora sí entiendo los conceptos. Gracias :super:

Saludos
LibreOffice 3.3.2 en Ubuntu 10.04 Lucid Lynx
Daniel_Laixer
 
Mensajes: 3
Registrado: Lun Nov 21, 2011 11:19 pm


Volver a Calc

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 14 invitados