.
Buenas, Elena
Veo que me lo vas complicando cada vez más.
Para evitar una fórmula aún más larga, compleja y proclive a muchos errores, mi sugerencia es dividir lo complejo. Usaremos aquella misma fórmula que te sugerí dos veces: una para lo que esté a la izquierda del punto y otra para lo que esté a la derecha. Por lo tanto, necesitaremos un par de celdas auxiliares para dividir ese código en dos y otro par para que haga las búsquedas.
Noté en la otra respuesta (que curiosamente ya valoraste (no así la mía)) que tienes la tabla de conversion en formato horizontal, así que adapté aquella fórmula a esa estructura.
Fíjate en la siguiente imagen, una reproducción de aquella planilla:

Como verás, en el cuadro de abajo te aclaro qué hace cada celda.
- En la celda M8 (en celeste), coloca ésta fórmula:
=IZQUIERDA($L8;ENCONTRAR(".";$L8)-1)
Ésta separa los caracteres que estuviesen a la izquierda del punto. Si no hubiese punto, dará error, pero no importa.
- En la celda N8 (en verde), iría esta otra fórmula
=SI(ESERROR(ENCONTRAR(".";$L8));$L8;DERECHA($L8;LARGO($L8)-ENCONTRAR(".";$L8)))
Es similar a la anterior, pero para capturar los caracteres que estuvieran a la derecha del punto.
Pero tiene un control para el caso de que no hubiese un punto de referencia en cuyo caso, tomará los caracteres que encuentre en la celda de la columna L (fijate el 3º ejemplo)
- En la celda O8 (gris), va ésta fórmula:
=VALOR(BUSCARH(EXTRAE(M8;1;1);$B$3:$K$4;2;0)&BUSCARH(EXTRAE(M8;2;1);$B$3:$K$4;2;0)&SI(LARGO(M8)>3;BUSCARH(EXTRAE(M8;3;1);$B$3:$K$4;2;0)&BUSCARH(EXTRAE(M8;4;1);$B$3:$K$4;2;0);SI(LARGO(M8)>2;BUSCARH(EXTRAE(M8;3;1);$B$3:$K$4;2;0);"")))
Es la que te pasé el otro día pero modificada a BUSCARH y a la ubicación de la tabla de referencia, en este caso convirtiendo los caracteres a la izquierda del punto, si los hubiere. Si no, dará error, pero tampoco importa.
- En la celda P8 (en naranja), pones ésta otra, similar a la anterior:
=VALOR(BUSCARH(EXTRAE(N8;1;1);$B$3:$K$4;2;0)&BUSCARH(EXTRAE(N8;2;1);$B$3:$K$4;2;0)&SI(LARGO(N8)>3;BUSCARH(EXTRAE(N8;3;1);$B$3:$K$4;2;0)&BUSCARH(EXTRAE(N8;4;1);$B$3:$K$4;2;0);SI(LARGO(N8)>2;BUSCARH(EXTRAE(N8;3;1);$B$3:$K$4;2;0);"")))
Pero para la columna N, donde están separados los caracteres a la derecha del punto.
- Finalmente, en la celda Q8 (en amarillo), vá la fórmula que arroja el resultado:
=SI(ESERROR(O8);0;O8*1000)+P8
Como notarás captura el error que pudiera haber para los casos que no tienen punto y devuelve la conversión final expresada como un número.
Desde luego, una vez que controles que esto funcione, puedes copiar estas cinco celdas y pegarlas hacia abajo, ocultando -o no- las columnas auxiliares M, N, O y P
Fiuu! Espero haber sido suficientemente claro (me pregunto por qué me cuesta tanto conseguir que me califiquen. Otros, con mucho menos, ya se liberan)
Avísame si te ha funcionado.
Saludos
Fer
.