Excel · Capítulo 1 · Lección de conceptos · 7 min de lectura

Por qué cambia una fórmula al rellenarla

Una fórmula guarda dónde mirar en relación con su propia celda. Si la rellenas hacia abajo o a un lado, las referencias se mueven la misma distancia; los signos de dólar deciden qué parte se queda quieta.

La idea

Cuando escribes =B2*C2 en D2, Excel no guarda "la celda B2". Guarda "la celda dos columnas a mi izquierda, en mi fila" y "la celda una columna a mi izquierda". Cada referencia es un desplazamiento desde la celda que contiene la fórmula. Si mueves la fórmula, el desplazamiento apunta a otro sitio.

Ese único hecho explica el relleno hacia abajo y a la derecha, copiar y pegar, y el error más común de las hojas de cálculo. Una fórmula escrita una vez y rellenada en una columna es correcta en cada fila porque cada copia mira a sus propios vecinos.

Figura 1

Pedido 1049: una fórmula por línea y un SUM sobre el rango

lines
rowquantityunit_priceline_totalformula_in_D
22189.00378.00=B2*C2
3253.99107.98=B3*C3
43379.001137.00=B4*C4
Total del pedido
cellformulashows
D5=SUM(D2:D4)1622.98
D6=AVERAGE(D2:D4)540.99

Paso 1 de 4 Tres líneas del pedido 1049. D2 guarda =B2*C2: cantidad por precio unitario, ambos leídos de la misma fila.

  1. Tres líneas del pedido 1049. D2 guarda =B2*C2: cantidad por precio unitario, ambos leídos de la misma fila.
  2. Rellena D2 hacia abajo. Excel conserva la relación (las dos celdas a mi izquierda), así que la fila 3 pasa a =B3*C3 y la fila 4 a =B4*C4.
  3. D2:D4 es un rango: todas las celdas del rectángulo entre D2 y D4. SUM suma los tres totales de línea: 378.00 + 107.98 + 1137.00 = 1622.98.
  4. AVERAGE lee el mismo rango y divide entre la cantidad de celdas: 1622.98 / 3 = 540.99. Si añades una cuarta línea dentro del rango, ambos resultados se actualizan.

Por qué existe

Imagina poner precio a 5,000 líneas de pedido. Si cada fórmula nombrara sus celdas de forma literal, escribirías 5,000 fórmulas distintas. Con desplazamientos escribes una y arrastras. Los desplazamientos son la razón por la que una hoja de cálculo escala desde un pedido de tres líneas hasta todo el catálogo de Harbor & Pine.

El precio de esa comodidad es que algunos punteros no deben moverse. Una tasa de impuesto, un descuento o un umbral de envío gratis está en una sola celda y la lee cada fila. Los signos de dólar son la forma de decirle a Excel qué punteros congelar.

Hay un segundo beneficio. Una fórmula que apunta a una celda de entrada documenta la regla: quien abra la hoja ve que el umbral de envío vive en un solo lugar, lo cambia y ve cómo responde cada fila. Una fórmula con un 75 escrito dentro esconde la regla en cientos de sitios, y la siguiente persona tiene que encontrarlos todos.

Cómo funciona por dentro

Relativa, absoluta, mixta

Un $ delante de una parte de la referencia la congela cuando se copia la fórmula:

  • B2 es relativa: la columna y la fila se desplazan con la copia.
  • $B$2 es absoluta: ninguna se desplaza. Úsala para una celda de entrada única.
  • $B2 es mixta: la columna está congelada y la fila se mueve.
  • B$2 es mixta al revés: la fila está congelada y la columna se mueve.

Pulsar F4 con el cursor dentro de una referencia recorre las cuatro formas. En Google Sheets la misma combinación de teclas funciona en la mayoría de los teclados.

Las referencias mixtas llenan un bloque con una sola fórmula

Las referencias mixtas son útiles cuando una cuadrícula tiene una entrada que baja y otra que va a lo ancho. Escribe la fórmula en la celda de la esquina superior izquierda, congela la columna de la entrada vertical y la fila de la entrada horizontal, y rellena todo el bloque.

Figura 2

Una fórmula para toda una cuadrícula: precio con descuento

La fila 1 guarda el descuento y la columna A el precio
A_priceB_0pctC_5pctD_10pct
189.00189.00179.55170.10
53.9953.9951.2948.59
379.00379.00360.05341.10
La misma fórmula, rellenada en tres celdas
cellformulareads_price_fromreads_discount_from
B2=$A2*(1-B$1)A2B1
C2=$A2*(1-C$1)A2C1
C3=$A3*(1-C$1)A3C1

