Looge Excelis ühe valemiga kalender, kasutades massiivi sisestatud valemit.
Vaadake seda joonist:

See valem =Cool
on sama valem kõikides lahtrites B5: H10! Vaata:

See sisestati massiivi, kui B5: H10 valiti esmakordselt. Selles artiklis näete, mis on valemi taga.
Muide, on veel üks lahter, mida pole veel näidatud, mis on kuvatav kuu. See tähendab, et lahter J1 sisaldab =TODAY()
(ja ma kirjutan selle detsembris), kuid kui muudate selle 8.05.2012, näete:

See on mai 2012. OK, kindlasti lahe! Alustage algusest ja liikuge kalendris selle valemi juurde ning vaadake, kuidas see töötab.
Oletame ka, et täna on 8. mai 2012.
Kõigepealt vaadake seda joonist:

Valemil pole tegelikult mõtet. Kui see oleks ümbritsetud =SUM
, kuid soovite näha, mis on valemi taga, siis laiendate seda, valides selle ja vajutades klahvi F9.

Ülalolev joonis muutub allpool olevaks, kui vajutate klahvi F9.

Pange tähele, et pärast kolme tähist on semikoolon - see näitab uut rida. Uusi veerge tähistab koma. Nii et te kasutate seda ära.
Kuu nädalate arv varieerub, kuid ühelgi kalendril pole vaja ühe kuu tähistamiseks rohkem kui kuut rida ja loomulikult on neil kõigil seitse päeva. Vaadake seda joonist:

Sisestage väärtused 1 kuni 42 =B5:H10
lahtrisse B5: H10 käsitsi ja kui sisestate lahtrisse ja seejärel laiendate valemiriba, näete siin näidatut:

Pange tähele, et semikoolonid on paigutatud iga 7-kordse järel ja tähistavad uut rida. See on valemi algus, kuid nii pika asemel võite kasutada seda lühemat valemit. Valige B5: H10. Tüüp
=(0;1;2;3;4;5)*7+(1,2,3,4,5,6,7)
valemina, kuid ärge vajutage sisestusklahvi.
Exceli ütlemiseks, et see on massiivivalem, peate vasaku käega hoidma all klahve Ctrl + Shift. Ctrl + Tõstuklahvi all hoides vajutage parema käega Enter. Seejärel vabastage Ctrl + Tõstuklahv. Selle artikli ülejäänud osas nimetatakse seda klahvivajutuste komplekti Ctrl + Tõst + Enter.
Kui tegite klahvikombinatsiooni Ctrl + Shift + Enter õigesti, ilmuvad valemiribale valemi ümber lokkis traksid ja numbrid 1 kuni 42 ilmuvad lahtrisse B5: H10, nagu siin näidatud:

Pange tähele, et võtate numbrid 0–5 eraldatuna semikoolonitega (igaühele uus rida) ja korrutate need 7-ga, andes selle tegelikult:

Nende väärtuste vertikaalne orientatsioon, mis on lisatud väärtuste 1 kuni 7 horisontaalsele orientatsioonile, annab samad väärtused, mis on näidatud. Selle laiendamine on identne varasemaga. Oletame, et lisate nüüd neile numbritele TÄNA?
Märkus. Olemasoleva massiivivalemi muutmine on väga keeruline. Järgige hoolikalt neid samme: valige B5: H10. Olemasoleva valemi muutmiseks klõpsake valemiribal. Sisestage + J1, kuid ärge vajutage sisestusklahvi. Redigeeritud valemi aktsepteerimiseks vajutage klahvikombinatsiooni Ctrl + Tõst + Enter.
8. mai 2012 tulemus on järgmine:

Need numbrid on seerianumbrid (päevade arv alates 01.01.1900). Kui vormindate need lühikeste kuupäevadena:

Ilmselgelt pole see õige, kuid te jõuate sinna. Mis siis, kui vormindate need kuupäeva jaoks lihtsalt d-ks:

Peaaegu näeb välja nagu kuu, kuid ükski kuu ei alga kuu üheksandaga. Ah, siin on üks probleem. Kasutasite J1, mis sisaldab 8.05.2012, ja peate tõesti kasutama kuu esimese kuupäeva. Oletame, et panite =DATE(YEAR(J1),MONTH(J1),1)
J2:

Lahter J1 sisaldab 8.05.2012 ja lahter J2 muudab selle kuu esimeseks, olenemata sellest, mis sisestatakse J1-sse. Nii et kui muudate kalendri valemis J1 väärtuseks J2:

Lähemalt, kuid siiski mitte õige. Vaja on veel ühte kohandamist ja see on, et peate lahutama esimese päeva nädalapäeva. See tähendab, et lahter J3 sisaldab =WEEKDAY(J2)
. 3 tähistab teisipäeva. Nii et nüüd, kui lahutate sellest valemist J3, saate:

Ja see sobib tegelikult 2012. aasta maiks!
Okei, sa oled tõeline lähedane. Mis on ikka valesti, on aprillikuu 29 ja 30 ilmumine mai kalendrisse ning ka 1. juuni kuni 9. juuni. Peate need tühjendama.
Valemile saate selle hõlpsamini viitamiseks nime anda. Nimetage seda "Cal" (pole veel "lahe"). Vaadake seda joonist:

Seejärel saate muuta valemi lihtsalt väärtuseks =Cal
(endiselt Ctrl + Tõst + Enter):

Nüüd saate valemit muuta nii, et kui tulemus on 5. reas ja tulemus on näiteks üle 20, siis peaks see tulemus olema tühi. 5. rida sisaldab mis tahes kuu esimest nädalat, nii et te ei tohiks kunagi näha väärtusi, mis ületavad 20 (või mis tahes arv üle seitsme oleks vale - selline arv nagu 29, mida näete ülaltoodud joonise lahtris B5, on eelmisest kuust). Nii saate kasutada =IF(ROW()=5,IF(DAY(Cal)>20,"",Cal),Cal)
:

Kõigepealt pange tähele, et lahtrid B5: D5 on tühjad. Valem kõlab nüüd "kui see on rida 5, siis kui tulemuse PÄEV on üle 20, siis näita tühjana".
Madalate arvude eemaldamist saate jätkata lõpus - järgmise kuu väärtused. Siit saate teada, kuidas seda hõlpsalt teha.
Redigeerige valemit ja valige viide "Cal"

Alustage tippimist IF (ROW ()> 8, IF (PÄEV (Cal) <15, "", Cal), Cal), et asendada lõplik Cal.

Lõplik valem peaks olema
=IF(ROW()=5,IF(DAY(Cal)>20,"",Cal),IF(ROW()>8,IF(DAY(Cal)<15,"",Cal),Cal))
Vajutage klahvikombinatsiooni Ctrl + Tõst + Enter. Tulemuseks peaks olema:

Kaks asja on jäänud tegemata. Võite võtta selle valemi ja anda sellele nime "Lahe":

Seejärel kasutage seda siin näidatud valemis:

Muide, määratletud nimesid käsitletakse nii, nagu oleksid need massiivi sisestatud.
Järele jääb lahtrite vormindamine ning nädalapäevade ja kuu nime sisestamine. Nii laiendate veerge, suurendate rea kõrgust, suurendate fondi suurust ja joondate teksti:

Seejärel pange lahtrite ümber piirid:

Kuu ja aasta ühendamine ja tsentreerimine ning vormindamine:

Seejärel lülitage võrgud välja ja voila:


See külalisartikkel pärineb Exceli MVP Bob Umlaselt. See on pärit raamatust Excel väljaspool kasti. Teiste raamatu teemade nägemiseks klõpsake siin.