A ver si alguien puede echarme una mano con este problema ya que me estoy
volviendo loco.
Tengo una hoja excel donde al usar la función BUSCARV("a";test;2;FALSO) y
teniendo como separador de listas el ; todo funciona perfectamente. El
problema viene cuando quiero exportar esa hoja a un .csv y como existen
textos que contienen el ; cambio el separador a |.
Lo que tengo tras ese cambio es que el excel automáticamente cambia la
función a BUSCARV("a"|test|2|FALSO) y sigue funcionando
Pero cuando trato de dar de alta una nueva llamada a la función BUSCARV me
aparece una ventana de error, avisándome de un error en la fórmula, cuando
tengo la certeza de que la fórmula es correcta (de hecho si cambio el "a" por
un "b" en la fórmula que el excel tradujo, también se produce dicho error).
Gracias de antemano
--
Manuel Madrid
"m_madrid" <mma...@discussions.microsoft.com> escribi� en el mensaje
news:03866275-26C4-40FB...@microsoft.com...
> Buenos d�as,
>
> A ver si alguien puede echarme una mano con este problema ya que me estoy
> volviendo loco.
>
> Tengo una hoja excel donde al usar la funci�n BUSCARV("a";test;2;FALSO) y
> teniendo como separador de listas el ; todo funciona perfectamente. El
> problema viene cuando quiero exportar esa hoja a un .csv y como existen
> textos que contienen el ; cambio el separador a |.
>
> Lo que tengo tras ese cambio es que el excel autom�ticamente cambia la
> funci�n a BUSCARV("a"|test|2|FALSO) y sigue funcionando
>
> Pero cuando trato de dar de alta una nueva llamada a la funci�n BUSCARV me
> aparece una ventana de error, avis�ndome de un error en la f�rmula, cuando
> tengo la certeza de que la f�rmula es correcta (de hecho si cambio el "a"
> por
> un "b" en la f�rmula que el excel tradujo, tambi�n se produce dicho
> A ver si alguien puede echarme una mano con este problema ya que me estoy volviendo loco.
> ... al usar la funcion BUSCARV("a";test;2;FALSO) y teniendo como separador de listas el ; todo funciona perfectamente.
> El problema viene cuando quiero exportar esa hoja a un .csv y como existen textos que contienen el ; cambio el separador a |.
1) donde, como y por que es que "tienes que" cambiar tu separador de argumentos (???)
considera que los archivos *.csv significan "Comma Separated Values" (valores separados POR COMAS)
y estos se refieren a que cada columna es separada por una COMA (el estandar en configuraciones americanas)
si la configuracion regional del equipo que genera el "csv" NO es la coma, automaticamente se utliza "su" separador (regional)
si las configuraciones regionales de los equipos que "generan <-> leen" los "csv" ES DIFERENTE... entonce si... hay problemas :-(
> ... tras ese cambio... excel automaticamente cambia la funcion a BUSCARV("a"|test|2|FALSO) y sigue funcionando
2) es logico, si lo que cambiaste es el separador de listas y argumentos en la configuracion regional de tu equipo (?)
> Pero cuando trato de dar de alta una nueva llamada a la funcion BUSCARV me aparece una ventana de error
> avisandome de un error en la formula, cuando tengo la certeza de que la formula es correcta
> (de hecho si cambio el "a" por un "b" en la formula que el excel tradujo, tambien se produce dicho error).
3) [igual al punto 1:]... donde, como y por que es que "tienes que" cambiar tu separador de argumentos (???)
comentas (si hubiera) detalles "en el tintero" ?
saludos,
hector.
En cuanto a tí Pepe comentarte que eso es precisamente lo que uso cuando
cambio el separador de ; a |
En cuanto a tí, Héctor Miguel, para explicarte la necesidad de tener que
cambiar de separador a la hora de generar un csv, te pongo un ejemplo. Supon
que la hoja excel contiene datos de empresas, y que uno de los datos es el
nombre (teniendo en cuenta que el nombre de las empresas puede ser "Pepe,
Paco y Tomás" ó "Hermanos Martín; S.L."); si desarrollo un software que lea
los csvs generados por dicha hoja, va a encontrar un separador en la coma que
separa "Pepe" y "Paco", o un separador en el ; que separa "Martín" y "S.L.".
De ahí, mi necesidad de usar un separador de columnas, del que tenga la
certeza que no va a estar dentro del nombre de una empresa, y se me ocurrió
"|"
Espero haberme explicado con claridad, si no es así prometo esmerarme más
para la próxima.
Neevamente gracias
--
Manuel Madrid
> Supon que la hoja excel contiene datos de empresas, y que uno de los datos es el nombre
> (teniendo en cuenta que el nombre de las empresas puede ser "Pepe, Paco y Tomas" o "Hermanos Martin; S.L.")
> si desarrollo un software que lea los csvs generados por dicha hoja, va a encontrar un separador en la coma que
> separa "Pepe" y "Paco", o un separador en el ; que separa "Martin" y "S.L.".
> De ahi, mi necesidad de usar un separador de columnas
> del que tenga la certeza que no va a estar dentro del nombre de una empresa, y se me ocurrio "|"
>
> Espero haberme explicado con claridad, si no es asi prometo esmerarme mas para la proxima...
(hasta donde se...) cuando generas archivos *.csv (desde excel)
- si algun campo/columna contiene el mismo caracter de "separacion de listas y argumentos"
lo que hace (excel) es delimitar ESE campo entre comillas dobles (para NO confundir cual es separacion de columna)
- si requieres exportar a archivos de texto usando un delimitador diferente del establecido en tu configuracion regional
y NO quieres "danzar" (inter)cambiando la configuracion entre uno y otro (segun el requisito "del momento")
aqui encuentras algunas macros y sugerencias para hacer exportaciones desde excel a archivos de texto:
-> Saving XL files as Text/CSV: http://www.mcgimpsey.com/excel/textfiles.html
si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.
En cuanto a la opción de usar una de las macros mostradas en el link que
adjuntabas, sencillamente es lo que necesitaba. ¿Por qué las mejores ideas
siempre son las más simples? y lo que es peor, ¿por qué siempre se les
ocurren a otros ?
Muchísimas gracias por todos
--
Manuel Madrid
> ... gracias por... los conceptos sobre la generacion de los csv.
> ... una de las macros mostradas en el link... es lo que necesitaba.
=> me alegra haber servido a tu consulta ;)
> Por que las mejores ideas siempre son las mas simples?
=> por... "regla general" ?
> y lo que es peor, por que siempre se les ocurren a otros ?
=> sera... "por piernas" ? (tiempo mas... tiempo menos ?) :D
saludos (y gracias por el "feed-back"),
hector.