Excel formülü: Yıl artık bir yıldır -

Genel formül

=MONTH(DATE(YEAR(date),2,29))=2

Özet

Belirli bir tarihin yılın artık yıl olup olmadığını test etmek için AY, YIL ve TARİH işlevlerini kullanan bir formül kullanabilirsiniz. Gösterilen örnekte, C5 hücresindeki formül şöyledir:

=MONTH(DATE(YEAR(B5),2,29))=2

Açıklama

Bu formülün özü, aralık dışı olan ay ve yıl değerlerine otomatik olarak ayarlanacak olan TARİH işlevidir. Formülde yıl, ay (Şubat) için 2 ve gün için 29 ile birlikte tarihe değişmeden geçirilir. Artık yıllarda, Şubat ayının 29 günü vardır, dolayısıyla TARİH işlevi yalnızca yılın 29 Şubat tarihini döndürür.

Ancak artık olmayan yıllarda DATE, yılın 1 Mart tarihini döndürür, çünkü Şubat ayının 29. günü yoktur ve DATE, tarihi bir sonraki aya kaydırır.

Son olarak, MONTH işlevi, eşittir işareti kullanılarak 2 ile karşılaştırılan DATE tarafından sağlanan sonuçtan ayı çıkarır. Ay 2 ise formül DOĞRU verir. Değilse, ay 3 olmalıdır ve formül YANLIŞ değerini döndürür.

Yalnızca test yılı

Tarih yerine tam tarih yerine yalnızca bir yılı kontrol etmek için formülü aşağıdaki gibi değiştirin:

=MONTH(DATE(year,2,29))=2

Bu versiyonda, bir tarihten bir yıl değeri çıkarmıyoruz, bir yıl değerini (yani 2020) doğrudan DATE fonksiyonuna aktarıyoruz.

Daha gerçekçi bir çözüm

Yukarıdaki formül çok akıllı görünüyorsa ve daha gerçek bir çözüm istiyorsanız, aşağıdaki formül bir yılın bunun yerine 366 gün içerip içermediğini test edecektir:

=DATE(YEAR(date)+1,1,1)-DATE(YEAR(date),1,1)=366

Bu formül, sağlanan tarihe dayalı olarak iki tarih üretir: (1) sonraki yılın ilki ve (2) cari yılın ilki. Daha sonra cari yılın ilki, bir sonraki yılın ilkinden çıkarılır. Artık olmayan yıllarda sonuç 365'tir ve formül YANLIŞ değerini döndürür. Artık yıllarda sonuç 366'dır ve formül DOĞRU verir.

İyi bağlantılar

Excel İncil (John Walkenbach) Artık yılı test etmenin birçok yolu (Chandoo)

Ilginç makaleler...