Excel'de Tek Formüllü Takvim (Elbette Dizi Girildi!) - Excel İpuçları

Dizi girilen formülü kullanarak Excel'de tek bir formülle takvim oluşturun.

Şu şekle bakın:

Excel'de Takvim - Aralık

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

Temel takvim formülü

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:

Ay Mayıs olarak değiştirildi

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:

Örnek formül

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

Formül seçin

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

Formülün arkasında ne var

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:

Takvim aralığı

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

Formül çubuğundaki formülü genişletin

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:

Formülün etrafındaki kıvrımlı diş telleri

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:

Daha fazla genişlet - satır dizini 7 ile çarpılır

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ç:

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:

Biçimlendirilmiş aralık

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:

Ayın 'günü' olarak biçimlendirin

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 :

Ayın ilk günü

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:

Temel tarihi ayın ilk tarihi olarak değiştirin

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:

Hafta içi vardiya

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:

Adlandırılmış bir formül oluşturun

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

Dizi formülünü adlandırılmış formülle değiştirin

Ş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):

Önceki ayın tarihleri

İ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

Gelecek ayın tarihleri ​​- 1

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

Gelecek ayın tarihleri ​​- 2

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:

Sonuç-1

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

Formülü 'Soğuk' olarak adlandırın

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

Sonuç-2

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:

Aralığı biçimlendirin

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

Takvim kenarlıkları

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

Ay adı ve yıl

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

Nihai Sonuç - Takvim

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.

Ilginç makaleler...