Dizi girilen formülü kullanarak Excel'de tek bir formülle takvim oluşturun.
Şu şekle bakın:

Bu formül, =Cool
B5: H10'daki her hücrede aynı formüldür! Bak:

B5: H10 ilk seçildiğinde dizi girildi. Bu yazıda formülün arkasında ne olduğunu göreceksiniz.
Bu arada, görüntülenecek ay olan henüz gösterilmeyen bir hücre var. Yani, J1 hücresi =TODAY()
şunları içerir (ve bunu Aralık'ta yazıyorum), ancak 5/8/2012 olarak değiştirirseniz şunu görürsünüz:

Bu Mayıs 2012. Tamam, kesinlikle harika! En baştan başlayın ve takvimde bu formüle kadar ilerleyin ve nasıl çalıştığını görün.
Ayrıca, bugünün 8 Mayıs 2012 olduğunu varsayalım.
İlk önce şu şekle bakın:

Formül pek mantıklı değil. Etrafı çevrili olsaydı olurdu, =SUM
ancak formülün arkasında ne olduğunu görmek istiyorsan, onu seçip F9 tuşuna basarak genişleteceksin.

F9 tuşuna basıldığında yukarıdaki şekil aşağıdaki şekil olur.

3'ten sonra noktalı virgül olduğuna dikkat edin - bu yeni bir satırı gösterir. Yeni sütunlar virgülle temsil edilir. Yani bundan yararlanacaksınız.
Bir aydaki hafta sayısı değişir, ancak hiçbir takvimin herhangi bir ayı temsil etmesi için altıdan fazla satıra ihtiyacı yoktur ve elbette hepsinin yedi günü vardır. Şu şekle bakın:

B5: H10'da 1 ile 42 arasındaki değerleri manuel olarak girin ve =B5:H10
bir hücreye girip ardından formül çubuğunu genişletirseniz, burada gösterilenleri görürsünüz:

Her 7'nin katından sonra yeni bir satırı belirten noktalı virgüllerin yerleştirilmesine dikkat edin. Bu formülün başlangıcıdır, ancak bu kadar uzun bir formül yerine bu daha kısa formülü kullanabilirsiniz. B5: H10'u seçin. Tür
=(0;1;2;3;4;5)*7+(1,2,3,4,5,6,7)
formül olarak, ancak Enter tuşuna basmayın.
Excel'e bunun bir dizi formülü olduğunu söylemek için, sol elinizle Ctrl + Shift tuşlarını basılı tutmanız gerekir. Ctrl + Shift tuşunu basılı tutarken sağ elinizle Enter tuşuna basın. Ardından Ctrl + Shift tuşlarını bırakın. Bu makalenin geri kalanı için, bu tuş vuruşları seti Ctrl + Shift + Enter olarak adlandırılacaktır.
Ctrl + Shift + Enter tuşlarını doğru bir şekilde yaptıysanız formül çubuğundaki formülün çevresinde küme parantezleri görünecek ve burada gösterildiği gibi 1'den 42'ye kadar olan sayılar B5: H10'da görünecektir:

0'dan 5'e kadar olan sayıları noktalı virgülle ayırdığınıza (her biri için yeni satır) ve bunları 7 ile çarptığınıza dikkat edin, etkili bir şekilde şunu verin:

1'den 7'ye kadar olan değerlerin yatay yönelimine eklenen bu değerlerin dikey yönelimi, gösterilenlerle aynı değerleri verir. Bunun genişlemesi daha önce sahip olduklarınızla aynıdır. Şimdi bu numaralara BUGÜN eklediğinizi varsayalım.
Not: Mevcut bir dizi formülünü düzenlemek çok zordur. Dikkatlice şu adımları izleyin: B5: H10'u seçin. Mevcut formülü düzenlemek için Formül Çubuğuna tıklayın. + J1 yazın ancak Enter'a basmayın. Düzenlenen formülü kabul etmek için Ctrl + Shift + Enter tuşlarına basın.
8 Mayıs 2012 için sonuç:

Bu numaralar seri numaralardır (1/1/1900 tarihinden itibaren geçen gün sayısı). Bunları kısa tarihler olarak biçimlendirirseniz:

Açıkça doğru değil, ama oraya varacaksın. Ya bunları ayın günü için basitçe "d" olarak biçimlendirirseniz:

Neredeyse bir ay gibi görünüyor, ancak hiçbir ay ayın dokuzuncusuyla başlamıyor. Ah, işte bir sorun. 5/8/2012 içeren J1'i kullandınız ve gerçekten ayın ilk tarihini kullanmanız gerekiyor. Diyelim ki =DATE(YEAR(J1),MONTH(J1),1)
J2'yi koydunuz :

J1 hücresi 5/8/2012 içerir ve J2 hücresi bunu J1'e girilen her ayın ilkine değiştirir. Öyleyse, takvimin formülündeki J1'i J2 olarak değiştirirseniz:

Daha yakın, ama yine de doğru değil. Bir düzeltme daha gerekiyor ve bu, ilk günün hafta içi gününü çıkarmanız gerektiğidir. Yani J3 hücresi içerir =WEEKDAY(J2)
. 3 Salı gününü temsil eder. Şimdi bu formülden J3'ü çıkarırsanız, şunu elde edersiniz:

Ve bu aslında Mayıs 2012 için doğru!
Tamam, çok yakınsın. Hala yanlış olan şey, Nisan ayından itibaren 29 ve 30'un Mayıs takviminde görünmesi ve 1 - 9 Haziran da görünmesi. Bunları temizlemelisin.
Daha kolay referans olması için formüle bir ad verebilirsiniz. Buna "Cal" deyin (henüz "havalı" değil). Bu şekle bakın:

Daha sonra formülü basitçe =Cal
(yine Ctrl + Shift + Enter) olacak şekilde değiştirebilirsiniz:

Şimdi formülü, sonuç 5. sıradaysa ve sonuç 20'nin üzerindeyse, o zaman sonucun boş olması gerektiğini okuyacak şekilde değiştirebilirsiniz. Satır 5, herhangi bir ayın ilk haftasını içerecektir, bu nedenle hiçbir zaman 20'nin üzerinde herhangi bir değer görmemelisiniz (veya yediden büyük herhangi bir sayı yanlış olur - yukarıdaki şeklin B5 hücresinde gördüğünüz 29 gibi bir sayı önceki aya aittir). Böylece şunları kullanabilirsiniz =IF(ROW()=5,IF(DAY(Cal)>20,"",Cal),Cal)
:

İlk olarak, B5: D5 hücrelerinin boş olduğuna dikkat edin. Formül artık "bu 5. satırsa, sonucun GÜNÜ 20'den fazlaysa boş göster" yazmaktadır.
Sonunda düşük sayıları kaldırmaya devam edebilirsiniz - gelecek ayın değerleri. İşte bunu kolayca nasıl yapacağınız.
Formülü düzenleyin ve "Cal" için son referansı seçin

Son Cal'ı değiştirmek için IF (SATIR ()> 8, IF (DAY (Cal) <15, "", Cal), Cal) yazmaya başlayın.

Nihai formül olmalıdır
=IF(ROW()=5,IF(DAY(Cal)>20,"",Cal),IF(ROW()>8,IF(DAY(Cal)<15,"",Cal),Cal))
Ctrl + Shift + Enter tuşlarına basın. Sonuç şöyle olmalıdır:

Yapacak iki şey kaldı. Bu formülü alıp ona "Harika" bir isim verebilirsiniz:

Sonra bunu burada gösterilen formülde kullanın:

Bu arada, tanımlı isimler dizi girilmiş gibi ele alınır.
Yapılması gereken şey, hücreleri biçimlendirmek ve haftanın günlerini ve ayın adını koymaktır. Böylece sütunları genişletir, satır yüksekliğini artırır, yazı tipi boyutunu artırır ve metni hizalarsınız:

Ardından hücrelerin etrafına sınırlar koyun:

Ay ve yılı birleştirip ortalayın ve biçimlendirin:

Ardından kılavuz çizgilerini kapatın ve işte:


Bu konuk makale Excel MVP Bob Umlas'tan. Excel Outside the Box kitabından. Kitaptaki diğer konuları görmek için burayı tıklayın.