Skip to main content

Excel'de ayları yıllara ve aylara nasıl dönüştürürüm?

Author: Xiaoyang Last Modified: 2025-08-07
convert months to years and months

Excel çalışma sayfasında, ayları temsil eden bir değeri yıllar ve aylar biçimine dönüştürmeyi denediniz mi? Örneğin, 56 ayınız varsa, bunu soldaki resimde gösterildiği gibi 4 yıl 8 ay olarak görüntülemek isteyebilirsiniz. Ayları daha okunabilir bir yıllar ve aylar formatına dönüştürmek, özellikle süreler veya hizmet süreleri raporlanırken açıklığı artırır. Bu makalede, Excel'de bu görevi gerçekleştirmek için pratik yöntemleri ele alacağız ve her yaklaşımın hangi senaryolarda en faydalı olduğunu tartışacağız.

Ayları yıllara ve aylara formül ile dönüştürme

Ayları yıllara ve aylara VBA Makrosu ile dönüştürme


Ayları yıllara ve aylara formül ile dönüştürme

Ayları temsil eden bir sayısal değeri, yıllar ve aylar cinsinden ifade edilen daha anlaşılır bir döneme dönüştürmek istediğinizde, Excel formülleri bu işlemi verimli bir şekilde gerçekleştirebilir. Bu yöntem, günlük görevler, küçük veri setleri veya kod kullanmaktan kaçınmak istediğiniz durumlar için özellikle kullanışlıdır. Formüller dinamiktir, bu nedenle giriş aylarında bir değişiklik olduğunda sonucu otomatik olarak günceller.

Ayları yıllara ve aylara doğrudan bir formülle dönüştürmek için aşağıdaki yaklaşımı kullanabilirsiniz. Bu çözümde, tam yıllar toplam ay sayısını 12'ye bölerek hesaplanırken, kalan size kalan ayları verir:

Aşağıdaki formülü boş bir hücreye kopyalayıp yapıştırın:

=TAMSAYI(A2/12) & " yıl ve " &MOD(A2;12)& " ay"

Bu formülü girdikten sonra, Enter'a basın ve yıllar ve aylar dönüşümünü görün. Formülü ek satırlara uygulamak için, listeye göre dolgu tutamacını aşağı doğru sürükleyin. Bu teknik, her değerin anında dönüştürülmesini sağlar ve toplu işlemeyi kolaylaştırır.

Convert months to years and months with formula

İpuçları ve önlemler:

  • Ay sayısı 12'den küçükse, formül "0 yıl ve X ay" şeklinde gösterecektir.
  • Negatif değerler ve tamsayı olmayan değerler beklenmedik sonuçlara neden olabilir; kaynak değerlerin geçerli olduğundan ve sayı olarak biçimlendirildiğinden emin olun.
  • Giriş olmadığında boş göstermek için, "0 yıl ve 0 ay" yazısını önlemek üzere bir EĞER fonksiyonu kullanabilirsiniz.

Sık karşılaşılan sorun giderme:

  • #DEĞER! hatası görüyorsanız, başvurulan hücrede geçerli bir sayısal değer olduğundan emin olun.
  • Çıktı biçimini özelleştirmek isterseniz, formüldeki tırnak içindeki metni gerektiği gibi ayarlayın.

Bu formül yöntemi, değerlerin değişebileceği dinamik dönüşümler için ve programlamaya veya makrolara az aşina olan kullanıcılar için uygundur. Çok büyük veri setleri veya sık tekrarlanan dönüşümler için otomatikleştirilmiş bir yaklaşım daha verimli olabilir. Makro tabanlı bir çözüm için aşağıya bakın.



Ayları yıllara ve aylara VBA Makrosu ile dönüştürme

Eğer düzenli olarak aylar listesini yıllar ve aylar formatına dönüştürmeniz gerekiyorsa veya çok büyük veri setleriyle çalışıyorsanız, Excel'in VBA makro özelliği bu görevi otomatikleştirerek zaman kazandırır ve manuel hataları azaltır. Bir makro kullanmak, özellikle birden fazla sütunu işlemek veya yeni verilere mantığı uygulamak istediğinizde tekrarlanabilir bir iş akışı parçası olarak özellikle değerlidir.

1. Geliştirici > Visual Basic'e tıklayarak VBA düzenleyicisini açın. Geliştirici sekmesini görmüyorsanız, Excel Seçenekleri > Şeridi Özelleştir üzerinden etkinleştirebilirsiniz. Düzenleyici açıldığında, Ekle > Modül'e tıklayın. Görüntülenen modül penceresine aşağıdaki kodu kopyalayıp yapıştırın:

Sub ConvertMonthsToYearsMonths()
    Dim rng As Range
    Dim cell As Range
    Dim years As Integer
    Dim months As Integer
    Dim outputCol As Long
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    Set rng = Application.InputBox("Select the range of months to convert", xTitleId, Selection.Address, Type:=8)
    
    If rng Is Nothing Then Exit Sub
    
    outputCol = rng.Columns(rng.Columns.Count).Column + 1
    
    For Each cell In rng
        If IsNumeric(cell.Value) And cell.Value >= 0 Then
            years = Int(cell.Value / 12)
            months = cell.Value Mod 12
            cell.Offset(0, rng.Columns.Count).Value = years & " years and " & months & " months"
        Else
            cell.Offset(0, rng.Columns.Count).Value = ""
        End If
    Next
End Sub

2Makroyu çalıştırmak için Run button düğmesine tıklayın veya F5tuşuna basın. Ayları dönüştürmek istediğiniz aralığı seçmenizi isteyen bir iletişim kutusu açılacak (örneğin, A2:A20). Aralığınızı seçin ve Tamam'a tıklayın.

Makro, seçiminizin hemen sağındaki sütuna ("X yıl ve Y ay" formatında) sonucu otomatik olarak yazacaktır. Örneğin, A2:A20'yi seçtiyseniz, sonuçlar B2:B20'ye yerleştirilecektir.

Kullanım notları ve ipuçları:

  • Seçiminizin geçerli pozitif sayılar içerdiğinden emin olun. Eğer bir hücre boşsa, sıfır olarak kabul edilecek ve "0 yıl ve 0 ay" döndürecektir. Sayısal olmayan veya negatif değerler boş veya hata çıktılarına neden olabilir.
  • Makro, seçili aralığın hemen sağındaki sütuna sonuçları çıkarır. Makroyu çalıştırmadan önce o sütunu kontrol edin, verilerin üzerine yazılmasını önlemek için.
  • Bu makroyu birden fazla kez çalıştırabilirsiniz, bu da toplu işlemeler veya yeni gelen veriler için uygun hale getirir.
  • VBA eylemleri için Geri Al (Ctrl+Z) mevcut değildir, bu nedenle makroları çalıştırmadan önce önemli verilerinizin yedek kopyalarını saklayın.
  • Verilerinizde negatif veya kesirli aylar varsa, bunlar boş olarak değerlendirilecektir (VBA koşullarına bakın; gerektiğinde değiştirin).

Bu VBA yaklaşımı, tekrarlayan dönüşümler gerçekleştirmesi gereken, birçok satırı aynı anda işlemesi gereken veya üretkenlik görevlerini otomatikleştirmesi gereken kullanıcılar için pratiktir. Tek bir tıklamayla tüm veri setlerini dönüştürebilir ve iş akışınızı hızlandırabilirsiniz. Ancak VBA konusunda yeniyse, makroları etkinleştirdiğinizden emin olun ve ortamınızda makro kısıtlamalarınız varsa BT yöneticinizle görüşün.

Sorun giderme:

  • Makroyu çalıştırırken bir hata alırsanız, Geliştirici sekmesinin etkin olduğundan ve Excel ayarlarınızda makrolara izin verildiğinden emin olun.
  • Sonuçlar mevcut verilerin üzerine yazıyorsa, makroyu çalıştırmadan önce verilerinizin yanındaki sütunun boş olduğundan emin olun.
  • Yanlış aralık seçtiyseniz, basitçe makroyu yeniden çalıştırın ve tekrar seçin.

Özetle, hem formül hem de VBA çözümleri ayları okunabilir bir yıllar ve aylar formatına dönüştürmeyi basit ve verimli hale getirir. Veri seti boyutunuza ve iş akışı tercihinize en uygun yöntemi seçin. Ek otomasyon için VBA kodunu özel biçimlendirme veya çıktı ihtiyaçlarını karşılayacak şekilde daha da özelleştirebilirsiniz.


Daha fazla ilgili makale:

  • Excel'de İki Tarihi Sadece Ay Ve Yıl Olarak Karşılaştırma
  • İki tarih listesi varsa ve gün değerini görmezden gelerek sadece ayları ve yılları karşılaştırmak istiyorsanız, aynı ay ve yıla sahip olduklarında sonuç True, aksi takdirde False olarak gösterilmelidir, aşağıdaki ekran görüntüsünde gösterildiği gibi. Excel'de sadece ay ve yılı baz alarak tarihleri nasıl karşılaştırabilirsiniz ancak günü görmezden gelebilirsiniz?
  • Excel'de Ay Ve Yıla Göre Değerleri Toplama
  • Bir dizi veriniz varsa, sütun A'da bazı tarihler ve sütun B'de sipariş sayısı varsa, başka bir sütundan ay ve yıla göre sayıları toplamanız gerekebilir. Bu durumda, Ocak 2016 toplam siparişlerini hesaplamak istiyorum ve aşağıdaki sonucu elde etmek istiyorum. Bu makalede, Excel'de bu işi çözmek için bazı püf noktalarından bahsedeceğim.
  • Excel'de 1-12'yi Ay Adına Dönüştürme
  • Örneğin, bir satış tablosu aldınız ve aylar sayı olarak gösteriliyor ve bu sayıları aşağıdaki ekran görüntüsünde gösterildiği gibi normal ay adlarına dönüştürmeniz gerekiyor. Fikriniz var mı? Bu makale, sizin için iki çözüm tanıtacaktır.
  • Excel'de Ay veya Yıl İçinde Kalan Günleri Hesaplama
  • Belirli bir durumda, bir ay veya yıl içinde kalan gün sayısını bilmek isteyebilirsiniz. Bugün 2014/10/12 olsun ve bu ayda (Ekim) veya bu yıl içinde (2014) kalan günleri hesaplamak istiyorsunuz, yani bu ayda kalan 19 gün ve bu yıl içinde kalan 80 gün olacaktır. Lütfen aşağıdaki makaleden daha fazla bilgi edinin.

  • Süper Formül Çubuğu (birden fazla satır metin ve formülü kolayca düzenleme); Okuma Düzeni (büyük miktarda hücreyi kolayca okuma ve düzenleme); Filtrelenmiş Alana Yapıştır...
  • Hücreleri/Satırları/Sütunları Birleştir ve Veriyi Koru; Hücre İçeriğini Böl; Yinelenen Satırları Birleştir ve Topla/Ortalama... Yinelenen Hücreleri Önle; Aralıkları Karşılaştır...
  • Yinelenen veya Benzersiz Satırları Seç; Boş Satırları Seç (tüm hücreler boş); Çok sayıda Çalışma Kitabında Süper Bul ve Yaklaşık Bul; Rastgele Seçim...
  • Formül referansını değiştirmeden Birden Fazla Hücreyi Tam Kopyala; Çoklu Sayfalara Otomatik Referans Oluştur; Madde İşaretleri, Onay Kutuları Ekle ve daha fazlası...
  • Formülleri, Aralıkları, Grafikleri ve Resimleri Favorilere Ekle ve Hızlıca Ekle; Hücreleri şifreyle şifrele; Posta Listesi oluştur ve e-postalar gönder...
  • Metni Çıkart, Metin Ekle, Belirli bir konumda karakterleri kaldır, Boşlukları Kaldır; Veri Sayfası İstatistikleri oluştur ve yazdır; Hücre İçeriği ve Yorumlar arasında dönüştür...
  • Süper Filtre (filtre düzenlerini kaydet ve diğer sayfalara uygula); Ay/Hafta/Gün, sıklık ve daha fazlasına göre Gelişmiş Sıralama; Kalın, italik vb. özel filtreleme...
  • Çalışma Kitaplarını ve Çalışma Sayfalarını Birleştir; Anahtar sütunlara dayalı Tabloları Birleştir; Veriyi Birden Çok Sayfaya Böl; xls, xlsx ve PDF'leri Toplu Dönüştür...
  • Hafta numarası, haftanın günü vb. göre PivotTable Gruplama... Kilitsiz, kilitli hücreleri farklı renklerle göster; Formül/İsim içeren hücreleri vurgula...
kte tab 201905
  • Word, Excel, PowerPoint'de sekmeli düzenleme ve okumayı etkinleştir.
  • Aynı pencerede yeni sekmelerde birden fazla belge açın ve oluşturun, yeni pencereler yerine.
  • Üretkenliğinizi %50 artırır ve her gün yüzlerce fare tıklamasından sizi kurtarır!
officetab bottom