60 görevden oluşan bir proje takip tablosu düşünün; her görevde, iş tamamlandıkça birinin işaretlediği bir onay kutusu var. Yönetici, en üstte tek bir rakam görmek istiyor: gerçekte kaç tanesi tamamlandı. Bunun için bir COUNTIF formülü ekliyor, formülü onay kutularına yönlendiriyor ve sonuç olarak sıfır çıkıyor. Her seferinde. Kutuların yarısı açıkça işaretli olsa bile.
İşte neredeyse tüm kılavuzların atladığı kısım. Bir çalışma sayfasındaki onay kutusu veri değildir — bir şekil ya da resim gibi yerinden hareket edebilen bir nesnedir ve formüller bunu okuyamaz. Herhangi bir sayım işleminin çalışabilmesi için, her onay kutusunun bir hücreye bağlanması gerekir; böylece kutucuk işaretlendiğinde altına okunabilir bir şey yazılır. Asıl engel budur. İşte bu yüzden, Excel’de onay kutularını nasıl sayacağını arayan ve ardından hemen Google’a geri dönen çoğu kişi için COUNTIF tavsiyeleri işe yaramaz.
Bağlantı sorunu çözüldükten sonra, sayma işlemi yaklaşık on saniye sürer. Öyleyse önce ön koşulu halledelim, ardından formülü uygulayalım.
=COUNTIF(range,TRUE) işlevini çalıştırarak işaretli olanları anında sayın. Neden Her Zamanki Tavsiyeler İşe Yaramıyor?
Çoğu makale bu formülle başlıyor. “ =COUNTIF(B2:B60,TRUE) yazın” diyorlar ve kutuların zaten bir hücreye veri aktardığını varsayarak konuyu geçiştiriyorlar. İşleri titizlikle ayarlayan az sayıdaki okuyucu için sorun yok. Geri kalanlar ise hiçbir açıklama yapılmadan sıfır sonuçla kalıyor.
Bunun nedeni yapısaldır. Bir Form Control onay kutusu veya bir ActiveX onay kutusu, ızgaranın üzerinde bir çizim katmanında yer alır. Bu öğenin işaretli veya işaretli olmayan bir görsel durumu vardır, ancak bu durum, formülünüzün işaret edebileceği herhangi bir hücrede değil, nesnenin kendisinde bulunur. Excel, siz aksini belirtmedikçe tümünü süsleme olarak değerlendirir.
Daha yeni sürümler bu durumu daha da karmaşık hale getiriyor. Microsoft 365 için Excel, 2024 yılında doğrudan bir hücreye eklenip TRUE veya FALSE değerlerini o hücrede depolayan, bağlantı gerektirmeyen yerel bir onay kutusu ekledi. Ancak milyonlarca çalışma kitabı hâlâ eski Form Kontrol kutularını kullanıyor ve pek çok kişi, bu yerel seçeneğin bulunmadığı Excel 2019 veya 2021 sürümlerini kullanıyor. Önemli olan şu ki, kutularınız eski yöntemle eklenmişse veya başka birinin dosyasından devralınmışsa, bağlantı kurmak zorunludur.
Bir onay kutusunu bir hücreye bağlayarak TRUE veya FALSE değerini döndürmesini sağlamak
Bu adım, Excel’deki onay kutusu “true/false” yaklaşımının tamamının çalışmasını sağlayan unsurdur. Bağlantılı bir onay kutusu işaretlendiğinde, hedef hücre TRUE değerini gösterir. İşaretlenmediğinde ise FALSE. Formül, işte bu değerleri dikkate alır.
Tek bir Form Kontrol kutusu için Excel’de onay kutusunu hücreye bağlamanın yolu şöyledir:
- Onay kutusuna sağ tıklayın ve “Kontrolü Biçimlendir” seçeneğini seçin.
- “Denetim ” sekmesini açın.
- ” Hücre bağlantısı ” alanında, sonucun yazılmasını istediğiniz hücreye tıklayın (genellikle kutunun hemen arkasındaki veya yanındaki hücre).
- ” Tamam” düğmesine tıklayın.
Şu anda kutucuğu işaretleyin; bağlantılı hücre TRUE değerine geçer. İşaretini kaldırdığınızda ise FALSE değerini alırsınız. Her bir onay kutusu için bu işlemi tekrarlayın ve her birini kendi satırına yönlendirin; böylece sonuçlar düzenli bir sütun halinde sıralanır.
Microsoft Excel’de onay kutularını saymaya ilişkin How-To Geek kılavuzu da aynı sırayı doğrulamaktadır: önce bağlantı, sonra sayım. Bağlantı adımını atlamak en sık yapılan hatadır ve formülün önce gelmesini öneren kılavuzların kullanıcıları bir döngüye sokmasının nedeni de budur.
Onlarca Onay Kutusu İçin Toplu İşlem Yöntemi
Format Kontrolü aracılığıyla 60 kutuyu tek tek birbirine bağlamak çok zahmetli bir iş. Kimse altmış kez sağ tıklamak istemez. Çalışma sayfanızın yapısına bağlı olarak iki daha hızlı yol vardır.
Onay kutularınız zaten bir sütun halinde düzgünce sıralanmışsa, en hızlı yöntem ilkini manuel olarak bağlamak ve ardından aşağı doğru devam etmektir. Ancak Excel, bir Form Kontrol kutusunu kopyaladığınızda hücre bağlantılarını otomatik olarak artırmaz; bu da gerçek anlamda toplu bağlantı işleminin genellikle kısa bir makroya bağlı olduğu anlamına gelir.
Alt + F11 tuşlarıyla VBA düzenleyicisini açın, bir modül ekleyin ve şuna benzer bir kodu yapıştırın:
Sub LinkCheckboxes()
Dim cb As CheckBox
For Each cb In ActiveSheet.CheckBoxes
cb.LinkedCell = cb.TopLeftCell.Offset(0, 1).Address
Next cb
End Sub
Bunu bir kez çalıştırdığınızda, her Form Kontrolü onay kutusu bir sütun sağındaki hücreye bağlanır. Sonucun başka bir yere yazılmasını istiyorsanız, “ Offset(0, 1) ” değerini ayarlayın: “ Offset(0, -1) ” seçeneği sola yazarken, “ Offset(0, 0) ” seçeneği kutunun hemen arkasındaki hücreye yazar. ExtendOffice’in işaretli onay kutularını toplama ve sayma konusundaki kılavuzu, daha büyük çalışma sayfaları için benzer bir makro yaklaşımını ele almaktadır.
Microsoft 365’te izleyiciyi sıfırdan mı oluşturuyorsunuz? O zaman tüm bunları atlayın. Aralığınızı seçin, Ekle > > > Onay Kutusu‘na gidin; Excel, hücrelere önceden TRUE/FALSE değerleri girilmiş yerel onay kutuları ekler. Bağlantı yok, makro yok. DataCamp’ın onay kutularını ekleme, kullanma ve sayma konusundaki eğitimi , yerel sürümü ayrıntılı olarak ele alır.
Excel’de COUNTIF İşleviyle Onay Kutularını Sayma
Şimdi işin kolay kısmı. Bağlantı sütununuz TRUE ve FALSE değerleriyle dolduğuna göre, sayma işlemi tek bir formülle halledilebilir.
İşaretli onay kutularını saymak için Excel’de bundan daha karmaşık bir şeye gerek yoktur:
=COUNTIF(B2:B60,TRUE)
Bu, işaretli kutuların sayısını verir. İşaretlenmemiş kutuları saymak için TRUE yerine FALSE kullanın:
=COUNTIF(B2:B60,FALSE)
O proje takipçisi için tamamlanma yüzdesini mi öğrenmek istiyorsunuz? İşaretlenen sayıyı toplam sayıya bölün:
=COUNTIF(B2:B60,TRUE)/COUNTA(B2:B60)
Sonucu yüzde olarak biçimlendirin; böylece, herhangi biri bir kutucuğu işaretlediği anda güncellenen, gerçek zamanlı bir ilerleme göstergesi elde edersiniz. Sayılacak değerler mevcut olduğunda, COUNTIF ile kutucukları sayma işlemi gerçekten bu kadar basittir.
Veri türleriyle ilgili bir uyarı. Form Kontrolü bağlantıları, “TRUE” ve “FALSE” kelimelerini boole değerleri olarak yazar; bu nedenle COUNTIF(range,TRUE) komutu sorunsuz çalışır. Ancak bağlantılı bir hücre, gerçek bir boole değeri yerine tırnak içinde “ "TRUE" ” metnini gösteriyorsa, sayım hatalı sonuç verebilir. Böyle bir durumda, ya bağlantıyı düzeltin ya da metin biçimini açıkça eşleştirin. Excel Cookbook’ta yer alan işaretli onay kutularını saymaya yönelik tarif, boole değeri ile metin arasındaki bu tuzağı ayrıntılı bir şekilde açıklamaktadır.
Yaygın Sorunların Giderilmesi
Bağlantı görünüşte doğru olsa bile, bazı hususlar insanların kafasını karıştırır.
COUNTIF işlevi hâlâ sıfır sonucunu veriyor. Büyük olasılıkla kutular aslında hiçbir zaman birbirine bağlanmamıştı ya da makro, bağlantıları yanlış sütuna yönlendirmişti. Bir onay kutusuna tıklayın, işaretleyin ve yakınındaki herhangi bir hücrenin TRUE değerine geçip geçmediğine bakın. Hiçbir değişiklik olmuyor mu? O zaman bağlantı kurulmamış demektir.
Sayıda birkaç fark var. Üst üste yığılmış gizli veya yinelenen onay kutularını kontrol edin. Bir kutuyu hafifçe sürüklemek, altında gizlenmiş ikinci bir kutuyu ortaya çıkarabilir ve her ikisi de aynı hücreye bağlı olabilir, bu da değerin iki kez yazılmasına neden olur.
Yerel ve Form Kontrol kutuları birbirine karışmış. Eğer birisi eski Form Kontrolü onay kutularının yanına birkaç adet 365’e özgü onay kutusu eklediyse, bağlantı sütununuzda hem hücre içi boole değerleri hem de ayrı olarak bağlanmış hücreler bir arada bulunabilir. Sayım yapmadan önce tek bir türü standart hale getirin; aksi takdirde aralığınız tutarlı olmayacaktır.
Bağlantıları olmadan kopyalanan kutular. Bağlantılı bir Form Kontrolü onay kutusunun kopyalanması, orijinal bağlantıyı da beraberinde getirir; bu sayede beş kopyanın tümü tek bir hücreye veri yazabilir. Toplu kopyala-yapıştır işlemlerinden sonra, her bir kutuyu kendi satırına sıfırlamak için bağlantı makrosunu yeniden çalıştırın.
Sık Sorulan Sorular
Kutucuklar açıkça işaretliyken COUNTIF formülüm neden sıfır sonucunu veriyor?
Çünkü onay kutuları hücrelere bağlı değildir. Yerinden kayabilen bir onay kutusu, işaretli durumunu bir nesne özelliği olarak tutar; formülün okuyabileceği bir veri olarak değil. Öncelikle her bir kutuyu bir hücreye bağlayın; böylece hücreye TRUE veya FALSE yazılır ve COUNTIF işlevi sayacak gerçek değerlere sahip olur.
Microsoft 365 için Excel’de bir bağlantıya ihtiyacım var mı?
Hayır. 2024 yılında eklenen yerel onay kutusu, TRUE veya FALSE değerlerini doğrudan hücresinde saklar; bu sayede aralığa hemen COUNTIF işlevini uygulayabilirsiniz. Bağlantı oluşturma, yalnızca eski Form Kontrolü ve ActiveX onay kutuları için gereklidir.
Formül kullanmadan onay kutularını sayabilir miyim?
Bunu, kabaca bir filtre kullanarak ya da “link” sütununa gözle bakarak yapabilirsiniz, ancak bu, işin amacını bozar. Tek bir =COUNTIF(range,TRUE) komutu, manuel filtrelemenin sağlayamadığı, otomatik olarak güncellenen canlı ve doğru bir rakam verir.
50 veya daha fazla onay kutusunu birbirine bağlamanın en hızlı yolu nedir?
Her bir onay kutusunu döngüye sokan ve her bir bağlantıyı bitişik bir hücreye ayarlayan kısa bir VBA makrosu. Tek bir çalıştırmada düzinelerce onay kutusunu işler; buna karşılık, “Denetim Biçimi” seçeneğine sağ tıklayarak bu işlemi elli kez tek tek yapmak gerekir.
COUNTIF işlevi SUM ile birlikte kullanılabilir mi?
Evet. Bağlantılı hücrelerinizde TRUE/FALSE değerleri bulunuyorsa, aynı sayım işlemi iç =SUMPRODUCT(--(B2:B60=TRUE)) ‘i de kullanabilirsiniz; bazı kullanıcılar bunu diğer koşullarla birleştirmek için tercih ederler.
Sonuç
Bu işlemin özü, çoğu kılavuzun tersine yorumladığı bir sıraya dayanır. Her birini TRUE veya FALSE değerini döndüren bir hücreye bağlayana kadar, onay kutuları veri değil, nesnelerdir. Bu sütun oluşturulduktan sonra – ister elle, ister makro ile, ister 365’in kendi onay kutusu özelliği kullanılarak – basit bir =COUNTIF(range,TRUE) formülü, işaretli kutuları saniyeler içinde sayar. Ön koşulu sağladığınızda, herkesin ilk olarak başvurduğu formül nihayet işlevini yerine getirir. İşte Excel’de her birini elle işaretlemeden onay kutularını saymanın yolu budur.

