diferencia entre datos de 2 celdas

03/08/2007 - 17:15 por Juan Gustavo Fogelman | Informe spam
hola Gente

tengo 2 celdas con datos y quiero en una tercera obtener la diferencia
EJ:

celdaA1: "01; 02; 03; 05; 07; 11; "
celdaA2: "01; 03; 07; 11; "
el resultado de celdaA3 deberia ser: "02; 05; "

debe notarse que uso: 2 numeros, un punto y coma, y un espacio
o sea: cada dato ocupa 4 espacios, incluido el punto y coma y el espacio
los datos son del 00 al 99 y pueden haber tantos como 100 en cada celda
la celdaA1 siempre tiene todos los datos de la celdaA2, mas otros. la
celdaA2, nunca tiene datos que no esten en la celdaA1
o sea: la celdaA2 es un subconjunto de la celdaA1

Gracias de antemano, que siempre me ayudan

Preguntas similare

Leer las respuestas

#6 julian-vlc-sp
04/08/2007 - 02:08 | Informe spam
¡Importante!: Colabora con el grupo.Contesta a este mensaje
y dinos si te sirvió o no la respuesta dada. Muchas gracias.

Vaya por delante que mis conocimientos de VBA son limitados, y que prefiero
la función de KL, pero

He probado tu función y no me funciona ¿Tu la has probado?, además no
termino de entenderla.

De forma resumida:

Mi función trabaja con grupos de 4 caracteres (dos dígitos, punto y coma y
un espacio), coge el primero y lo elimina del texto a comparar, después el
segundo y hace lo mismo y así hasta el final, de esta forma tenemos el
resultado que el texto a comparar quitándole los grupos del segundo texto.

La de KL trabaja con cualquier separador que tu le indiques y con cualquier
tamaño de grupo. Hace una matriz con los grupos que delimitan los
separadores y después resta todos los grupos del texto original para obtener
el resultado deseado.


SALUDOS.
Julián-Valencia-España
http://ijulian.iespana.es/


"Juan Gustavo Fogelman" escribió en el
mensaje news:
Bueno, al fin lo arme en VBA
***
Function distintos(celda1 As String, celda2 As String)

Dim contar1 As Integer
Dim numero1(99) As Integer
Dim numero2(99) As Integer
Dim resultado As String

For contar1 = 0 To (Len(celda1) / 4) - 1
numero1(Mid(celda1, contar1 * 4 + 1, 2)) = 1
Next

For contar1 = 0 To (Len(celda2) / 4) - 1
numero2(Mid(celda2, contar1 * 4 + 1, 2)) = 1
Next

For contar1 = 0 To 99
If numero1(contar1) = 1 And numero2(contar1) = 0 Then
resultado = resultado & Format(contar1, "00") & "; "
End If
Next
distintos = resultado
End Function
***

es mucho menos eficiente que la que me recomendaste, pero esta al menos la
entiendo mejor.
Muchas gracias

Respuesta Responder a este mensaje
#7 Juan Gustavo Fogelman
04/08/2007 - 02:28 | Informe spam
si, la he probado

mi funcion asume 2 numeros, punto y coma y espacio por grupo
asume tambien que celda1 tiene mas grupos que celda2, y que todos los grupos
de celda2 estan en celda1

seguro que se puede optimizar mucho, pero para lo que necesito cumple...
y bastante rapido... son varias hojas a comparar, con varias columnas cada
1, y unos 50000 filas

asi que me doy por hecho, mi primer funcion en excel.
Respuesta Responder a este mensaje
#8 julian-vlc-sp
04/08/2007 - 02:36 | Informe spam
¡Importante!: Colabora con el grupo.Contesta a este mensaje
y dinos si te sirvió o no la respuesta dada. Muchas gracias.

Lo principal es que te funcione.

Felicidades por tu primera función en Excel.

Mis comentarios no los tomes a mal, es solo que la he probado, y algo he
debido hacer mal porque a mi no me funciona.


SALUDOS.
Julián-Valencia-España
http://ijulian.iespana.es/


"Juan Gustavo Fogelman" escribió en el
mensaje news:
si, la he probado

mi funcion asume 2 numeros, punto y coma y espacio por grupo
asume tambien que celda1 tiene mas grupos que celda2, y que todos los
grupos de celda2 estan en celda1

seguro que se puede optimizar mucho, pero para lo que necesito cumple...
y bastante rapido... son varias hojas a comparar, con varias columnas cada
1, y unos 50000 filas

asi que me doy por hecho, mi primer funcion en excel.

Respuesta Responder a este mensaje
#9 Juan Gustavo Fogelman
04/08/2007 - 03:58 | Informe spam
no lo tomo a mal
si quieres te envio un xls donde esta funcionando
me envias un correo a mi direccion (sacale los "dot") y te lo envio
y gracias por interesarte y ayudar
Respuesta Responder a este mensaje
#10 julian-vlc-sp
04/08/2007 - 12:04 | Informe spam
¡Importante!: Colabora con el grupo.Contesta a este mensaje
y dinos si te sirvió o no la respuesta dada. Muchas gracias.

Gracias por el ofrecimiento, envíamelo a
quitando ESTOSOBRA, y así veré que he
hecho mal.


SALUDOS.
Julián-Valencia-España
http://ijulian.iespana.es/


"Juan Gustavo Fogelman" escribió en el
mensaje news:%
no lo tomo a mal
si quieres te envio un xls donde esta funcionando
me envias un correo a mi direccion (sacale los "dot") y te lo envio
y gracias por interesarte y ayudar


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida