Formulas EXCEL
Formulas EXCEL
Formulas EXCEL
Muchas veces la hoja de cálculo resulta útil simplemente para elaborar listados o tablas con
facilidad, cosas que se podrían hacer en Word; también se usa con frecuencia para realizar
gráficos. Y todo eso está muy bien, pero el verdadero corazón de la hoja de cálculo es el cálculo,
de ahí su nombre.
En una celda de EXCEL podemos escribir tres tipos de cosas:
Palabras, textos (José Pérez López)
Números (51028)
Fórmulas (=7/2)
De este tercer tipo vamos a tratar aquí. Excel se entera de que es una fórmula porque empieza
por el signo = 1.
También se reconocen otros tipos de datos, como fechas y horas.
1
Si comenzamos con los signos + ó - , Excel también comprende que es una fórmula y añade automáticamente
el signo =.
Si por algún motivo necesitamos empezar en una celda con =, + ó – pero queremos que Excel NO lo considere
como fórmula, lo precedemos con el apóstrofo ( ‘ ), el cual quedará invisible, no saldrá escrito en la celda.
2
Excel usa punto o coma para decimales según el ajuste que hayamos hecho en Windows. Al escribir decimales
es conveniente usar el punto del teclado numérico que Excel interpretará como punto o coma según el ajuste del
sistema.
Ejercicio propuesto
log(2, 48)
Calcula la expresión siguiente (comprueba: el resultado debe ser 1,000...): 82,1
25,87
3
3
Observar que aqui no es necesario encerrar todo el numerador en un paréntesis
4. Funciones
Ya hemos hablado de las funciones de Excel. Hemos visto que en las fórmulas se incluyen
palabras específicas que ejecutan una operación concreta: hemos visto: RAIZ, LOG, COS,
SUMA, PROMEDIO, ... Todas estas son funciones de Excel. Todas tienen en común que van
seguidas de paréntesis, entre los que se hace referencia a la celda o celdas que intervienen en la
aplicación de esa función. Así RAIZ (C2) efectúa la raíz cuadrada del contenido de la celda C2 o
PROMEDIO (B1:B50) calcula la media aritmética de los contenidos en el rango de celdas desde
B1 hasta B50. Algunas funciones requieren que los paréntesis queden vacíos, como PI(), que
devuelve el número .
Existen muchísimas funciones, pero es muy fácil encontrar la que necesitamos:
- Excel 2003: Menú Insertar > Función...
- Excel 2007 y sucesivos: Pestaña Fórmulas > (a la izquierda:) Insertar función
Aparece un cuadro donde podemos elegir que nos muestre todas o solamente de alguna de las
categorías, mostrando también una breve descripción de cada función. (En
aparece la explicación de la función con ejemplos).
Si queremos extenderla más allá de la pantalla, quizá varios cientos de casillas, en lugar de
arrastrar el ratón, es más cómodo hacerlo de este otro modo (supongamos que quiero extender
una fórmula de E2 hasta E894):
1. Escribo la fórmula en E2
2. Terminada la fórmula me sitúo de nuevo sobre E2 (al hacer Intro, habíamos saltado a E3).
8. Fórmulas condicionales
Esta es una de las herramientas más útiles y versátiles, la posibilidad de bifurcar el cálculo: si
se cumple esta condición haz esto, si no se cumple, haz esto otro.
Ejemplo: queremos hacer la raíz cuadrada de una serie de números (están en la columna B).
Los números negativos no tienen raíz, así que
sólo debemos calcular la raíz si el número es > 0,
y si el número es negativo vamos a hacer que
aparezca la palabra “negativo”.
Para ello escribimos la fórmula que se ve en la
figura, y que explicamos a continuación.
La estructura de una fórmula condicional es
así, dentro de los paréntesis hay tres partes, separadas por punto y coma:
qué debe hacer si la respuesta qué debe hacer si la respuesta
=SI( pregunta ; ; )
a la pregunta es VERDADERO a la pregunta es FALSO
En nuestro ejemplo la fórmula sería así:
=SI(B2>=0;RAIZ(B2);"negativo")
Podemos leerla así: “Si el contenido de B2 es mayor o igual a 0, escribes aquí la raíz de B2,
en caso contrario, escribes la palabra “negativo”
Vemos que si en una fórmula aparece texto, se indica entre comillas (“ “) y que mayor o igual
se anota >=
Otros ejemplos de preguntas pueden ser: A1= “Aprobado”, A1>B1 , A1<100*C8
Las órdenes a realizar si la respuesta es VERDADERO o si es FALSO pueden ser un valor
numérico, una fórmula, o un texto (entre comillas); si queremos que la celda quede vacía se
indican dos comillas juntas, por ejemplo:
=SI(B2>=0;RAIZ(B2);””)
En este ejemplo, si en B2 hay un número negativo, la celda que contiene la fórmula quedará
vacía.
SI
NO "altura
¿altura<20? excesiva"
SI
Calcular fórmula
Y la fórmula de Excel sería así:
=SI(base>10;SI(altura<20;base*altura/2;”Altura excesiva”);”Base muy pequeña”)
La explicación de las partes de la fórmula:
1ª pregunta Qué hacer si es cierto Qué hacer si es falso
NO "No
¿altura<20?
SI aplicable"
SI
Calcular fórmula
9. Fórmulas matriciales
Todas las fórmulas que hemos visto hasta aquí tienen una cosa en común: la fórmula se aloja
en una celda y el resultado de dicha fórmula aparece en esa misma celda. En la propia fórmula
pueden intervenir una celda o varias, pero el resultado aparece en una sola.
Las fórmulas matriciales son diferentes, el resultado de la fórmula aparecerá en varias
celdas. Vamos a ver dos ejemplos:
En VBA de Excel es igual, solamente hemos de decirle en qué celdas de Excel se encuentran
los datos de entrada, y en qué celdas debe colocar el resultado. Veremos en el siguiente ejemplo
que para referirnos a la celda B9 pueden utilizarse las expresiones: Range(“B9”) o
Cells(9,2):
1) Abrir Visual Basic de Excel
(En Excel 2003) Menú Herramientas >> Macro >> Editor de Visual Basic
(En Excel 2007 y posteriores): Hay que hacer visible la cinta “Programador”: En Archivo >
Opciones elegir (a la izquierda) “Personalizar cinta de opciones” y finalmente en un marco a la
derecha, marcar .
En la cinta “Programador”, picar el icono a la izquierda: “Visual Basic”
2) Escribir el código
Hay que comenzar a escribir el código
BASIC en el cursor parpadeante, entre
Sub y End Sub.
Para el programa indicado arriba
(multiplicar dos números), podría ser así:
For fila = 2 To 50
valor (fila) = Cells(fila, 3).Value
Next fila
Sub suma_3mejores()
Dim valor(30)
num_individuos = 7
num_tests = 9
Range("C2").Select ‘(para seleccionar C2, porque la tabla del
‘ ejemplo comienza en C2)
' Ahora leo y guardo los datos del individuo actual en valor( )
For individuo = 1 To num_individuos
For test = 1 To num_tests
valor(test) = ActiveCell.Value
ActiveCell.Offset(0, 1).Select
Next test
'Ordeno de mayor a menor las puntuaciones de ese individuo
For k = num_tests - 1 To 2 Step -1
For n = 1 To k
If valor(n) < valor(n + 1) Then
prov = valor(n)
valor(n) = valor(n + 1)
valor(n + 1) = prov
End If
Next n
Next k
‘ Una vez ordenadas, sumo las tres mayores
suma_3_mej = valor(1) + valor(2) + valor(3)
ActiveCell.Value = suma_3_mej
‘ Salto a la fila siguiente, primera celda
ActiveCell.Offset(1, -num_tests).Select
Next individuo
End Sub