Paso 1 de 4 Los precios 189.00, 53.99 y 379.00 (productos 183, 156 y 216) bajan por la columna A. Tres descuentos, 0 %, 5 % y 10 %, van a lo largo de la fila 1 (no se muestra). Cada celda necesita un precio y un descuento.

  1. Los precios 189.00, 53.99 y 379.00 (productos 183, 156 y 216) bajan por la columna A. Tres descuentos, 0 %, 5 % y 10 %, van a lo largo de la fila 1 (no se muestra). Cada celda necesita un precio y un descuento.
  2. $A2 bloquea la columna y deja libre la fila. Rellenada a la derecha sigue leyendo la columna A; rellenada hacia abajo sigue a la fila.
  3. B$1 bloquea la fila y deja libre la columna. Rellenada hacia abajo sigue leyendo la fila 1; rellenada a la derecha sigue a la columna: B1, luego C1.
  4. Una fórmula escrita una vez y rellenada sobre todo el bloque. La fila 3 con 5 % de descuento da 53.99 × 0.95 = 51.29.

La prueba para cualquier fórmula que vayas a rellenar: para cada referencia, pregúntate "¿debe seguir a la fila, a la columna, a ambas o a ninguna?" Y coloca los signos de dólar en consecuencia.

Los rangos son argumentos, no sumas

D2:D4 no es un número. Es la descripción de un rectángulo, y la función decide qué hacer con las celdas de dentro. SUM las suma, AVERAGE suma y divide entre la cantidad, MIN y MAX eligen una. Dos detalles causan errores reales. Primero, estas funciones saltan el texto y las celdas vacías, así que AVERAGE divide entre la cantidad de números que encontró, no entre el número de filas. Segundo, un rango queda fijado por sus esquinas: si escribes una línea nueva debajo del rango, el total no la incluirá. Insertar una fila dentro del rango sí lo hace crecer.

IF se evalúa por fila

IF(prueba, valor_si_verdadero, valor_si_falso) es una fórmula como cualquier otra, así que se rellena hacia abajo y cada copia lee su propia fila. Excel evalúa primero la prueba, devuelve uno de los dos valores e ignora el otro.

Figura 3

IF decide una vez por fila, con los valores de esa fila

  1. C2 lee el subtotal del pedido
  2. C2>=75 TRUE o FALSE
  3. 0 value_if_true
  4. 6.95 value_if_false

Paso 1 de 4 =IF(C2>=75,0,6.95) en D2. El pedido 12417 tiene un subtotal de 682.96 en C2.

  1. =IF(C2>=75,0,6.95) en D2. El pedido 12417 tiene un subtotal de 682.96 en C2.
  2. La prueba C2>=75 es TRUE para 682.96.
  3. TRUE elige el primer valor, así que la celda de envío muestra 0. El segundo valor ni se mira.
  4. Rellenada a la fila siguiente, la prueba lee C3. El pedido 12418 tiene un subtotal de 37.98, así que la prueba es FALSE y la celda muestra 6.95.

La prueba puede comparar una celda con un número, con un texto entre comillas o con otra celda. Cuando el umbral pueda cambiar, ponlo en su propia celda y apúntalo con $, igual que la tasa de impuesto. Un número escrito dentro de un IF es fácil de olvidar cuando cambia la regla del negocio.

Dónde cae la fórmula importa

Como las referencias son desplazamientos, cortar y copiar se comportan distinto. Copiar una fórmula conserva sus desplazamientos, así que las referencias se mueven. Cortar y pegar (o arrastrar una celda por su borde) mueve la celda en sí, y Excel reescribe cualquier fórmula que apuntaba a ella para que siga encontrando los mismos datos. Si quieres el mismo texto en otro sitio con los mismos destinos, corta; si quieres el mismo comportamiento en otro sitio, copia.

Cómo comprobar un relleno

No confíes en una columna rellenada solo porque la primera fila se vea bien. Haz clic en la última fila y lee la fórmula en la barra de fórmulas: ¿las referencias siguen apuntando adonde querías? Luego compara el resultado de una fila con una calculadora. Las dos comprobaciones llevan diez segundos y atrapan casi todos los errores de referencia.

Errores comunes

"Rellenar hacia abajo copia la fórmula exactamente como la escribí"

Copia la relación. =B2*C2 pasa a =B3*C3 una fila más abajo. Es lo que quieres para los valores de la propia fila y justo lo que no quieres para una entrada compartida, así que bloquea la entrada compartida con $.

"Si la fórmula devuelve un número, es correcta"

Una referencia que se deslizó una celda hacia un lado también devuelve un número. En el ejemplo del impuesto, la fila 3 lee una celda vacía, la cuenta como cero y devuelve el precio sin impuesto sin ningún aviso. Excel solo muestra un error cuando no puede calcular, no cuando apuntaste a lo equivocado.

"SUM suma todos los números que veo"

SUM suma los números dentro del rango que le diste. Las filas fuera del rango, el texto que parece un número y las celdas con algo escrito con un espacio de más no se cuentan. Si un total sale bajo, revisa primero las esquinas del rango.

Ponte a prueba

Una pregunta. Al responderla, la lección queda marcada en el mapa; nunca bloquea un nivel.

B2 guarda un precio unitario, E1 guarda una tasa de impuesto y D2 es =B2*(1+E1). Rellenas D2 hacia abajo hasta D3. ¿Qué hay en D3?

Elige qué puede ejecutarse en este sitio. Puedes cambiarlo cuando quieras desde "Configurar cookies", al pie de cada página.