martes, 14 de agosto de 2018

Ábaco Soroban en Excel

Construiremos hoy un ábaco japonés (llamado también Soroban). muy similar en funcionamiento al ábaco romano, siendo acaso este último algo más completo, puesto que incluía partes fraccionadas...

¿Qué necesitamos?
1- funciones sencillas del tipo condicional SI y una función SUMAPRODUCTO para verificar el correcto funcionamiento.
2- un formato condicional
3- controles de formulario (NO ActiveX), sin programación...

Ábaco Soroban en Excel



El primer paso es incorporar los controles de formulario de tipo 'control de número' en grupos de cinco en las celdas: B5:F5 y B9:F9

Estos controles los asociaremos a cada una de las celdas sobre las que se sitúa, esto es, el control en la celda B5 se vincula a B5:

Ábaco Soroban en Excel



Y así sucesivamente para los 10 controles.

Los controles de la fila superior B5:F5 deberán tener como propiedades:
Valor mínimo: 0
Valor máximo: 1


Mientras que los controles de las celdas B9:F9 deben ser:
Valor mínimo: 0
Valor máximo: 4


Los controles superiores representarán la parte de arriba del ábaco japones, que mostrarán los incrementos/decrementos de los múltiplos de 5 (5, 50, 500, 5000, 50000, etc)
Y los controles inferiores, la parte de abajo del ábaco, que muestra los aumentos/disminuciones de unidades, decenas, centenas, millares, etc...


Vamos a por la parte de funciones, así pues en el rango superior B6:F7 insertamos la fórmula:
=SI(B$5+1<=2-FILAS(B$6:B6);0;SI(B$5>2-FILAS(B$6:B6);B$4;""))

Con esta fórmula conseguimos que cuando pulsemos el control hacia arriba el valor de la cuenta correspondiente baje.
En este caso he optado por añadir formulación para que si no está pulsado la 'cuenta' aparezca como cero y solo si está pulsada la cuenta baje con el valor asignado.
Fíjate en el ejemplo siguiente donde se representa el número 5.050 y donde la cuenta de 5.000 y la de 50 están bajadas

Ábaco Soroban en Excel



De forma similar formulamos la parte inferior del ábaco en el rango B10:F14 incluyendo la fórmula:
=SI(B$9+1=FILAS(B$10:B10);B$8;""))

Ajustándose a lo que necesitamos, es decir, que cuando subimos la 'cuenta' aparezca el valor de ésta, y cuando está bajada muestre un cero.
En el ejemplo representamos el número 1.234

Ábaco Soroban en Excel



Para verificar la corrección del uso aplicamos en la celda I6 la fórmula:
=SUMAPRODUCTO(B4:F4;B5:F5)+SUMAPRODUCTO(B8:F8;B9:F9)

donde simplemente multiplicamos el valor representativo de las cuentas (B4:F4 y B8:F8) por el número de cuentas subidos o seleccionados en cada caso...


Terminada la formulación aplicaremos un formato condicional con fórmula, para ello seleccionaremos el rango B6:F7 y B10:F14
Nos aseguraremos que la celda activa sea B6 y añadiremos la fórmula:
=Y(B6<>"";B6>0)

con el formato deseado...

Ábaco Soroban en Excel



Listos para calcular con nuestro ábaco soroban.

Por ejemplo para mostrar el 13.131 subiríamos/bajaríamos las cuentas...

Ábaco Soroban en Excel

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.