İstanbul 11°
Yeni makale
Microsoft Ofis

Excel’de sayılar toplanmıyor, TOPLA 0 veriyor: Metin olarak saklanan sayıları dönüştürme

Selim Türkdönmez5 dakikalık okuma
Tablo hesaplama programında metin olarak saklanan sayıların sayıya dönüştürülmesini anlatan çizim.
Bu yazıda9

Bir sütundaki değerler sayıya benziyor ama TOPLA sonucu 0 çıkıyor ya da bazı satırlar toplama hiç girmiyor. Bu hücreler çoğunlukla sola yaslı duruyor ve sol üst köşelerinde küçük yeşil bir üçgen var. Sorun genellikle bir bankadan, muhasebe programından, web sayfasından ya da CSV dosyasından kopyalanan verilerde ortaya çıkıyor.

Kısa yanıt#

Excel bu değerleri sayı olarak değil, metin olarak saklıyor. TOPLA da metin hücrelerini yok sayar. Hücreleri seçin, yanlarında beliren uyarı simgesinden Sayıya Dönüştür komutunu çalıştırın. Bu seçenek çıkmıyorsa boş bir hücreye 1 yazıp Özel Yapıştır > Çarp yöntemini ya da SAYIYAÇEVİR formülünü kullanın. Bu yöntemler de işe yaramıyorsa hücrede boşluk, görünmeyen bir karakter veya farklı bir ondalık ayırıcı vardır.

Sorunu tanıyın#

  • Hücre biçimi “Genel” olduğu hâlde değer sola yaslıysa büyük olasılıkla metindir. (Hizalama elle değiştirildiyse bu ipucu yanıltabilir.)
  • Değerin başında kesme işareti (‘) varsa değer metin olarak girilmiştir. Kesme işareti hücrede görünmez, yalnızca formül çubuğunda görünür.
  • Birkaç hücreyi seçtiğinizde durum çubuğunda “Toplam” yerine yalnızca “Say” görünüyorsa seçimdeki değerler sayı değildir.
  • Bir hücrenin sayı mı metin mi olduğunu kesin öğrenmek için boş bir hücreye =ESAYIYSA(A2) yazın. YANLIŞ sonucu, değerin metin olduğunu gösterir.

Başlamadan önce#

  • Dosyanın bir kopyasını alın. Dönüştürme işlemleri değerleri yerinde değiştirir.
  • Posta kodu, TC kimlik no, telefon numarası, ürün kodu gibi baştaki sıfırları korunması gereken sütunları dönüştürmeyin. Sayıya çevrilince baştaki sıfırlar silinir. Bunlar zaten metin olarak kalmalıdır.
  • Sütunda formül varsa (ör. başka bir sayfadan bağlantı) yalnızca formül olmayan hücreleri seçin. Aşağıdaki yöntemlerden bazıları formülü değerle değiştirebilir.

Dönüştürme yöntemleri#

1. Sayıya Dönüştür (en hızlısı)

  1. Metin olarak saklanan hücreleri seçin. Seçimin ilk hücresinde yeşil üçgen olmalıdır.
  2. Seçimin yanında beliren uyarı simgesine tıklayın ya da Alt+Shift+F10 tuşlarına basın.
  3. Sayıya Dönüştür komutunu seçin. Değerler sağa yaslanır, üçgenler kaybolur ve TOPLA sonucu güncellenir.

Yeşil üçgen hiç görünmüyorsa arka plan hata denetimi kapalı olabilir. Dosya > Seçenekler > Formüller yolunu izleyip “Hata Denetimi” bölümünde Arka planda hata denetimini etkinleştir kutusunu işaretleyin. Aynı ekrandaki “Metin olarak biçimlendirilmiş ya da başında kesme işareti olan sayılar” kuralı da açık olmalıdır. Mac’te bu ayarlar Excel > Tercihler > Hata Denetimi altındadır. Menü adları sürüme göre küçük farklılıklar gösterebilir.

2. Özel Yapıştır ile 1’le çarpma (büyük aralıklar için)

  1. Boş bir hücreye 1 yazın. Hücrenin biçimi “Genel” olmalı. Hücreyi kopyalayın (Ctrl+C).
  2. Dönüştürülecek hücreleri seçin.
  3. Giriş > Yapıştır > Özel Yapıştır yolunu izleyin, “İşlem” bölümünde Çarp‘ı seçip Tamam’a basın.
  4. Yardımcı olarak kullandığınız 1’i silin. Gerekirse hücrelere sayı biçimi (ör. “Sayı”, 2 ondalık) uygulayın.

Bu yöntem, uyarı simgesinin çıkmadığı ya da on binlerce satırın tek seferde dönüştürülmesi gereken durumlarda işe yarar.

3. SAYIYAÇEVİR formülü (orijinali korumak isterseniz)

  1. Metin sütununun yanına boş bir sütun ekleyin.
  2. İlk satıra =SAYIYAÇEVİR(A2) yazın (İngilizce Excel’de =VALUE(A2)) ve formülü aşağı doğru doldurun.
  3. Sonuçlar doğruysa yeni sütunu kopyalayın, orijinal sütunun ilk hücresinde Giriş > Yapıştır > Değerleri Yapıştır komutunu kullanın (Ctrl+Shift+V). Ardından yardımcı sütunu silin.

