| |
En este ejemplo vamos a ver una utilidad más de la función
=SI(). Llevaremos un control de
entradas y salidas de dinero al estilo de una cuenta corriente.
En la columna del Haber situaremos las entradas de dinero y en la
columna del Debe las salidas. La última columna la utilizaremos
para llevar el control del saldo, que se calculará sumando
al saldo anterior la última posible entrada y restándole
la última posible salida de dinero. Observa la hoja preparada: |
| |

En la celda E3 colocaremos la fórmula. En principio, podríamos
colocar una sencilla fórmula como ésta: =E2+C3-D3,
es decir, el saldo anterior [E2]
más lo que entra [C3] menos
lo que sale [D3] y funcionaría. El problema reside cuando
esta fórmula la copiamos hacia abajo. Como no existen datos
o las celdas están en blanco, el resultado sería el
siguiente:

El saldo siempre se repetiría debido a que en las celdas
a su izquierda estarían vacías y siempre haría
el mismo cálculo con el saldo anterior. Estéticamente
no queda demasiado bien. Vamos a utilizar la función =SI()
para arreglarlo un poquito.
En la misma celda [E3] escribimos
la fórmula: =SI(O(C3>0;D3>0);E2+C3-D3;"").
Ahora traducimos:
Observa la letra O y su paréntesis
en el que hay dos condiciones separadas por punto y coma. Como hemos
puesto el operador O, se tiene que
cumplir sólo una de las dos condiciones para que se efectúe
la fórmula. Si no, no saldrá nada ("").
Las condiciones son que en [C3]
haya algún número (C3>0)
o que en [D3] haya algún
número (D3>0), es decir,
si escribimos alguna cantidad positiva. En ese caso, se ejecuta
la fórmula E2+C3-D3. En caso
contrario no aparecerá nada en la celda. Para que no aparezca
nada, hemos de escribir dos comillas (espacio nulo). Si ahora copiamos
la fórmula hacia abajo, sólo aparecerá el saldo
de la fila que tenga datos:

De esta forma queda como más estético, ¿no?.
Ahora bien; cada fila corresponde a un concepto, es decir, o es
una entrada de dinero, o es una salida de dinero pero no puede ser
las dos cosas a la vez. Entonces, ¿qué pasaría
si introducimos datos en las dos celdas? La fórmula se ejecutaría
igualmente, pero no sería serio, no?
¿Cómo modificarías la fórmula de forma
que sólo calculase el saldo si se produce una entrada o una
salida de dinero, pero no dos entradas en la misma fila? Una posible
solución sería introducir un mensaje de error.
|