Excel'de Metni Sayıya Çevirme: SAYIYAÇEVİR ve Diğer Yöntemler
Yayın: · Son güncelleme:
Kısaca
Excel'de metin olarak saklanan sayıyı çevirmek için hücrenin yanındaki uyarı düğmesinden Sayıya Dönüştür seçilir ya da SAYIYAÇEVİR formülü kullanılır. Ayırıcıları farklı veride SAYIDEĞERİ ondalık ve binlik ayırıcıyı kendiniz belirtmenizi sağlar.
Adım adım
- 1
Sorunlu hücreleri tespit edin
Sola yaslanan, köşesinde yeşil üçgen olan hücreleri bulun ya da =ESAYIYSA(A2) ile kontrol edin.
- 2
Hızlı dönüştürmeyi deneyin
Hücreleri seçip yanındaki uyarı düğmesinden Sayıya Dönüştür'ü seçin.
- 3
Formülle dönüştürün
Yardımcı sütuna =SAYIYAÇEVİR(A2) yazın; ayırıcılar farklıysa =SAYIDEĞERİ(A2;",";".") kullanın.
- 4
Fazla karakterleri temizleyin
TL, ₺ veya bölünemez boşluk varsa önce YERİNEKOY ile silin.
- 5
Değerleri yapıştırın
Yardımcı sütunu kopyalayıp Giriş > Yapıştır > Değerleri Yapıştır ile asıl sütuna aktarın.
- 6
Toplamı kontrol edin
TOPLA sonucunu kaynak sistemdeki toplamla karşılaştırın.
İçindekiler
Sayının metin olarak saklandığı nasıl anlaşılır?
Metin olarak saklanan sayı hücrede sola yaslanır ve sol üst köşesinde küçük yeşil bir üçgen görünür. TOPLA böyle hücreleri atlar; sütunda 10 sayı varken toplamın beklenenden küçük çıkması tipik bir işarettir. Emin olmak için =ESAYIYSA(A2) yazabilirsiniz: YANLIŞ dönüyorsa Excel o değeri sayı olarak görmüyordur.
Bu durum genellikle bankadan, e-ticaret panelinden ya da CSV dosyasından alınan verilerde ortaya çıkar. Dosyayı açtığınızda rakamlar doğru görünür, ama hesaplara girmezler.
Sayıya Dönüştür seçeneği
En kısa yol formül yazmadan dönüştürmektir. Sorunlu hücreleri seçin, seçimin yanında beliren uyarı düğmesine tıklayın ve Sayıya Dönüştür'ü seçin. Yüzlerce hücreyi tek seferde çevirebilirsiniz.
Uyarı düğmesi hiç görünmüyorsa arka planda hata denetimi kapalı olabilir. Microsoft bu durumda Dosya > Seçenekler > Formüller yolunu izleyip Hata Denetimi bölümünde Arka planda hata denetimini etkinleştir kutusunu işaretlemenizi önerir.
SAYIYAÇEVİR formülü
Verinin her ay yeniden geldiği durumlarda formül daha kullanışlıdır. SAYIYAÇEVİR, sayı gibi görünen metni gerçek sayıya çevirir.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Gelen veri | Not | ||
| 2 | 1250 | metin | 1.250 | |
| 3 | 1.250,50 | metin | ||
| 4 | 3 000 | metin |
=SAYIYAÇEVİR(A2)=VALUE(A2)Türkçe Excel'de bağımsız değişkenler noktalı virgülle (;), İngilizce Excel'de virgülle (,) ayrılır.
D2 hücresinin sonucu: 1.250
"1250" metni hesaplara girebilen 1250 sayısına dönüşür.
Formül, Excel'in o anki bölge ayarlarına göre çalışır. Türkçe ayarlı bir Excel'de "1.250,50" metni 1250,5 sayısına dönüşür, çünkü nokta binlik, virgül ondalık ayırıcıdır. Aynı dosyayı İngilizce ayarlı bir bilgisayarda açan kişi farklı sonuç alabilir.
Aynı işi aritmetik bir işlemle de yaptırabilirsiniz. =A2*1 ya da =--A2 metni sayıya zorlar. Bu kısa yazımlar formül içinde sık kullanılır, ama okuyan biri için SAYIYAÇEVİR daha anlaşılırdır.
Formülü yan sütuna yazıp aşağı doğru kopyaladığınızda her satır kendi hücresini çevirir. Sonuç sağa yaslanıyorsa ve TOPLA artık doğru toplamı veriyorsa dönüşüm tamamlanmıştır. Kaynak sistemdeki toplamla karşılaştırmak en kısa kontroldür.
Ayırıcılar farklıysa SAYIDEĞERİ
Bir yazılım sayıları "1.250,50" biçiminde, başka biri "1,250.50" biçiminde verebilir. SAYIDEĞERİ bölge ayarından bağımsız çalışır: ikinci argümanda ondalık, üçüncü argümanda binlik ayırıcıyı siz söylersiniz. Excel 2013 ve sonraki sürümlerde bulunur.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Gelen veri | Not | ||
| 2 | 1250 | metin | 1.250,5 | |
| 3 | 1.250,50 | metin | ||
| 4 | 3 000 | metin |
=SAYIDEĞERİ(A3;",";".")=NUMBERVALUE(A3,",",".")Türkçe Excel'de bağımsız değişkenler noktalı virgülle (;), İngilizce Excel'de virgülle (,) ayrılır.
D2 hücresinin sonucu: 1.250,5
Virgül ondalık, nokta binlik ayırıcı olarak tanımlandığı için sonuç bölge ayarından bağımsız olarak 1250,5 olur.
Microsoft'un açıklamasına göre SAYIDEĞERİ metnin içindeki boşlukları da yok sayar. Binlik ayırıcı olarak boşluk kullanılmış " 3 000 " gibi bir değer doğrudan 3000'e döner.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Gelen veri | Not | ||
| 2 | 1250 | metin | 3.000 | |
| 3 | 1.250,50 | metin | ||
| 4 | 3 000 | metin |
=SAYIDEĞERİ(A4;",";".")=NUMBERVALUE(A4,",",".")Türkçe Excel'de bağımsız değişkenler noktalı virgülle (;), İngilizce Excel'de virgülle (,) ayrılır.
D2 hücresinin sonucu: 3.000
SAYIDEĞERİ metindeki boşlukları yok sayar; " 3 000 " değeri 3000 olur.
Başında sıfır olan kodlara dikkat
Her sayı gibi görünen metnin sayıya çevrilmesi gerekmez. Posta kodu, müşteri numarası, telefon ve vergi numarası gibi alanlarda başta sıfır bulunabilir. "06420" metni sayıya çevrildiğinde 6420 olur ve baştaki sıfır kaybolur.
Bu tür alanlarla hesap yapılmaz; toplamı ya da ortalaması anlamsızdır. Onları metin olarak bırakmak doğru seçimdir. Yeşil üçgen uyarısı rahatsız ediyorsa uyarı düğmesinden Hatayı Yoksay'ı seçebilirsiniz. Sütunun tamamını önceden Metin biçimine almak da yeni girilen kodların sıfırını korur.
Formül sonucunu sabitlemek
Formüllü yardımcı sütunu asıl veriye taşımak için kopyalayın ve Giriş > Yapıştır > Değerleri Yapıştır ile yapıştırın. Ham sütunu ancak bu adımdan sonra silin; yoksa formüller #BAŞV! hatası verir.
Bir başka yol da Veri sekmesindeki Metni Sütunlara Dönüştürme Sihirbazı'dır. Sütunu seçip sihirbazı açar ve hiçbir ayar değiştirmeden Son'a basarsanız Excel sütunu yeniden okur ve sayıları çoğu durumda tanır.
Eksi işareti sonda gelen sayılar
Bazı muhasebe ve kurumsal yazılımlar negatif tutarları "1250-" biçiminde, eksi işareti sonda olacak şekilde dışa aktarır. Excel bu değeri metin olarak bırakır ve SAYIYAÇEVİR #DEĞER! döndürür.
Bu durumda son karakteri kontrol eden bir formül işinizi görür: =EĞER(SAĞDAN(A2;1)="-";-SAYIYAÇEVİR(SOLDAN(A2;UZUNLUK(A2)-1));SAYIYAÇEVİR(A2)). Son karakter eksi ise onu atar, kalan sayıyı eksiyle çarpar. Değilse metni olduğu gibi çevirir. "1250-" böylece -1250 olur.
Dönüşüm hata verirse
SAYIYAÇEVİR #DEĞER! döndürüyorsa metinde sayı olmayan bir karakter vardır. "₺1.250" ya da "1250 TL" gibi değerlerde önce YERİNEKOY ile para birimini silin. Web'den kopyalanan veride görünmeyen bölünemez boşluk da aynı hatayı doğurur; onu YERİNEKOY(A2;DAMGA(160);"") temizler.
Ondalık ayırıcının yanlış yorumlandığı durumlar daha sinsidir, çünkü her zaman hata vermez. Nokta ile yazılmış "12.5" gibi bir metin Türkçe ayarlı Excel'de 12,5 olarak okunmaz. Bu tür veride =SAYIDEĞERİ(A2;".";",") ile ayırıcıyı açıkça belirtin ve dönüşümden sonra birkaç değeri kaynakla karşılaştırın.
Sıradaki adım
Elinizdeki veride önce =ESAYIYSA(A2) ile sorunlu satırları bulun. Ayırıcılar tutarlıysa Sayıya Dönüştür'ü, karışıksa SAYIDEĞERİ'ni kullanın ve sonucu değer olarak yapıştırın.
Bu rehberde kullanılan fonksiyonlar
Aynı konudaki diğer rehberler: Excel'de Veri Temizleme
Sıkça Sorulan Sorular
Excel'de metni sayıya çevirme formülü nedir?
Türkçe Excel'de =SAYIYAÇEVİR(A2), İngilizce Excel'de =VALUE(A2) kullanılır. Ayırıcıları kendiniz belirtmek istiyorsanız =SAYIDEĞERİ(A2;",";".") yazabilirsiniz.
Sayıya Dönüştür seçeneği neden görünmüyor?
Arka planda hata denetimi kapalı olabilir. Dosya > Seçenekler > Formüller yolunda Arka planda hata denetimini etkinleştir kutusunu işaretleyin.
SAYIYAÇEVİR neden #DEĞER! hatası veriyor?
Metinde TL, ₺, harf ya da bölünemez boşluk gibi sayı olmayan bir karakter vardır. Önce YERİNEKOY ile bu karakterleri silin.