URGENTE: Encontrar un Valor dentro de otro

11/09/2005 - 04:15 por Carlos García | Informe spam
Excel XP

Hola a todos

Dos preguntas:

1º ¿Cómo hago para encontrar un valor, por ejemplo "345", que esta en una
celda, en otra que lo contiene, pero además presenta dígitos adicionales, por
ejemplo 888777345? Ademas de hallarlo debo obtener un valor de resultado que
se encuentra en la misma fila de donde este valor esta, pero en otra columna.
Lo indico pues he intentado utilizar la función BUSCARV, sin éxito, pues creo
que no es la más apropiada. ¿Se podrá hacer esto sin macros, empleando sólo
las funciones de Excel XP?

2º ¿Cómo relaciono dos tablas que tienen un campo en común con una tercera
(cada una de ellas un campo distinto)(¿a modo de Access como se haría?)?

Desde ya Muchísimas Gracias

Carlos García

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
11/09/2005 - 07:18 | Informe spam
hola, Carlos !

Mostrar la cita
1) suponiendo un valor parcial [345] que pones en 'C1' y que...
necesitas 'encontrarlo' dentro del rango 'A2:A31' y que [una vez encontrado]...
necesitas 'devolver' de la misma fila un dato en la columna 'B'
a) las siguientes formulas son 'matriciales' [ya sabes... al introducirlas/editarlas se deben terminar con ctrl+mayusc+enter]
=max(fila(a2:a31)*no(eserror(hallar(c1,a2:a31))))
=min(elegir(1+eserror(hallar(c1,a2:a31)),fila(a2:a31),50))
-> la diferencia entre usar una u otra [solo] seria 'crucial' si se diera el caso de encontrarse mas de un valor 'coincidente'
-> la primera [max] devolveria el numero de fila donde se presenta 'la ultima' coincidencia
-> la segunda [min] devolveria el numero de fila donde se presenta 'la primer' coincidencia
=> AMBAS 'mienten' [o van a fallar] SI el dato que se busca NO existe en el rango donde se busca <= OJO
b) suponiendo que usas alguna de las formulas anteriores [p.e.] en la celda 'D1'...
cualquiera de las siguientes formulas te devolverian el dato que se encuentra en la columna 'B'... en la misma fila...
=indirecto("b"&d1)
=desref(a1,d1-1,1)
=indice(b2:b31,d1-1)
=indice(a2:b31,d1-1,2)

2) para el caso de tu segunda consulta [me temo que]... sera necesario que proporciones mayores detalles :))

si cualquier duda [o informacion adicional]... comentas?
saludos,
hector.
#2 KL
11/09/2005 - 14:01 | Informe spam
Hola chicos,

Usando los supuestos de Hector Miguel, tambien se podria devolver el valor
de la primera coincidencia mediante la siguiente formula MATRICIAL
(confirmada con Ctrl+Shift+Enter, no solo Enter):

=--BUSCARV("*"&F1&"*";""&A1:B3;2;0)
si la columna B contiene valores numericos

=BUSCARV("*"&F1&"*";""&A1:B3;2;0)
si la columna B contiene cadenas de texto

Saludos,
KL


"Héctor Miguel" wrote in message
news:
Mostrar la cita
#3 Carlos García
17/09/2005 - 05:05 | Informe spam
Hola a todos

Muchas gracias a Héctor Miguel y a KL, he resuelto mi problema con vuestra
ayuda.

Sobre la segunda pregunta, acabo de leer una consulta respondida por KL,
sobre como agregar más de 256 columnas. Pues bien KL recomienda justamente
crear dos tablas con una columna como "índice" (como en Access) para
relacionar ambas tablas, pues bien por ahí va el asunto.

En mi caso son tres tablas

Por ejemplo la Tabla 1 tiene un campo A1 que se relaciona con la Tabla 2 a
través de un campo A2 (A1 sería "clave principal"). La Tabla 2, a su vez
tiene un campo B2 ("clave principal") que relaciona esta tabla con la Tabla 3
a traves de su campo B3. ¿Cómo haría para quizás utilizar la función BUSCARV
para obtener datos desde la Tabla 1 de la Tabla 3?

Desde ya Muchísimas Gracias
#4 Héctor Miguel
17/09/2005 - 06:12 | Informe spam
hola, Carlos !

Mostrar la cita
-> suponiendo que con un dato en tabla1 que [probablemente] NO existe en tabla3 [por lo cual]...
habria que 'pasar' por un campo intermedio [comun SOLO entre tabla2 y tabla3]...
y... sin conocer cuales son los rangos [y hojas/libros] donde se encuentran las tablas 1, 2 y 3 -?-

[por lo pronto] te podria anticipar un 'pseudo-codigo' para una formula...
-> que busque desde tabla1 y rescate de tabla3... 'pasando' por tabla2 :))
=buscarv(buscarv(dato1,rango_Tabla2,col_Dato2,0),rango_Tabla3,col_Dato3,0)

toma nota que mi sistema usa como separador de argumentos a la coma ',' NO al punto y coma ';' ;)
haria falta que confirmes si existe la posibilidad de que algun dato se pudiera encontrar 1, 2 o ninguna veces -?-
[ya sea entre una otra o todas las tablas] -?-

si cualquier duda [o informacion adicional]... comentas?
saludos,
hector.
Ads by Google
Search Busqueda sugerida