4. Ondalık ve binlik ayırıcı farklıysa

Türkçe Windows’ta ondalık ayırıcı virgül, binlik ayırıcı noktadır. İngilizce bir sistemden ya da yabancı bir web sitesinden gelen “1,234.56” gibi bir değer bu yüzden Excel’de metin olarak kalabilir. Böyle bir durumda =SAYIDEĞERİ(A2;".";",") formülü (İngilizce Excel’de NUMBERVALUE) ondalık ayırıcının nokta, binlik ayırıcının virgül olduğunu belirterek değeri doğru sayıya çevirir. Dönüştürmeden sonra birkaç satırı elle kontrol edin: “1.234” gibi bir değer bin iki yüz otuz dört mü, yoksa bir virgül iki yüz otuz dört mü olmalı? Bunu yalnızca verinin kaynağı bilebilir.

Görünmeyen karakterler#

Yukarıdaki yöntemlerden sonra bazı hücreler hâlâ metinse değerde boşluk ya da yazdırılmayan bir karakter vardır. Bu, web sayfalarından kopyalanan verilerde sık görülür.

  • Baştaki ve sondaki boşlukları silmek için =KIRP(A2) (TRIM), yazdırılmayan denetim karakterlerini silmek için =TEMİZ(A2) (CLEAN) kullanılır.
  • Web kaynaklı verilerde sık görülen bölünemez boşluk karakteri TEMİZ ile silinmez. Bunun için =YERİNEKOY(A2;DAMGA(160);"") deneyin.
  • Sona eklenmiş eksi işareti (ör. muhasebe çıktısındaki “125-“) için Microsoft’un önerdiği yaklaşım, değeri formülle negatif sayıya çevirmektir: =SOLDAN(A2;UZUNLUK(A2)-1)*-1.

Temizlenmiş sonuçları SAYIYAÇEVİR ile birleştirip (ör. =SAYIYAÇEVİR(KIRP(A2))) “Değerleri Yapıştır” ile asıl sütuna aktarabilirsiniz.

Sürüm ve cihaz kapsamı#

Adımlar Microsoft 365 için Excel (Windows ve Mac) ile Excel 2016 ve sonraki sürümler için geçerlidir. Excel’in web sürümünde uyarı simgesi ve Özel Yapıştır seçenekleri daha sınırlı olabilir; bu durumda formül yöntemi en güvenilir yoldur. Türkçe işlev adları dil paketine göre değişir; İngilizce Excel’de VALUE, NUMBERVALUE, TRIM, CLEAN, SUBSTITUTE ve CHAR adları kullanılır. Formüllerde parametre ayırıcı Türkçe sistemlerde noktalı virgüldür (;), İngilizce sistemlerde ise genellikle virgüldür (,).

Hâlâ toplanmıyorsa#

  • Değerler artık sayı ama sonuç güncellenmiyorsa hesaplama modu “El ile” olabilir. Bu durum için sitedeki Excel formülleri hesaplanmıyor rehberindeki kontrolleri uygulayın.
  • Toplamı alan hücrede sonuç yerine formülün kendisi görünüyorsa sorun verinizde değil, o hücrenin biçimindedir.
  • Veriyi her ay aynı kaynaktan alıyorsanız dönüştürmeyi her seferinde elle yapmak yerine içe aktarmayı Veri > Veri Al (Power Query) ile yapıp sütun türünü bir kez “Ondalık Sayı” olarak tanımlamak kalıcı bir çözüm olabilir.

Sık sorulan sorular#

Hücre biçimini “Sayı” yapmak yetmiyor mu?
Genellikle yetmez. Biçim değişikliği, hücreye daha önce metin olarak girilmiş değeri dönüştürmez; yalnızca sonradan yazılacak değerleri etkiler. Biçimi değiştirdikten sonra yukarıdaki dönüştürme yöntemlerinden birini uygulamanız gerekir.

Yeşil üçgeni “Hatayı Yoksay” ile kapatsam olur mu?
Değer metin olarak kalır, yalnızca uyarı gizlenir. Kimlik numarası, ürün kodu gibi bilerek metin bıraktığınız sütunlarda bu doğru seçimdir; toplanması gereken tutarlarda değildir.

Dönüştürünce baştaki sıfırlar kayboldu, geri alabilir miyim?
Hemen Ctrl+Z ile geri alın. Kaydedip kapattıysanız işlemden önce aldığınız kopyaya dönün. Bu tür kodları sayıya çevirmek yerine metin olarak bırakmak gerekir.

Kaynaklar#

Bu yazı sorununu çözdü mü?

Paylaş

Sorunun devam ediyor mu?

Cihazını, sürümünü ve hangi adımda takıldığını yazarsan daha hızlı yardımcı oluruz. E-posta adresin yayımlanmaz.