Función de búsqueda en Excel

05/07/2005 - 19:15 por mbergaretxe | Informe spam
Estimado Grupo:

Necesito una función que realice lo siguiente (tengo una pero no me
funciona nada bien):

Tengo en una celda la cadena: 100.25-125.50-350.75-500-600.5-700-950.26
Necesito una función que me devuelva el valor más cercano de la lista,
según el valor que haya en otra celda.

En mi ejemplo, imaginad:

Celda A1 = 100.25-125.50-350.75-500-600.5-700-950.26
Celda A2 = 692
Celda X1 (funciont) = Valor que debe devolver la función (el más
próximo de la lista) = 700

Imagino que no será muy complicado (yo soy un principiante en macros y
funciones Excel).

Mil gracias a todos por vuestra atención y ayuda. Mikel

Preguntas similare

Leer las respuestas

#1 victorbcn1952NO
05/07/2005 - 22:11 | Informe spam
Me temo que no te va a servir la cadena de texto que tienes en A1. Si en
A2 introduces 692, prueba esta fórmula matricial en cualquier otra celda:

{=INDICE({100,25\125,5\350,75\500\600,5\700\950,26};COINCIDIR(K.ESIMO.MENOR(ABS(A2-{100,25\125,5\350,75\500\600,5\700\950,26});1);ABS(A2-{100,25\125,5\350,75\500\600,5\700\950,26});0))}

Recuerda que en la fórmula matricial no debes teclear manualmente las
llaves inicial y final, sino introducirla pulsando simultáneamente
Ctrl+Mayúsc+Intro.

Dependiendo de la configuración de tu equipo, quizá debas cambiar las , de
la fórmula por .

:-)


Mikel wrote:

Estimado Grupo:

Necesito una función que realice lo siguiente (tengo una pero no me
funciona nada bien):

Tengo en una celda la cadena: 100.25-125.50-350.75-500-600.5-700-950.26
Necesito una función que me devuelva el valor más cercano de la lista,
según el valor que haya en otra celda.

En mi ejemplo, imaginad:

Celda A1 = 100.25-125.50-350.75-500-600.5-700-950.26
Celda A2 = 692
Celda X1 (funciont) = Valor que debe devolver la función (el más
próximo de la lista) = 700

Imagino que no será muy complicado (yo soy un principiante en macros y
funciones Excel).

Mil gracias a todos por vuestra atención y ayuda. Mikel
Respuesta Responder a este mensaje
#2 KL
05/07/2005 - 23:46 | Informe spam
...solo una cosita: creo que la funcion K.ESIMO.MENOR se podria sustituir
por la MIN, asi:

{=INDICE(matriz;COINCIDIR(MIN(ABS(matriz-A2));ABS(matriz-A2);0))}

Saludos,
KL


""Víctor"" wrote in message
news:
Me temo que no te va a servir la cadena de texto que tienes en A1. Si en
A2 introduces 692, prueba esta fórmula matricial en cualquier otra celda:

{=INDICE({100,25\125,5\350,75\500\600,5\700\950,26};COINCIDIR(K.ESIMO.MENOR(ABS(A2-{100,25\125,5\350,75\500\600,5\700\950,26});1);ABS(A2-{100,25\125,5\350,75\500\600,5\700\950,26});0))}

Recuerda que en la fórmula matricial no debes teclear manualmente las
llaves inicial y final, sino introducirla pulsando simultáneamente
Ctrl+Mayúsc+Intro.

Dependiendo de la configuración de tu equipo, quizá debas cambiar las , de
la fórmula por .

:-)


Mikel wrote:

Estimado Grupo:



Necesito una función que realice lo siguiente (tengo una pero no me
funciona nada bien):



Tengo en una celda la cadena:
100.25-125.50-350.75-500-600.5-700-950.26
Necesito una función que me devuelva el valor más cercano de la
lista,
según el valor que haya en otra celda.



En mi ejemplo, imaginad:



Celda A1 = 100.25-125.50-350.75-500-600.5-700-950.26
Celda A2 = 692
Celda X1 (funciont) = Valor que debe devolver la función (el más
próximo de la lista) = 700



Imagino que no será muy complicado (yo soy un principiante en macros
y
funciones Excel).



Mil gracias a todos por vuestra atención y ayuda. Mikel




Respuesta Responder a este mensaje
#3 KL
06/07/2005 - 00:37 | Informe spam
...otra forma:

1) en un modulo estandar crear una funcion personalizada como la siguiente:

Function miMatriz(Cadena As String, Delim As String)
miMatriz = Split(Trim(Cadena), Delim)
End Function

2) en la hoja de calculo introducir la siguiente formula matricial:

=VALOR(INDICE(miMatriz(A1;"-");COINCIDIR(MIN(ABS(miMatriz(A1;"-")-A2));ABS(miMatriz(A1;"-")-A2);0)))

Saludos,
KL


"KL" wrote in message
news:
...solo una cosita: creo que la funcion K.ESIMO.MENOR se podria sustituir
por la MIN, asi:

{=INDICE(matriz;COINCIDIR(MIN(ABS(matriz-A2));ABS(matriz-A2);0))}

Saludos,
KL


""Víctor"" wrote in message
news:
Me temo que no te va a servir la cadena de texto que tienes en A1. Si en
A2 introduces 692, prueba esta fórmula matricial en cualquier otra celda:

{=INDICE({100,25\125,5\350,75\500\600,5\700\950,26};COINCIDIR(K.ESIMO.MENOR(ABS(A2-{100,25\125,5\350,75\500\600,5\700\950,26});1);ABS(A2-{100,25\125,5\350,75\500\600,5\700\950,26});0))}

Recuerda que en la fórmula matricial no debes teclear manualmente las
llaves inicial y final, sino introducirla pulsando simultáneamente
Ctrl+Mayúsc+Intro.

Dependiendo de la configuración de tu equipo, quizá debas cambiar las ,
de
la fórmula por .

:-)


Mikel wrote:

Estimado Grupo:



Necesito una función que realice lo siguiente (tengo una pero no me
funciona nada bien):



Tengo en una celda la cadena:
100.25-125.50-350.75-500-600.5-700-950.26
Necesito una función que me devuelva el valor más cercano de la
lista,
según el valor que haya en otra celda.



En mi ejemplo, imaginad:



Celda A1 = 100.25-125.50-350.75-500-600.5-700-950.26
Celda A2 = 692
Celda X1 (funciont) = Valor que debe devolver la función (el más
próximo de la lista) = 700



Imagino que no será muy complicado (yo soy un principiante en macros
y
funciones Excel).



Mil gracias a todos por vuestra atención y ayuda. Mikel








email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida