ayuda con comparacion de cadenas en excel.

Iniciado por Railil, 17 Noviembre 2006, 11:46 AM

0 Miembros y 1 Visitante están viendo este tema.

Railil

a ver si me explico bien.....

vereis yo tengo una hoja de excel(hoja1) de la que he tomado unos datos(nombrecliente) y quiero compararlos con otra hoja de excel (hoja2)en la que tambien esta la variable nombrecliente y quiero compararlos para eliminar de hoja2aquellos que no aparecen en hoja1...el problema viee porque queriendo optimizarlo,lo he implementado de modo que los tome ordenados alfabeticamente,para que asi al compararlo alfabeticamente no tenga que empezar cada vez por el primer elemento de hoja2.

Asi que mi duda es la siguiente....

si quiero sabes si un mobrecliente de hoja2 es alfabeticamente anterior o posterior a un nombrecliente de hoja1....como podria hacer esa comparacion??

ejemplo

supongamos estos dos nombrescliente en hoja1 PEDRO  y  SUSANA

y en hoja2 tengo ALBERTO PEDRO y TOÑO

primero mi porgrama miraria PEDRO...evidentemente al compararlo con ALBERTO deberia notar que PEDRO es mayor alfabeticamente,borrar ALBERTO y
pasar a comparar PEDRO(de hoja1) con PEDRO(de hoja2) ahi al ver que son iguales,deberia de
pasar a comparar SUSANA con TOÑO(ya que ya ha comparado ALBERTO y PEDRO)ver que SUSANA es menor alfabeticamente y por tanto pasaria al siguiente elemento,
que al  no quedar mas en hoja1....deberia borrar TOÑO(porque no esta en hoja1...) y terminar....

esper que mas o menos se etienda(para dudas ,preguntar por favor)

gracias

saludos desd valencia
PROVERBIO CHINO:
"si un hombre tiene hambre,no le des un pez,enseñale a pescar"

CeLaYa

pero que caso tiene que te la compliques tanto, de todas maneras tienes que estar recorriendo la hoja1 para revisar los nombres

solo basta con una simple comparación

nombre1 = nombre2
"La soledad es el elemento de los grandes talentos".
Cristina de Suecia (1626-1689) Reina de Suecia.

Railil

es dificil de explicar el porque se me complica tanto,pero digamos que no solo necesito saber si son iguales,sino que tambien necesito saber si es mayor o menor alfabeticamente,es decir (siendo las primera palabra BASILIO y la segunda AURORA) necesito que me diga que no son iguales y que BASILIO es mayor alfabeticamente que AURORA.

lo necesito asi porque necesito optimizar la aplicacion,para que dure lo minimo posible ejecutando,y es porque estamos hablando de tablas de mas de 1000 elementos,con lo que el hecho de poder descartar varios elementos en una comprativa hara que el porgrama este mas optimizado,me explico

hoja1                      hoja2

AURORA                  AURORA
FABIO                     SERGIO
ROBERTO                RAMON
TAMARA                  ROBERTO

Si empiezo a comparar cada nombre de hoja 1 con los 4 de hoja2(necesito saber cuales estan presentes en las dos) significa hacer 20 comparaciones(4 *5)xo si en cambio despues de hacer la comparacion AURORA y AURORA,no tengo que volver a comparar AURORA,con ninguno de los elementos de la otra hoja,me quito 4 comparaciones, y voy a haer ahoa una traza para que veas la diferencia que quiero decir

traza 1(sin comparar alfabeticamente)
AURORA = AURORA??-----> SI
FABIO =  AURORA?--->NO
FABIO =SERGIO?--->NO
FABIO = RAMON?--->NO
FABIO = ROBERTO?--->NO
ROBERTO = AURORA?--->NO
ROBERTO = SERGIO?--->NO
ROBERTO = RAMON?--->NO
ROBERTO = ROBERTO?--->SI
TAMARA = AURORA?---->NO
TAMARA = SERGIO?--->NO
TAMARA = RAMON?---->NO
TAMRA = ROBERTO?--->NO
total numero comparaciones=13



traza 2(con comparacion alafabetica)

AURORA = AURORA------>SI (AURORA ya no vuelve a comprarase mas)
FABIO = AURORA?--->NO
FABIO = SERGIO?--->NO(y no sigo comprando fabio porque sergio es mayor alfabeticamente)
ROBERTO = SERGIO?---->NO
ROBERTO = RAMON?--->NO
ROBERTO = ROBERTO---->SI(ROBERTO ya no vuelve a compararse mas)
TAMARA =----->ya no tiene con quien compararse => NO
tota numero de comparaciones = 7

ves la diferencia??pues ahora imaginate con 1000 usuarios y no 4......

gracias  por responder....

saludos desd valencia

PROVERBIO CHINO:
"si un hombre tiene hambre,no le des un pez,enseñale a pescar"

CeLaYa

y porque en lugar de manejar los datos como una hoja de excel no los manipulas con un Datacontrol, asi es más fácil y con lo puedes hacer con una consulta SQL
"La soledad es el elemento de los grandes talentos".
Cristina de Suecia (1626-1689) Reina de Suecia.

Railil

muchisimas gracias por tu respuestas CeLaYa,que no es la primera vez   ;),

ya he encontrado una funcion que ya estaba creada(existia ya en el excel.... :-[) que se llama strcomp(string1,string2) y devuelve 1 si string1>string2, 0 si string1=string2 y -1 si string1<string2

saludos desd valencia

PROVERBIO CHINO:
"si un hombre tiene hambre,no le des un pez,enseñale a pescar"