¿Cómo consigo que el valor numérico de una celda a aparezca en otra como letra?

Hola:
Necesito Una función que me haga lo siguiente:
Tengo una lista de datos, por ejemplo:
A B
1 uno
1,2 uno con dos
2 DOS
3 TRES
4 cuatro
5 cinco
Quiera que cuando en una celda en cuestión (Ej. A20) el valor sea 2 en la celda A21 me aparezca DOS, pero si por ejemplo el valor es 1,8 me salga el más próximo, en este caso también DOS. ¿Lo he hecho con BUSCARV(-? Ordenado 1) y funciona, pero el número que me da siempre es el más bajo y no el más aproximado, o sea que con 1,8 por ejemplo me da UNO CON DOS y no el más próximo que es DOS. He hecho un montón de pruebas mezclando otras funciones pero no lo consigo.
Me gustaría solventar el problema con funciones, pero si tiene que ser una macro tampoco me importa.
Muchas gracias de antemano por tu ayuda
Saludos
Antonio

1 Respuesta

Respuesta
1
Vamos con el tema... la verdad es que es un poco enrevesado.
En principio, la función buscar localiza el valor objetivo o el inmediatamente anterior. En tu caso, algo así:
=BUSCARV(A20;A1:B6;1)
Lo que puedes hacer es localizar el número siguiente a la función buscar. Puedes usar esta fórmula:
=INDICE(A1:A6;COINCIDIR(A20;A1:A6;1)+1)
Suponiendo que la primera se encuentra en A21 y la segunda en A22, la fórmula sería:
=SI(A22-A20>A20-A21;A21;A22)
Lo que hace es comparar la distancia de los intervalos con el dato objetivo para elegir el que se encuentre más próximo.
Podrías combinar todo en una única celda:
=SI(INDICE(A1:A6;COINCIDIR(A20;A1:A6;1)+1)-A20>A20-BUSCARV(A20;A1:B6;1);BUSCARV(A20;A1:B6;1);INDICE(A1:A6;COINCIDIR(A20;A1:A6;1)+1))
Bueno, haz la prueba con esto y me comentas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas