KutoolsforOffice — Tek çözüm, beş güçlü araç.Daha az çabayla daha fazlasını başarmak.

Excel'de ayları yıl ve aya nasıl dönüştürebilirim?

YazarXiaoyang Değiştirme Tarihi
ayları yıllara ve aylara dönüştür

Excel çalışma sayfasında, aylar cinsinden bir değeri yıl ve ay 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ıl-ay formatına dönüştürmek, özellikle süre veya kıdemi raporlarken netliği artırır. Bu makalede, Excel’de bu görevi gerçekleştirmek için pratik yöntemleri inceleyecek ve her yöntemin hangi senaryolarda en etkili olduğunu değerlendireceğiz.

Ayları formülle yıl ve aya dönüştürme

Ayları VBA Makrosu ile yıl ve aya dönüştürme


Ayları formülle yıl ve aya dönüştürme

Ayları temsil eden sayısal bir değeri daha anlaşılır bir yıl-ay süresine dönüştürmek istediğinizde, Excel formülleri bu işlemi son derece verimli şekilde gerçekleştirebilir. Bu yöntem özellikle günlük görevlerde, küçük veri kümeleriyle çalışırken veya kod yazmaktan kaçınmak istediğiniz durumlarda oldukça pratiktir. Formüller dinamik olduğundan, girişteki aylar değiştiğinde sonuçlar otomatik olarak güncellenir.

Ayları doğrudan formülle yıl ve aya dönüştürmek için aşağıdaki yaklaşımı kullanabilirsiniz: Bu çözümde, toplam aylar 12’ye bölünerek tam yıllar hesaplanır ve kalan değerden de kalan aylar elde edilir.

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

=INT(A2/12) & " years and " &MOD(A2,12)& " months"

Bu formülü girdikten sonra yıl ve ay dönüşümünü görmek için Enter tuşuna basın. Formülü ek satırlara uygulamak için doldurma tutamacını listenizin yanına doğru aşağı sürükleyin. Bu teknik, her değerin anında dönüştürülmesini sağlayarak toplu işlemleri kolaylaştırır.

Formül kullanarak ayları yıllara ve aylara dönüştür

İpuçları ve önlemler:

  • Ay sayısı 12'den azsa, formül "0 yıl ve X ay" şeklinde gösterecektir.
  • Negatif ve ondalık değerler beklenmedik sonuçlara yol açabilir; kaynak değerlerin geçerli olduğundan ve sayı biçiminde olduğundan emin olun.
  • Giriş yapılmadığında "0 yıl ve 0 ay" ifadesinin görüntülenmesini önlemek ve hücrenin boş görünmesini sağlamak için BİRİMSE (IF) işlevini kullanabilirsiniz.

Sık karşılaşılan sorunlar:

  • #DEĞER! hatası alıyorsanız, başvurulan hücrenin geçerli bir sayısal değere sahip olduğundan emin olun.
  • Çıktı biçimini özelleştirmek istiyorsanız, formüldeki tırnak işaretleri arasındaki metni istediğiniz şekilde düzenleyin.

Bu formül yöntemi, değerlerin değişebileceği dinamik dönüşümler ve programlama veya makrolarla tanışıklığı az olan kullanıcılar için uygundur. Çok büyük veri kümeleri veya sık tekrarlanan dönüşümler söz konusuysa, otomatik bir yaklaşım daha verimli olabilir. Makroya dayalı çözüm için aşağıya bakın.



Ayları VBA Makrosu ile yıl ve aya dönüştürme

Aylık listeleri düzenli olarak yıl-ay biçimine dönüştürmeniz gerekiyorsa ya da çok büyük veri kümeleriyle çalışıyorsanız, Excel’in VBA makro özelliği bu süreci otomatikleştirerek zamandan tasarruf sağlar ve manuel hataları en aza indirir. Özellikle birden fazla sütunu aynı anda işlemek veya yeni verilere bu mantığı tekrarlanabilir bir iş akışı kapsamında uygulamak istediğinizde makrolar büyük kolaylık sunar.

1. VBA düzenleyicisini açmak için Geliştirici > Visual Basic seçeneğine tıklayın. Geliştirici sekmesini görmüyorsanız, Excel Seçenekleri > Şeridi Özelleştir > Şerit üzerinden etkinleştirebilirsiniz. Düzenleyici açıldığında Ekle > Modül seçeneğine tıklayın. Görünen 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

2. Makroyu çalıştırmak için Çalıştır düğmesidüğmesine tıklayın veya F5tuşuna basın. Dönüştürmek istediğiniz ayların aralığını seçmenizi isteyen bir iletişim kutusu açılacaktır (örneğin A2:A20). Aralığınızı seçip Tamam’a tıklayın.

Makro, sonucu ("X yıl ve Y ay" biçiminde) seçtiğiniz aralığın hemen sağındaki sütuna otomatik olarak yazar. Örneğin, A2:A20 aralığını seçtiyseniz sonuçlar B2:B20’ye yerleştirilir.

Kullanım notları ve ipuçları:

  • Seçiminizin ayları temsil eden geçerli pozitif sayılardan oluştuğundan emin olun. Boş bir hücre sıfır olarak değerlendirilir ve "0 yıl ve 0 ay" sonucunu verir. Sayısal olmayan veya negatif değerler ise boş sonuç ya da hata üretmesine neden olabilir.
  • Makro sonuçlarını “Aralık Seç” seçeneğinin hemen sağındaki sütuna yazar. Veri üzerine yazılmasını önlemek için makroyu çalıştırmadan önce bu sütunu kontrol edin.
  • Bu makroyu birden çok kez çalıştırabilirsiniz; böylece toplu işlemler veya yeni gelen veriler için ideal bir çözüm sunar.
  • VBA işlemleri için Geri Al (Ctrl+Z) özelliği kullanılamaz; bu nedenle makroları çalıştırmadan önce önemli verilerinizin yedeklerini almayı unutmayın.
  • Verilerinizde negatif veya kesirli aylar varsa, bunlar boş olarak değerlendirilir (VBA koşullarını inceleyin; gerektiğinde güncelleyin).

Bu VBA yaklaşımı, tekrarlayan dönüşümleri yönetmek, birden fazla satırı aynı anda işlemek veya üretkenlik görevlerini otomatikleştirmek isteyen kullanıcılar için son derece pratiktir. Tek bir tıklamayla tüm veri kümelerinizi dönüştürerek iş akışınızı hızlandırabilirsiniz. Ancak VBA konusunda yeniyseniz, makroların etkin olduğundan emin olun ve ortamınızda makro kısıtlamaları varsa BT yöneticinizle görüşün.

Sorun giderme:

  • Makroyu çalıştırırken bir hata alırsanız, Geliştirici (Developer) sekmesinin etkinleştirildiğinden ve Excel ayarlarınızda makrolara izin verildiğinden emin olun.
  • Makroyu çalıştırmadan önce, sonuçların mevcut verilerin üzerine yazılmaması için verilerinizin bitişiğindeki sütunun boş olduğundan emin olun.
  • Yanlış aralık seçerseniz, makroyu tekrar çalıştırıp doğru aralığı belirlemeniz yeterlidir.

Özetle, hem formül hem de VBA çözümleri ayları okunabilir bir yıl-ay biçimine dönüştürmeyi basit ve verimli hale getirir. Veri kümesinizin boyutuna ve iş akışınızın tercihine en uygun yöntemi seçin. Ek otomasyon için VBA kodunu özel biçimlendirme veya çıktı ihtiyaçlarınıza göre özelleştirebilirsiniz.


İlgili diğer makaleler:

  • Excel'de İki Tarihi Yalnızca Ay ve Yıl Olarak Karşılaştırın
  • İki tarih listeniz varsa ve bu tarihleri yalnızca ay ve yıl bazında karşılaştırmanız, günü ise göz ardı etmeniz gerekiyorsa; aynı ay ve yıla sahip olan tarihler için sonuç **Doğru (True)**, değilse aşağıdaki ekran görüntüsünde gösterildiği gibi **Yanlış (False)** olmalıdır. Peki Excel’de tarihleri gün değerini yok sayarak, sadece ay ve yıl dikkate alarak nasıl karşılaştırabilirsiniz?
  • Excel'de Ay ve Yıla Göre Değerleri Toplama
  • Elinizde bir veri aralığı varsa—A sütununda tarihler, B sütununda ise sipariş sayıları yer alıyorsa—başka bir sütundan alınan ay ve yıla göre bu sayıları toplamanız gerekebilir. Bu örnekte, Ocak 2016’ya ait toplam sipariş sayısını hesaplayarak aşağıdaki sonucu elde etmeyi hedefliyorum. Bu makalede, Excel’de bu sorunu çözmek için kullanabileceğiniz bazı pratik yöntemleri paylaşacağım.
  • Excel'de 1-12'yi Ay Adına Dönüştürme
  • Örneğin, ayların sayı olarak gösterildiği bir satış tablosu aldınız 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. Bir fikriniz var mı? Bu makale sizin için iki çözüm sunuyor.
  • Excel'de Ayda veya Yılda Kalan Gün Sayısını Hesaplama
  • Belirli durumlarda, bir ayda veya yılda kalan gün sayısını öğrenmek isteyebilirsiniz. Bugünün tarihinin 12 Ekim 2014 olduğunu varsayalım; bu durumda bu ay (Ekim) içinde 19 gün, bu yıl (2014) içinde ise 80 gün kalmış olur. Daha fazla ayrıntı için aşağıdaki makaleye başvurun.

  • Süper Formül Çubuğu (birden fazla metin satırı ve formülü kolayca düzenleyin); Okuma Düzeni (çok sayıda hücreyi kolayca okuyun ve düzenleyin); Filtre Aralığı'na Yapıştır…
  • Birleştirilmiş Hücreler/Satırlar/Sütunlar ve Verileri Koruma; Hücreleri Böl İçeriği; Yinelenen Satırları Birleştir ve Topla/Ortalamasını Al… Tekrarlanan Girişleri Önleyin;Aralıkları Karşılaştırın…
  • Yinelenen veya Benzersiz Satırları Seçin; Boş Satırları Seçin (tüm hücreler boştur); Süper Bul ve Yaklaşık Arama, Çok Sayıda Çalışma Kitabında; Rastgele Seçim…
  • Tam Kopyala — Formül referansını değiştirmeden birden fazla hücreye yapıştırın; Çoklu Sayfalara Otomatik Referans Oluşturun; Madde İşaretleri Ekle, onay kutusu ve daha fazlası…
  • Sık Kullanılanlar ve Hızlı Formül Ekleme, Aralıklar, Grafikler ve Resimler; Hücreleri Şifrele şifreyle; Posta Listesi Oluşturve e-posta gönderme…
  • Metni Çıkart, Metin Ekle, Belirli Konumdaki Karakteri Sil, Boşlukları Kaldır; Veri Sayfası İstatistikleri Oluşturun ve Yazdırın; Hücre İçeriği ile Açıklamalar Arasında Dönüştürme…
  • Süper Filtre (filtre şemalarını kaydedin ve diğer sayfalara uygulayın); Gelişmiş Sıralama ay/gün/hafta, sıklık ve daha fazlasına göre; Özel Filtrekalın, italik… gibi stillere göre
  • Çalışma Kitaplarını ve Sayfalarını Birleştirin; Anahtar Sütuna Göre Tabloları Birleştirin;Veriyi Çoklu Sayfalara Bölün;xls, xlsx ve PDF Dosyalarını Topluca Dönüştürün…
  • PivotTable, Şuna Göre Gruplama: Hafta numarası, haftanın günü ve daha fazlası… Kilitli Olmayanları Göster, Seçimi Kilitle farklı renklerle; Formül/Ad İçeren Hücreleri Vurgulayın…
kte tab 201905
  • Word, Excel ve PowerPoint'te sekmeli düzenleme ve okumayı etkinleştirin, Publisher, Access, Visio ve Project.
  • Belgeleri yeni pencerelerde değil, aynı pencerenin yeni sekmelerinde açın ve oluşturun.
  • Günlük verimliliğinizi %50 artırır ve her gün yüzlerce fare tıklamasından tasarruf etmenizi sağlar!
officetab bottom