Excel: problema de ordenamiento SIREN y SIRET
Elcaprio
-
Elcaprio -
Elcaprio -
Hola,
Tengo una tabla de 5000 entradas de SIRET y 5000 entradas de SIREN. Los SIREN son los mismos que los SIRET, tengo que hacer un acercamiento entre los dos para eliminar los SIREN (tengo datos que están en las líneas de SIREN que deben aparecer en las líneas de SIRET, de lo contrario simplemente eliminaría los SIREN).
Así que estoy en un aprieto porque copiar línea por línea 5000 SIREN para pegarlos en las líneas correspondientes de SIRET... ¡es muy lento!
ej:
tengo el SIRET 50040020030010 y el SIREN que corresponde: 500400200 y el objetivo es tener en una línea el SIRET y en la línea de abajo el SIREN.
Gracias por sus respuestas. Estoy bastante preocupado.
Configuración: Windows XP / Internet Explorer 8.0
Tengo una tabla de 5000 entradas de SIRET y 5000 entradas de SIREN. Los SIREN son los mismos que los SIRET, tengo que hacer un acercamiento entre los dos para eliminar los SIREN (tengo datos que están en las líneas de SIREN que deben aparecer en las líneas de SIRET, de lo contrario simplemente eliminaría los SIREN).
Así que estoy en un aprieto porque copiar línea por línea 5000 SIREN para pegarlos en las líneas correspondientes de SIRET... ¡es muy lento!
ej:
tengo el SIRET 50040020030010 y el SIREN que corresponde: 500400200 y el objetivo es tener en una línea el SIRET y en la línea de abajo el SIREN.
Gracias por sus respuestas. Estoy bastante preocupado.
Configuración: Windows XP / Internet Explorer 8.0
12 respuestas
-
Hola,
¿Dónde se encuentran tus números de SIREN (nombre de la hoja y columna)? Idem para los SIRET...
¿Nombre de una hoja vacía en el libro?
¿No eres alérgico a las macros?
Saludos cordiales,
Franck P -
Hola
Primera solución: añadir ceros detrás del SIREN para tener etiquetas que se puedan ordenar las 2 listas juntas
la fórmula =CTXT($A$4"00000";0;VERDADERO)
pon la celda en formato estándar y luego agrupa tus listas y ordena
segunda solución
extraer los 9 primeros caracteres en una columna la fórmula =IZQUIERDA(B5;9)
y agrupa tus listas y busca los duplicados la fórmula para buscar duplicados
=SI(NB.SI($C$4:$C$9;C4)>1;1;0)
en mi ejemplo el SIREN está en la columna C -
Bueno, a medida que la solicitud evoluciona, ¿puedes "arreglar" un archivo de ejemplo con nombres, siren y siret y otros datos ficticios como están actualmente en tu archivo, pero en las columnas correctas Y el resultado esperado? Puedes transferirnoslo a través de cjoint.com...
--
Atentamente,
Franck P -
Disculpe, puede que no haya sido muy clara en la exposición de mi solicitud.
Tengo un archivo de clientes de la empresa que me da el monto del seguro otorgado y debo actualizarlo con los datos proporcionados ayer por la aseguradora.
Eso me da esto: http://cjoint.com/?BFCkpcP4v9I
Para el archivo de la aseguradora, solo he incluido las columnas que me sirven, hay un montón de información que no me sirve.
Otro punto: una vez realizada la actualización, no conservaré la información del seguro. -
En tu archivo de prueba, todos los números de SIRET forman un "bloque", sin celdas vacías entre cada número. ¿Es el caso de tu archivo? ¿O hay celdas vacías aquí y allá?
--
Atentamente,
Franck P -
Tengo 3700 entradas de 4900 que tienen un SIRET o SIREN, de hecho tengo entradas donde se muestra que el SIREN.
Gracias por sus respuestas y por su paciencia.-
Gracias por tus respuestas y tu paciencia No hay ningún problema. La cuestión es que con una macro, es absolutamente necesario conocer la ubicación de cada elemento en tu archivo.
Así que voy a resumir:
en tu hoja llamada: DirecciónCliente Francia (sin espacio entre Dirección y Cliente, pero con un espacio entre Cliente y Francia)
tienes una "base de datos" de A1 a Sx compuesta, en las 5000 primeras filas de tu base de clientes con n° de SIRET (14 cifras), luego en las 5000 filas siguientes tus datos con: en la columna A las mismas referencias de clientes de A2 a A5000 y en la columna O los SIREN (9 cifras)
Deseas obtener, en una misma hoja (que llamaré resultado) la lista completa de tus datos con dos líneas contiguas por cliente, una que contenga el SIRET y otra que contenga el SIRENE
ej:
A2: 411001 O2: 50010050040000
A3: 411001 A3: 500100500
con por supuesto conservación de los datos de toda la línea...
¿Es eso correcto??? -
Eso está bien, pero con un pequeño error: la referencia del cliente del seguro no es la misma.
El archivo del seguro no contiene ningún encabezado, así que para orientarse es un poco una m***
Por lo tanto, solo recupero el SIREN y el monto del seguro.
Mi objetivo final es tener para un SIRET dado que corresponde al SIREN, el monto del seguro en la columna S.
Si los 9 primeros caracteres coinciden, entonces copiar "monto seguro" en la columna S.
-
-
Entonces, últimas preguntas:
1- los 9 primeros dígitos de tu SIRET son todos diferentes, no como en tu archivo de ejemplo:
50010050040000
50010050050000
50010050060000
50010050070000
50010050080000
50010050090000
50010050100000
50010050110000
50010050120000
2- quieres que los números transmitidos por el seguro que se encuentran entre S5001 (aproximadamente) y S10000 se coloquen entre S2 y S5001 al lado de los buenos números SIRET.
¿OK?
--
Atentamente,
Franck P-
Sí, todos son diferentes. He puesto los mismos por cuestión de simplificación en el ejemplo.
La única columna que me importa es la columna del monto de las aseguranzas.
Hablaba de pegar la fila de la aseguradora debajo de la fila de la empresa solo para poner la información sobre el monto de la aseguradora manualmente, pero es cierto que si se puede automatizar, entonces vamos a hacerlo.
Los siren los he puesto en la misma columna que los siret porque pensaba que, a través de un orden o filtros, podría resolver mi problema. Así que si se encuentran en otra columna, no es un problema.
Profundizando en la reflexión, pensé en una fórmula del tipo:
SI(IZQUIERDA(U2;9)=IZQUIERDA(O2;9);V2;"")
En la columna U están los SIREN y en V los montos. Pero no funciona...
-
-
De hecho, he dejado de lado la macro innecesaria en este caso.
Supongo que tus SIRET en la columna O de O2 a O5001, tus SIREN, en formato número en la columna O, de O5005 a O10006, los montos otorgados por el seguro en la columna S, de S5005 a S10006, quieres tus resultados por lo tanto en la columna S, de S2 a S50001.
En S2 ingresa la fórmula:
=SI(O2="";"";BUSCARV(CNUM(IZQUIERDA(O2;9));$O$25:$S$34;5;FALSO))
Fórmula a "estirar" método de copia hasta S5001...
--
Cordialmente,
Franck P -
No entiendo el $O$25:$S34$ en la fórmula.
Acabo de transcribir la fórmula en S2 y he puesto la información donde me dijiste, pero me aparece #N/A. -
Gracias por tus respuestas.
Desafortunadamente, no consigo aplicar tus fórmulas :(
Para evitar tener que bajar hasta la línea 5005 la próxima vez que mi supervisor de prácticas utilice el archivo, he puesto los SIREN en la columna U y los montos en V, de esta manera ella solo tendrá que hacer un copiar/pegar de las columnas y ponerlas respectivame en U2 y V2.
Entonces tengo esto ahora: http://cjoint.com/?BFCp2mCGpdn -
EN T2 poner esta fórmula =CNUM(GAUCHE(O2;9))
y en U2 poner esta
=SI(ESTERREUR(RECHERCHEV(T2;$O$2:$S$34000;5;FAUX));"";RECHERCHEV(T2;$O$2:$S$34000;5;FAUX)) -
Hola
Pon esta fórmula en S2
=SI(ESERROR(BUSCARV(CNUM(T2);$O$25:$S$34;5;FALSO));"";BUSCARV(CNUM(T2);$O$25:$S$34;5;FALSO))
y esta en T2
=IZQUIERDA($O25;9)
y ajusta el rango O25:S34 a tu rango
Luego arrastra hacia abajo.-
-
-
-
Acabo de darme cuenta de que no puedo cambiar el formato. Sin embargo, había puesto un formato personalizado: [>999999999]########_######;Estándar
El problema puede venir de ahí.
Al filtrar con la herramienta "filtrar", me doy cuenta de que en mi columna SIRET (por lo tanto O), hay cadenas de caracteres variables: la mayoría está compuesta por 14 dígitos (normal para un SIRET), pero tengo otros que tienen 9 dígitos. Tengo muchos que empiezan por 0, creo que eso no es normal y no debe ayudar.
Creo que no los voy a molestar más tiempo, voy a ingresar manualmente :-/ -
-