![]() |
Mòdul
7
![]() |
Aplicacions educatives
de full de càlcul
![]() |
Pràctica![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Calendari
perpetu
Us presentem el llibre MODUL7B10.XLS, que conté dos full: Calendari perpetu i Taules. El full Calendari perpetu proporciona el dia de la setmana d’una data compresa entre el dijous, 01-01-0000 i el dijous, 31-12-2499. És a dir, dóna el dia de la setmana tant si li correspon el calendari julià (vàlid fins el dijous, 04-10-1582) com el calendari gregorià (vàlid des del divendres, 15-10-1582 fins el dijous, 31-12-2499). En aquest full es fa coexistir el calendari julià i el gregorià, tenint en compte que en el julià els anys de traspàs són tots els anys divisibles per 4, per contra, en gregorià ho són amb l’excepció dels anys acabats en 00, que només ho seran els divisibles per 400. Els dies compresos entre 05-10-1582 i 14-10-1582, ambdós inclosos, no existeixen ja que va ser per ajustar el calendari gregorià a l’any tròpic que corresponia. Les taules que utilitza el full es basen en els valors numèrics del calendari perpetu Moret ![]() L’entrada de la data es fa a la zona emmarcada en fons blanc (cel·la D8), i en format text respectant l’estructura dd-mm-aaaa (els guionets poden ser qualsevol caràcter alfanumèric). El full dóna automàticament el dia de la setmana que correspon la data explicitada, en funció del calendari que li correspongui. El full controla 6 tipus d’error indicant-ho amb els missatges següents:
Com està construït el llibre:El llibre consta, com ja hem dit abans, de dos fulls: Calendari perpetu i Taules. El primer full, Calendari perpetu, és el motor que genera el dia de la setmana que correspon a la data introduïda, i el segon full, Taules, és el full on són totes les taules de consulta que li calen al full Calendari perpetu.El full que interessa estudiar i veure com està construït és, evidentment, el Calendari perpetu. Per visualitzar millor l'estructura del full es recomana que s'obrin totes les files i columnes, i s'activi l'engraellat com també les capçaleres de les files i de les columnes. Així doncs, donada una data, el funcionament tècnic del full és: Primer de tot, el full desglossa la data en 4 valors: dia, mes, centenes de l'any i desenes de l'any. Els valors corresponents al dia, centenes de l'any i desenes de l'any ho fa a les cel·les E8, G8 i H8, respectivament, mitjançant les fórmules: Cel·la E8 =VALOR(EXTRAE(D8;1;2)). Essent la cel·la D8, la cel·la on s'introdueix la data. Cel·la G8 =VALOR(EXTRAE(D8;7;2)) Cel·la H8 =VALOR(EXTRAE(D8;9;2)) Pel que fa el desglossament i assignació del valor del mes el full té en compte si l'any és de traspàs o no. Això ho fa assignant a cada mes el número d'ordre que li correspost començant des del mes de gener, és a dir, el mes de març se li assigna el 3, el mes de desembre el 12, etc., però, com els anys de traspàs afecta els mesos de gener i febrer (en fer la consulta de taules), aquests dos mesos se'ls assigna, en comptes de 1 i 2, respectivament, els valors 1,1 i 2,1, pels anys que no són de traspàs i, 1,2 i 2,2, pels anys de traspàs. Això ho fa a les cel·les D10, D11 i D12 mitjançant les fórmules: Cel·la D10 =VALOR(EXTRAE(D8;4;2)), que determina el valor numèric del mes. Cel·la D11 =SI(O(D10=1;D10=2);D10+0,1;D10), que suma 0,1 al valor numèric del mes, si el mes és gener o febrer. Cel·la D12 =SI(Y(RESIDUO(E10;4)=0;O(D10=1;D10=2);E15=0);D11+0,1;D11), si l'any és de traspàs torna a sumar un altre cop 0,1 al mes de gener o febrer (és a dir, suma 0,1 al valor de la cel·la D11). Observem amb més detall la condició imposada a la fórmula D12 quan un any és de traspàs. Aquesta condició és: Y(RESIDUO(E10;4)=0;O(D10=1;D10=2);E15=0) Això és: els anys divisibles per 4, que el mes sigui gener o febrer i, que el valor de la cel·la E15 sigui 0. La cel·la E15 té el valor 0 si l'any considerat és un any qualsevol que no sigui cap dels anys més grans del 1582, acabat en 00 no divisible per 400, és a dir, no siguin un dels anys: 1700, 1800, 1900, 2100, 2200 ni 2300. La fórmula emprada a la cel·la E15 és: Cel·la E15 =SI(O(E10=1700;E10=1800;E10=1900;E10=2100;E10=2200;E10=2300);1;0) El full té en compte les centenes de l'any introduït en fer la consulta a les taules. Ja que hi ha el canvi del calendari julià, vàlid fins al 04-10-1582, al calendari gregorià, a partir del 15-10-1582, es distingeixen les centenes de l'any d'un o l'altre calendari assignant el valor 15,1 i 15,2 respectivament, en lloc de la centena de l'any que li correspondria, és a dir, el valor 15. Observem com el full determina les centenes de l'any i té en compte, en lloc del 15, el 15,1 o el 15,2. Les fórmules emprades són: Cel·la E10
=VALOR(EXTRAE(D8;7;4)). Determina l'any.
Per estudiar de forma més senzilla aquest condicional compost, recordem l'estructura bàsica del condicional simple que, com ja se sap, la fórmula és: SI(condició; acció1; acció2), i que es pot explicitar de la manera següent:
SI (condició;
Si es dóna la condició;
Així doncs, per comentar la fórmula de la cel·la E11 es seguirà aquest model: SI(E10=1582;
SI l'any introduït és 1582;
Acabem d'estudiar aquesta fórmula: SI(Y(E10>1499;E10<1582);
SI l'any introduït és major que 1499 i menor que 1582;
Aquests dos últims condicionals el que fan és assignar a
les centenes
15,1. Per a les dates major que 1499 i menor que 1582.
A partir dels valors determinats a les cel·les H8, E11, F8 i E8 i en aquest mateix ordre, es determina el dia de la setmana que li correspon a la data introduïda, si no és errònia. És a dir, fa 4 consultes encadenades, mitjançant les fórmules següents: Cel·la D14
=BUSCARV(H8;Taules!E3:F102;2)
Essent la cel·la E16, la cel·la de control d'errors, tipificats en 6 tipus diferents. La fórmula emprada és: Cel·la E16 =SI(O(LARGO(D8)<>10;ESERROR(E8);ESERROR(D16));1;SI(Y(E15=1;E8=29;F8=2.1);2;
Això és: SI(O(LARGO(D8)<>10;ESERROR(E8);ESERROR(D16));
|