Redondear a 0, 5 y 9

Resuelto
Valo -  
 Valo -
Hola,

Quería saber cómo hacer en Excel (2007) para obtener un valor que termine sistemáticamente en 0, 5 o 9 en la segunda decimal.

Ejemplo :
3.46 --> 3.45
7.81 --> 7.80
15.17 --> 15.19

Aquí está lo que debo obtener siempre en la segunda decimal según el valor de esa decimal:

0 --> 0
1 --> 0
2 --> 0
3 --> 5
4 --> 5
5 --> 5
6 --> 5
7 --> 9
8 --> 9
9 --> 9

Lo tengo que integrar en cálculos simples (+ - / *)
Ejemplo : 3.21*4=12.84 --> 12.85

Gracias por tu ayuda.

8 respuestas

  1. Vaucluse Mensajes publicados 27336 Fecha de registro   Estado Colaborador Última intervención   6 453
     
    Hola
    prueba esta fórmula (para un valor en A1)
    =ENT(A1)+SI(A1-ENT(A1)<=0;0;SI(A1-ENT(A1)<=0,6;0,5;0,9))

    y si por supuesto en A1 tienes una fórmula, reemplaza A1 aquí por esa fórmula para obtener directamente un resultado
    crdlmnt
    --
    La calidad de la respuesta depende principalmente de la claridad de la pregunta, ¡gracias!
    1
  2. ccm81 Mensajes publicados 11033 Estado Miembro 2 434
     
    Hola a ambos

    1. Un pequeño corrección a la fórmula de Vaucluse, pero creo que eso no lo soluciona todo
    =ENT(A1)+SI(A1-ENT(A1)<= 0,2;0;SI(A1-ENT(A1)<=0,6;0,5;0,9))
    2. Lo que había intentado
    Tu valor a tratar en G4
    En una celda formateada con 2 decimales
    =ENT(ARRONDI(G4;2)*10)/10+CHOISIR(1+MOD(100*ARRONDI(G4;2);10);0;0;0;5;5;5;5;9;9;9)/100

    Cdlmnt
    1
  3. Valo
     
    ¡Esto funciona perfectamente!

    Muchas gracias.

    ¡Gracias a todos por vuestra contribución!

    Atentamente,
    1
  4. ccm81 Mensajes publicados 11033 Estado Miembro 2 434
     
    Prueba esa:
    =ENT(ARRONDI(G5;2)*10)/10+INDEX({0;0;0;5;5;5;5;9;9;9};1+MOD(100*ARRONDI(G5;2);10))/100

    Cdlmnt
    1
    1. Patrice33740 Mensajes publicados 8400 Fecha de registro   Estado Miembro Última intervención   1 783
       
      Según tu idea, bajo el mismo principio:
      =ENT(ARRONDI(A2;2)*10)/10+INDEX({0;5;9};MOD(ENT(A2*30+0,11);3)+1)/100
      0
  5. Vaucluse Mensajes publicados 27336 Fecha de registro   Estado Colaborador Última intervención   6 453
     
    Hola

    solo por la forma

    de hecho, me equivoqué de piso, trabajé en la primera decimal en lugar de la segunda.

    para la segunda decimal, está ahí, pero no vale la solución de Patrice (salud amigo mío) así que es solo para decir que ¡no lo he perdido todo! :-)))

    =ENT(A1*10)/10+(SI((A1*10-ENT(A1*100/10))*10<3;0;SI((A1*10-ENT(A1*100/10))*10<7;5;9)))/100
    eso da
    https://mon-partage.fr/f/JUfg29bY/
    crdlmnt

    La calidad de la respuesta depende sobre todo de la claridad de la pregunta, ¡gracias!
    1
  6. Valo
     
    Hola,

    Gracias por esta respuesta.
    Sin embargo, eso funciona solo en la primera decimal y no en la segunda, y hay un error al pasar a 0:

    2.00 --> 2.00
    2.10 --> 2.50 (en lugar de 2.00)
    2.20 --> 2.50 (en lugar de 2.00)
    .
    .
    .
    .
    0
  7. Valo
     
    ¡Genial, funciona! (la segunda fórmula)
    ¡Muchas gracias!

    Un simple efecto probablemente debido al redondeo:
    1.03 --> 1.05 (ok)
    2.03 --> 2.00 (en lugar de 2.05)
    Pero no parece grave para lo que tengo que hacer.

    ¡Gracias de nuevo!
    0
    1. Patrice33740 Mensajes publicados 8400 Fecha de registro   Estado Miembro Última intervención   1 783
       
      Hola,

      ¡Efectivamente es un problema de redondeo!
      Prueba:
      =ENT(ARRONDI(A2;2)*10)/10+CHOISIR(1+MOD(ENT(100*ARRONDI(A2;2));10);0;0;0;5;5;5;5;9;9;9)/100
      0