Excel'de Büyük Sayıların Doğruluğu Nasıl Korunur
Excel, 15 basamaktan uzun sayıları otomatik olarak 15 anlamlı basamağa yuvarlar ve geri kalanlarını sıfırla değiştirir. Bu bir program hatası değil, kayan noktalı sayı depolama formatının (IEEE 754 standardı) teknik bir sınırlamasıdır. Kredi kartı numaraları, barkodlar veya 15. basamaktan sonraki her rakamın önemli olduğu hassas finansal hesaplamalarla çalışmanız gerekiyorsa, veri girişine yaklaşımınızı değiştirmeniz gerekir: bu tür değerleri metin olarak saklayın veya hesaplamalara başlamadan önce özel formatlar kullanın.
Altın kural: Excel yalnızca 15 anlamlı basamağı saklar. Hücre sayısal formata sahipse, dosya kaydedildiğinde 15. basamaktan sonra gelen her şey geri döndürülemez şekilde sıfıra dönüşür.
Doğruluk Kaybı Neden Meydana Gelir?
Sorun, bilgisayarların ondalık kesirleri işleme biçiminden kaynaklanır.
- 15 basamak sınırı. Bu en yaygın senaryodur.
1234567890123456789sayısını girerseniz, Excel bunu1234567890123450000olarak kaydeder. Görsel olarak bu yuvarlama gibi görünür, ancak gerçekte sayının son kısmı kaybolur. - İkili gösterim. Bilgisayarlar ikili sistemi kullanır. Birçok ondalık kesir (örneğin 0.1), ikili sistemde sonsuz devirli kesirlerdir. Hesaplamalar sırasında mikroskobik hatalar ortaya çıkar (örneğin, sonuç
0.3yerine0.30000000000000004olabilir). - Görüntüleme formatı. Çoğu zaman sayı tam olarak saklanır, ancak hücre yalnızca virgülden sonra 2 basamak gösterecek şekilde biçimlendirilir. Kullanıcı yuvarlanmış değeri görür, oysa bellekte değer tamdır.
Kritik hata: Uzun bir numara (örneğin, vergi kimlik numarası veya kart numarası) girildikten sonra hücre formatını çok sayıda basamak içeren "Sayı" formatına değiştirmek, kaybolan rakamları geri getirmez. Veriler zaten sıfırlarla değiştirilmiştir.
Gerçek Değeri Nasıl Kontrol Edersiniz?
Verileri düzeltmeden önce, sorunun tam olarak ne olduğundan emin olun: görüntülemede mi yoksa veri kaybında mı?
- Formülle kontrol. Bitişik bir hücreye
=A1*1formülünü girin. Sonuç değiştiyse veya bilimsel gösterime dönüştüyse (örneğin,1.23E+15), format görünümü etkiliyor demektir. - Basamak sayısını artırma. Hücreyi seçin ve "Giriş" sekmesinde "Ondalık Basamak Ekle" düğmesine birkaç kez basın. 15. basamaktan sonra girdiğiniz olmayan sıfırlar belirdiyse, doğruluk kaybedilmiş demektir.
- Kaynakla karşılaştırma. Veriler içe aktarıldıysa, kontrol toplamını veya son rakamları orijinal dosyayla karşılaştırın.
Pratik Çözümler
1. Metin Olarak Saklama (15 basamaktan büyük numaralar için)
Tanımlayıcılar (kartlar, pasaportlar, barkodlar) için matematiksel işlemlere gerek yoktur. Bunları metin olarak saklamanız gerekir.
- Girişten önce: Sütun için metin formatı ayarlayın (hücre biçimi menüsünde
Metin) veya sayının önüne kesme işareti'koyun (örneğin,'12345...). - CSV'den içe aktarma sırasında: Dosyayı çift tıklayarak açmayın. Veri içe aktarma sihirbazını kullanın ("Veri" → "Metin/CSV'den"). Sütun formatını seçme aşamasında, uzun numaralı sütunlar için açıkça "Metin" türünü belirtin.
2. Hesaplama Hatalarını Düzeltme
Sorun "kayan" kalıntılardan kaynaklanıyorsa (0.1 + 0.2 ≠ 0.3):
- YUVARLA işlevi. Ara sonuçları istenen doğruluğa zorla yuvarlayın.
=YUVARLA(A1+B1; 2)— hücrede tam olarak 2 basamak olacağını garanti eder. - "Ekranda görünen doğruluğu ayarla" parametresi.
- Dosya → Seçenekler → Gelişmiş.
- "Bu çalışma kitabını yeniden hesaplarken" bölümü.
- "Ekranda görünen doğruluğu ayarla" kutusunu işaretleyin.
- Dikkat: Bu işlem, çalışma kitabındaki tüm gizli basamakları geri döndürülemez şekilde siler. Yalnızca görüntüleme formatından eminseniz kullanın.
3. Metni Sayıya Dönüştürme
Sayılar yanlışlıkla metin olarak kaydedildiyse (hücrenin köşesinde yeşil üçgen) ve hesaplanması gerekiyorsa:
- Aralığı seçin.
- Beliren uyarı simgesine tıklayın ve "Sayıya Dönüştür" seçeneğini belirleyin.
- Veya şu formülü kullanın:
=DEĞER(A1)veya=A1*1gibi bir matematiksel işlem.
Büyük Verilerle Çalışma Yöntemlerinin Karşılaştırılması
| Görev | Önerilen Yöntem | Neden |
|---|---|---|
| Kart numaraları, vergi kimlik no, barkodlar | Metin formatı | Tüm rakamları korur, bilimsel gösterimi (E+) engeller |
| Finansal raporlar (lira/kuruş) | Sayısal (2 basamak) + YUVARLA() | İkili hatadan kaynaklanan kuruş birikimi hatalarını önler |
| Yüksek doğruluklu bilimsel veriler | Sayısal (15 basamağa kadar) | "Sayı" türü için mümkün olan maksimum doğruluk |
| Veritabanlarından içe aktarma | İçe aktarma sihirbazı (metin) | Hücrelere yüklenmeden önce veri türünü kontrol etmeye olanak tanır |
Yaygın Hatalar
- Sayıyı sonradan "genişletme" girişimi. Kullanıcılar, uzun bir numara girdikten sonra hücre formatını 20 basamaklı sayısal formata değiştirir. Bu işe yaramaz — sayının son kısmı zaten sıfırlarla değiştirilmiştir. Verileri doğru formatla yeniden girmeniz gerekir.
- Bilimsel formatı görmezden gelme.
1.23E+10görünümü kullanıcıları korkutur, ancak çoğu zaman bu sadece bir görüntüleme yöntemidir. Sütunu genişletmek veya formatı sayısala değiştirmek yeterlidir. - Metin olarak yazılan sayıları toplama.
TOPLAişlevi, metin olarak yazılan sayıları yoksayar. Sonuç beklenenden daha düşük çıkar.
SSS
Excel'in 15 basamaktan fazlasını tam olarak saklamasını sağlayabilir miyim? Hayır, "Sayı" veri türü için sınır katıdır — 15 anlamlı basamak. Daha büyük değerler için metin formatını kullanın, ancak önceden dönüştürme yapmadan bunlara matematiksel işlevler (toplam, ortalama) uygulayamayacağınızı unutmayın.
Neden 0.1 + 0.2 toplamı 0.30000000000000004 oluyor?
Bu, Excel'in bir hatası değil, işlemcinin ikili aritmetiğinin bir özelliğidir. Finansal hesaplamalarda bundan kaçınmak için formülleri her zaman YUVARLA(formül; 2) işlevi içine alın.
Tüm bir sütunu metinden sayıya hızlıca nasıl dönüştürürüm? Sütunu seçin, "Veri" sekmesine gidin → "Sütunlara Dönüştür" → "Son" düğmesine tıklayın. Bu, hücre formatını genel/sayısal olarak zorla yeniden yazar.