El Grupo Veterinario Calderbank tenía un rebate del 2,5% esperando sobre 900.000 £ de compras. La hoja decía 874.300,00 £ y la solicitud no se presentó nunca. El gasto fue de 1.046.900,00 £ — en los doce meses que medía el contrato.
Calderbank tiene once clínicas y compra medicamentos y fungibles a un solo distribuidor, Pellmore. El contrato paga el 2,5% del gasto admisible en cuanto el gasto supera los 900.000,00 £ dentro del año de rebate de Pellmore, que va del 1 de abril al 31 de marzo — el mismo cierre que el de las cuentas de Calderbank.
La solicitud la prepara cada junio la auxiliar de administración. El cálculo era una sola fórmula sobre el libro de compras:
=SUMAR.SI.CONJUNTO(Compras[Neto];Compras[Año];2025) → 874.300,00
Faltaban 25.700,00 £. El archivo se cerró con «umbral no alcanzado» escrito en una celda al lado, y nadie volvió a mirarlo.
Compras[Año] era =AÑO([@Fecha]). Es la columna auxiliar más natural que escribe cualquiera, y responde a una pregunta que ningún acuerdo de aquella casa había hecho, porque nada de lo que Calderbank había firmado iba de enero a diciembre.
| Ventana | Qué abarca | Gasto | Frente a 900.000,00 £ |
|---|---|---|---|
| Año natural 2025 | ene-dic 2025 | 874.300,00 £ | 25.700,00 £ por debajo |
| Año natural 2026, hasta donde llegaba | ene-mar 2026 | 332.350,00 £ | 567.650,00 £ por debajo |
| EF26 | abr 2025 – mar 2026 | 1.046.900,00 £ | 146.900,00 £ por encima |
Las dos ventanas se diferencian en un trimestre por cada extremo, y los dos trimestres fueron atípicos. De enero a marzo de 2025 fueron 159.750,00 £, antes de que dos clínicas entraran en el grupo. De enero a marzo de 2026 fueron 332.350,00 £, con sus primeros pedidos completos dentro.
Así que un año natural dejó fuera el trimestre fuerte y se quedó el flojo. El rebate era de 26.172,50 £. El plazo para reclamarlo venció el 30 de junio de 2026 y el error salió el 14 de septiembre, mientras alguien montaba la previsión del EF27.
El dinero se perdió, y no fue lo caro. Las condiciones del EF27 se negociaron sobre la misma cifra natural, así que Calderbank pidió que le bajaran el umbral a 850.000,00 £ — una concesión que no necesitaba — en vez de pedir un tipo mejor sobre un millón de libras de compras.
01Un Año de Compras, Sumado de Cuatro Maneras
Un Año de Compras, Sumado de Cuatro Maneras, y Solo Dos Eran el Año del Contrato
La tabla Compras tiene una línea de libro de compras por cada entrega de Pellmore: fecha, clínica, grupo de producto, neto e IVA. El contrato paga el 2,5% del gasto neto en cuanto el gasto neto supera los 900.000,00 £ dentro del año de rebate, del 1 de abril al 31 de marzo, y la solicitud hay que presentarla antes del 30 de junio. Todas las cifras de la columna de gasto salen de la misma tabla y de las mismas filas; lo único que cambia al bajar por la columna es qué doce meses pide la fórmula, y si el último día de esos doce meses entra con `<=` o queda fuera con `<` el día siguiente. Dos de las ventanas superan el umbral y dos no, dos de los trimestres llevan la misma etiqueta y tres meses de diferencia, y la primera fila es la que usó Calderbank de verdad.
fxLas celdas con fórmulas están resaltadas en verde
Pasa el mouse sobre las celdas con fórmulas para ver la fórmula y resaltar las celdas referenciadas
Las filas tres y cuatro son los mismos doce meses por dos caminos distintos. Las filas uno y dos son el mismo libro bajo una etiqueta que el contrato nunca usó. En los datos no cambia nada entre unas y otras. Solo cambia la ventana.
Escenario: Abre la hoja que demuestra un umbral, un objetivo o un covenant. Busca la columna que decide a qué año pertenece cada fila. Si pone =AÑO([@Fecha]), escribe =AÑO(FIN.MES([@Fecha];9)) al lado y compara. Cada fila en la que discrepen es una fila en el año equivocado.
02Qué Es un Ejercicio Fiscal en Términos de Celdas
Un ejercicio fiscal es una ventana de doce meses que empieza el día uno de algún mes que no es enero, y Excel no tiene ninguna opción para eso. AÑO devuelve el año natural, MES devuelve el mes natural, y no hay ajuste que lo cambie.
Un calendario fiscal es, por tanto, algo que construyes en una columna, una vez, al lado de las fechas. Lo definen dos datos: el mes en que arranca el año, y si la etiqueta nombra el año en que empieza o el año en que termina.
Pon el mes de inicio en una celda propia y llámala IniEF. Todas las fórmulas de abajo leen esa celda, de modo que cambiar el cierre del ejercicio es una edición y no una cacería del número 4 por todo el libro.
Este artículo usa un ejercicio que empieza el 1 de abril y se etiqueta por el año natural en que termina, así que el EF26 va del 1 de abril de 2025 al 31 de marzo de 2026. Es la convención británica habitual, no es universal, y la sección 10 cubre las demás.
Escenario: En el libro que lleva tus informes fiscales, pon el mes de inicio en una celda, llámala IniEF y escribe la convención al lado en palabras: «EF etiquetado por el año en que termina». Luego apunta una fórmula a esa celda en vez de a un 4 escrito a mano.
03La Etiqueta del Ejercicio en una Sola Fórmula
Desplaza la fecha hacia delante hasta el año natural con el que quieres nombrarla y lee ahí el año. Para un ejercicio que empieza en abril y se etiqueta por el año final, el desplazamiento es de nueve meses.
=AÑO(FIN.MES(A2;9)) → 2026 para toda fecha entre el 01/04/2025 y el 31/03/2026
=AÑO(FIN.MES(A2;13-IniEF)) lo mismo, gobernado por el mes de inicio
=AÑO(A2)+(MES(A2)>=IniEF) sin FIN.MES, misma respuesta, misma etiqueta
FIN.MES(A2;9) devuelve el último día del mes nueve meses después, y el AÑO de eso es el año en que cae ese mes. El día del mes nunca importa, y por eso FIN.MES es seguro donde sumar 275 días no lo es.
Para etiquetar por el año de inicio — la convención australiana, entre otras — desplaza hacia atrás: =AÑO(FIN.MES(A2;-(IniEF-1))). Con un inicio en abril eso es -3, así que de abril de 2025 a marzo de 2026 sale 2025.
Escenario: Añade una columna EF con =AÑO(FIN.MES([@Fecha];13-IniEF)) y otra Año Natural con =AÑO([@Fecha]). Pon =SUMAPRODUCTO(--(Compras[EF]<>Compras[Año Natural])) debajo. Sobre un año entero de filas debería salir aproximadamente una cuarta parte de ellas.
04Trimestres Fiscales sin un SI Anidado
El trimestre natural es =REDONDEAR.MAS(MES(A2)/3;0), y en un ejercicio que empieza en abril está mal por exactamente un trimestre en todas las filas de la tabla. Abril es el segundo trimestre natural y el primero fiscal, todo el año, sin excepción.
=ENTERO(RESIDUO(MES(A2)-IniEF;12)/3)+1 → 1 para abr-jun, 2 para jul-sep, 3 para oct-dic, 4 para ene-mar
=RESIDUO(MES(A2)-IniEF;12)+1 → el número de periodo fiscal, del 1 al 12
RESIDUO es lo que lo hace general. Restar el mes de inicio da un número entre -11 y 11, y RESIDUO(…;12) pliega los negativos de vuelta al rango 0 a 11, así que los meses anteriores al arranque del año no necesitan ningún caso especial.
Un SI anidado, un ELEGIR o un CAMBIAR llegan a la misma respuesta y escriben el mes de inicio en una docena de sitios. Son una docena de ediciones el día que el grupo mueve su cierre, y una docena de ocasiones de dejarse una.
Escenario: Pon =REDONDEAR.MAS(MES([@Fecha])/3;0) y =ENTERO(RESIDUO(MES([@Fecha])-IniEF;12)/3)+1 una al lado de la otra sobre un año entero de filas. Todas las filas discreparán. Después mira cuál de las dos es tu columna de trimestre actual.
05Las Fechas de Inicio Ordenan, las Etiquetas No
La etiqueta de un periodo es texto, y el texto se ordena alfabéticamente. "Q10" va antes que "Q2" en cuanto alguien numera los periodos del uno al doce, y una ordenación por etiqueta pone el Q4 del EF26 por encima del Q1 en cuanto cambia el prefijo.
Lleva una fecha de verdad para el periodo y dale formato para mostrarla. El primer día del trimestre fiscal de una fila es un FIN.MES:
=FIN.MES(A2;-RESIDUO(MES(A2)-IniEF;3)-1)+1 → 01/01/2026 para cualquier fecha de ene-mar 2026
=FIN.MES(A2;-1)+1 → el día uno del propio mes de la fila
Ordena, grafica y tabula por esa columna, y enseña la etiqueta al lado para quien lea. Una fecha se ordena cronológicamente en cualquier herramienta, sobrevive a un cambio de configuración regional y agrupa sin que nadie mantenga una lista personalizada.
Construye la etiqueta desde esa misma fecha: ="EF"&DERECHA(AÑO(FIN.MES(A2;9));2)&" T"&(ENTERO(RESIDUO(MES(A2)-IniEF;12)/3)+1). Deja los paréntesis alrededor de la aritmética del trimestre: sin ellos Excel suma 1 al texto ya unido y devuelve #¡VALOR!.
Escenario: Añade una columna Inicio de Periodo con la fórmula FIN.MES de arriba y ordena el informe por ella en lugar de por la etiqueta. Si cambia el orden de las filas, el informe estaba en orden alfabético de nombre de periodo y no en orden de tiempo.
06Límites: Usa el Día Uno del Periodo Siguiente
Una ventana fiscal necesita dos criterios, y el segundo debe nombrar el día uno del año siguiente en lugar del último día de este:
=SUMAR.SI.CONJUNTO(Compras[Neto];Compras[Fecha];">="&FECHA(2025;4;1);Compras[Fecha];"<"&FECHA(2026;4;1)) → 1.046.900,00
=SUMAR.SI.CONJUNTO(Compras[Neto];Compras[Fecha];">="&FECHA(2025;4;1);Compras[Fecha];"<="&FECHA(2026;3;31)) → 1.041.600,00
A la segunda versión le faltan 5.300,00 £. Cuatro líneas importadas del portal del distribuidor llevan la marca 31/03/2026 14:52, y una fecha con hora es un número mayor que la fecha, así que un <= sobre el último día deja fuera la tarde de ese último día.
Quita la hora una sola vez, al entrar, en lugar de defender cada criterio aguas abajo: =ENTERO([@Fecha Origen]) en la columna de fecha, o un tipo Fecha en vez de Fecha/Hora en Power Query. Y usa igualmente < sobre el inicio siguiente, porque la próxima importación no va a pedir permiso.
Escenario: Pon =SUMAPRODUCTO(--(Compras[Fecha]<>ENTERO(Compras[Fecha]))) sobre tu columna de fechas. Cualquier cosa distinta de cero significa que hay filas con hora, y que todos los límites con <= del libro están perdiendo parte de un día. En el libro de Calderbank sale 4.
07El Acumulado del Ejercicio y la Fecha de Corte
El acumulado del año necesita el día uno del ejercicio, deducido de la fecha de corte en vez de escrito a mano:
Inicio EF: =FECHA(AÑO(FIN.MES(Corte;13-IniEF))-1;IniEF;1)
Acumulado: =SUMAR.SI.CONJUNTO(Compras[Neto];Compras[Fecha];">="&InicioEF;Compras[Fecha];"<="&Corte)
Año anterior: =SUMAR.SI.CONJUNTO(Compras[Neto];Compras[Fecha];">="&FECHA.MES(InicioEF;-12);Compras[Fecha];"<="&FECHA.MES(Corte;-12))
Guarda la fecha de corte en una sola celda. Todas las cifras acumuladas del informe se mueven entonces a la vez, y el «a fecha de» deja de ser algo que el lector tiene que deducir de donde se acaben los datos.
La columna del año anterior desplaza los dos extremos doce meses atrás con FECHA.MES, que cae en el mismo día del mismo mes del año anterior y se apaña con febrero. Comparar parte de un año contra otro entero es la otra mitad de este error, y se ve peor que una etiqueta equivocada.
Escenario: Pon la fecha de corte en una celda con nombre, apunta a ella todas las fórmulas de acumulado y ponla en una fecha de mitad de trimestre. Comprueba que la columna del año anterior también se ha movido. Si no, el informe compara once meses contra doce y llama tendencia a la diferencia.
Pruébalo en la cuadrícula08Las Tablas Dinámicas Solo Agrupan Trimestres Naturales
Una tabla dinámica agrupa un campo de fecha por Años, Trimestres y Meses, y sus trimestres son siempre enero-marzo, abril-junio, y así sucesivamente. No hay ninguna opción para un año que empieza en abril. Sus Años son años naturales por el mismo motivo.
Así que agrupa por tus propias columnas. Pon EF, Trimestre Fiscal e Inicio de Periodo en la tabla de origen y arrastra esos campos a Filas o Columnas; deja la fecha en bruto sin agrupar. La dinámica no sabrá entonces nada de calendarios, que es justo lo que se busca.
Agrupar un campo de fecha crea los campos ocultos
Años (Fecha)yTrimestres (Fecha)en el origen de datos, y todas las dinámicas construidas sobre la misma caché los comparten. Desagrupar en un informe cambia los demás, que es otra mañana perdida.
Escenario: Haz clic derecho sobre el campo de fecha de tu dinámica, elige Agrupar y lee lo que te da Trimestres. Si el primer trimestre empieza en enero y tu ejercicio empieza en abril, quita la agrupación y arrastra Trimestre Fiscal desde la tabla.
09Un Calendario 4-4-5 Necesita una Tabla
Los calendarios del comercio y la industria dividen el año en semanas y no en meses: cuatro semanas, cuatro semanas, cinco semanas, y vuelta a empezar. Los periodos arrancan en domingo o en lunes y casi nunca el día uno de un mes.
Ninguna aritmética sobre MES encontrará esos límites, porque no son límites de mes. Tampoco encontrará nada la semana 53, que aparece cada cinco o seis años para que el calendario no se separe del año solar.
Un calendario por semanas es una tabla: una fila por periodo, con su fecha de inicio, su fecha de fin, su número de periodo y su ejercicio. La búsqueda es aproximada y hacia abajo, contra la fecha de inicio:
=BUSCARX(A2;Calendario[Inicio];Calendario[Periodo];;-1)
=BUSCARX(A2;Calendario[Inicio];Calendario[EF];;-1)
El -1 significa «coincidencia exacta o el siguiente elemento menor», así que cualquier fecha dentro de un periodo encuentra la fila de ese periodo. Mantén la tabla ordenada de forma ascendente, publícala una vez al año y no dejes que dos fórmulas deduzcan los límites por su cuenta.
Escenario: Si tus periodos son semanas, construye ya la tabla de calendario del año que viene y comprueba que sus días suman 364 o 371. Luego sustituye cada fórmula de periodo basada en meses por =BUSCARX([@Fecha];Calendario[Inicio];Calendario[Periodo];;-1).
10Qué Significa EF26 Depende de Quién lo Escriba
La etiqueta es una convención y no un hecho, y las convenciones no se ponen de acuerdo entre ellas.
| De quién es el ejercicio | Empieza | «EF26» suele abarcar |
|---|---|---|
| Empresa británica con cierre en marzo | 1 abr 2025 | abr 2025 – mar 2026 |
| Gobierno federal de EE. UU. | 1 oct 2025 | oct 2025 – sep 2026 |
| Entidad australiana | 1 jul 2025 | jul 2025 – jun 2026 |
| Minorista de EE. UU. con cierre a finales de enero | 1 feb | feb 2025 – ene 2026, o feb 2026 – ene 2027 |
Las tres primeras se etiquetan por el año en que termina la ventana. La fila del minorista se etiqueta de una forma o de otra según la cadena, y por eso los mismos cuatro caracteres en el nombre de un archivo pueden significar ventanas separadas por un año.
Así que escríbelo. Una celda que diga «el EF va del 1 de abril al 31 de marzo, etiquetado por el año en que termina» no cuesta nada y zanja cualquier discusión que un lector pueda tener con las cifras.
Y comprueba el ejercicio de la otra parte en vez de dar por hecho el tuyo. El año de rebate de Calderbank coincidía con sus cuentas, lo cual es suerte y no regla: el año de rebate de un proveedor, un año de arrendamiento y un año fiscal pueden empezar cada uno en un sitio distinto.
Escenario: Abre el contrato que hay detrás de tu mayor rebate, bonus o covenant y busca la frase que define su periodo de medición. Escribe esas dos fechas en celdas del libro que lo demuestra y apunta a esas celdas los límites del SUMAR.SI.CONJUNTO.
11Cinco Comprobaciones de una Celda Cada Una
=SUMAPRODUCTO(--(Compras[EF]<>AÑO(FIN.MES(Compras[Fecha];13-IniEF)))) → 0 la columna EF cumple la regla
=SUMAPRODUCTO(--(Compras[Fecha]<>ENTERO(Compras[Fecha]))) → 0 ninguna fila lleva hora
=SUMA(T1:T4)-SUMAR.SI.CONJUNTO(Compras[Neto];Compras[EF];2026) → 0,00 los trimestres cubren el año una vez
=CONTAR.SI.CONJUNTO(Compras[Fecha];">="&InicioEF;Compras[Fecha];"<"&FECHA.MES(InicioEF;12)) → 1.184 filas dentro de la ventana
=TEXTO(InicioEF;"dd mmm aaaa")&" a "&TEXTO(FECHA.MES(InicioEF;12)-1;"dd mmm aaaa") → "01 abr 2025 a 31 mar 2026"
La última es la más barata y la que más caza. Una ventana escrita en palabras, puesta al lado del total que ha producido, es algo con lo que un lector puede discrepar. 874.300,00 £ bajo el título «gasto anual» no lo es.
Comprueba el recuento además del total. Una ventana puede contener las filas equivocadas y sumar de todos modos una cifra verosímil, y el recuento de filas es la única forma barata de ver la ventana misma y no su resultado.
Escenario: Añade esa última comprobación a la hoja que hay detrás de tu última cifra de cierre, en la celda justo encima o justo debajo. Lee las dos fechas que imprime y compáralas con el contrato, el informe al consejo o las cuentas firmadas.
Pruébalo en la cuadrícula12Diez Trampas
=AÑO([@Fecha])como columna de año. Correcta en una empresa de año natural, equivocada en todas las demás, y nunca da un error que te avise.=REDONDEAR.MAS(MES(A2)/3;0)como trimestre. Desplazado un trimestre con cierre en marzo, dos con cierre en junio, tres con cierre en septiembre.<=sobre el último día del año. Deja fuera toda fila con hora.<sobre el día uno del año siguiente no.- Ordenar por la etiqueta del periodo. Orden de texto, así que Q10 cae antes que Q2 y un trimestre se ordena por su nombre y no por su sitio en el año.
- Agrupar por Trimestres el campo de fecha de una dinámica. Trimestres naturales, siempre, y la agrupación la comparten todas las dinámicas de esa caché.
- Un acumulado contra un año anterior completo. Once meses contra doce se parecen exactamente a un desplome de la demanda.
- Escribir el mes de inicio a mano. Hay que volver a encontrar una docena de
SIel día que se mueve el cierre, y uno de ellos se quedará sin tocar. - Dar por hecho que el ejercicio de la otra parte es el tuyo. Los años de rebate, de arrendamiento y fiscales empiezan donde diga su propio contrato.
- Deducir los límites de un 4-4-5 con aritmética. Los periodos por semanas no caen en fin de mes, y algunos años tienen una semana 53.
- Dejar la convención sin escribir. EF26 significa doce meses distintos para el grupo, para el proveedor y para el auditor.
Lo Que Hay Que Llevarse
Excel no tiene ni idea de cuál es tu ejercicio fiscal y nunca la tendrá. AÑO y MES responden preguntas del calendario, y toda pregunta fiscal es una pregunta del calendario más un desplazamiento que tienes que aportar tú.
Apórtalo una vez. Una celda para el mes de inicio, una columna para el ejercicio, otra para el trimestre, otra para la fecha de inicio del periodo — y entonces todos los totales, dinámicas y gráficos del libro leen un calendario fiscal que no pueden malinterpretar.
Lo que perdió Calderbank fue una columna auxiliar que respondía perfectamente a la pregunta equivocada. =AÑO([@Fecha]) es Excel correcto, y 26.172,50 £ se quedaron sin reclamar porque el contrato medía otros doce meses y nada en la hoja lo sabía.
Tres hábitos lo cubren. Escribe la convención en una celda, en palabras. Delimita toda ventana con >= el primer día y < el primer día siguiente, nunca <= el último. Y escribe la ventana al lado del total, para que las fechas sean algo que el lector pueda comprobar y no algo que la fórmula da por supuesto en silencio.