Excel'de format sorunlarına hızlı çözüm
Metni sayıya dönüştürmek için hücreyi 1 ile çarpın (örneğin =A1*1) veya =VALUE(A1) fonksiyonunu kullanın. Tarihler için =DATEVALUE(A1) uygulayın ve hücre formatını "Tarih" olarak ayarlayın. Veriler fazladan karakterler (boşluklar, para birimi) içeriyorsa, önce bunları SUBSTITUTE fonksiyonuyla temizleyin, ardından dönüştürün.
Verileri diğer sistemlerden içe aktarırken veya web'den kopyalarken sık karşılaşılan bir sorun, Excel'in sayıları ve tarihleri düz metin olarak algılamasıdır. Bu durum hesaplamaları, sıralamayı ve özet tablo oluşturmayı engeller. Aşağıda, Excel'in tüm sürümleri için durumu düzeltmeye yönelik kanıtlanmış yöntemler sunulmaktadır.
Neden bu oluyor? Hücre görsel olarak bir sayı gibi görünebilir, ancak sola hizalanmışsa ve formülde tırnak işaretiyle gösteriliyorsa (veya sadece metin olarak), Excel bunu matematiksel işlemlerde kullanamaz. Verilerin yalnızca dış görünüşünü değil, iç temsilini değiştirmeniz gerekir.
Metni sayıya dönüştürme yöntemleri
Excel'in bir metin dizesini sayısal değer olarak yorumlamasını sağlamanın birkaç yolu vardır. Seçim, kaynak verilerin temizliğine bağlıdır.
1. Aritmetik işlemler (en hızlı yol)
Rakam içeren metinle yapılan herhangi bir matematiksel işlem, Excel'i bunu örtülü olarak sayıya dönüştürmeye zorlar.
- 1 ile çarpma:
=A1*1 - Sıfır ekleme:
=A1+0 - Çift eksi:
=--A1(genellikle karmaşık dizi formüllerinde kullanılır).
Bu yöntem, hücrede yalnızca bir sayı (örneğin "123") varsa ancak metin olarak kaydedilmişse idealdir.
2. VALUE fonksiyonu
Açık dönüşüm için standart fonksiyon.
- Formül:
=VALUE(A1) - Özellik: Bölgesel ayarlara duyarlıdır. Sistemde ondalık ayracı virgül ise ve metinde nokta varsa, fonksiyon
#VALUE!hatası döndürür.
3. "Kirli" verileri temizleme
Dizede boşluklar, para birimi işaretleri ($, ₽) veya binlik ayırıcılar varsa, basit yöntemler çalışmaz. Önce fazladan karakterleri kaldırın, ardından dönüştürün.
Örnek: "$ 1 234,56" ifadesini sayıya dönüştürme.
=VALUE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1;"$";"");" ";"");",";"."))
Mantık: Dolar işaretini kaldırıyoruz, boşlukları siliyoruz, virgülü noktayla değiştiriyoruz (sisteminiz ondalık ayracı olarak nokta gerektiriyorsa), ardından VALUE uyguluyoruz.
Formül olmadan toplu düzeltme Bir sütunun tamamını düzeltmeniz gerekiyorsa:
- "Metin" sayıları içeren aralığı seçin.
- Veri sekmesine gidin → Sütunlara Dönüştür.
- Sihirbazda doğrudan Son düğmesine basın. Excel, hücre formatlarını zorla yeniden okur ve metni sayılara dönüştürür.
Tarihlerle çalışma yolları
Excel'deki tarihler de aslında sayılardır (1 Ocak 1900'den itibaren günün sıra numarası). Sorun, tarih metin olarak yazıldığında ("31.12.2023") ve sistem tarafından tanınmadığında ortaya çıkar.
1. DATEVALUE fonksiyonu
Tarihin metin gösterimini seri numarasına dönüştürür.
- Formül:
=DATEVALUE(A1) - Önemli: Formülü uyguladıktan sonra hücre bir sayı gösterebilir (örneğin 45291). Tarihi görmek için, hücre formatını Tarih olarak değiştirin (Giriş sekmesi veya
Ctrl+1aracılığıyla).
2. Parçalardan tarih oluşturma
Metin standart olmayan bir biçime sahipse (örneğin "2023 yılı 12 ayı 31 günü" veya dağınık hücreler), DATE fonksiyonunu kullanın.
- Örnek: "2023-12-31" dizesinden parçaları çıkarma.
=DATE(LEFT(A1;4); MID(A1;6;2); RIGHT(A1;2))
```
### 3. Rusça ayların işlenmesi
`DATEVALUE` fonksiyonu, sistemin dilindeki ay adlarını anlar. Excel'in Rusça sürümüne sahipseniz, "12 января 2024" ifadesini doğru şekilde işler. Veriler İngilizceyse ("January 12, 2024") ve sistem Rusça ise, ön çeviri veya ay adlarını değiştirmek için `SUBSTITUTE` kullanımı gerekecektir.
## Tipik hatalar ve çözümler
<div class="table-container"><table style="border-collapse: collapse; width: 100%; margin: 16px 0;"><thead><tr><th style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; background: #f9fafb; font-weight: 600;">Hata</th><th style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; background: #f9fafb; font-weight: 600;">Neden</th><th style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; background: #f9fafb; font-weight: 600;">Çözüm</th></tr></thead><tbody><tr><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;"><strong>#VALUE!</strong> (#DEĞER!)</td><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;">Metinde harfler, desteklenmeyen karakterler veya yanlış ayırıcı var.</td><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;">Temizlemek için <code style="background-color: rgba(0,0,0,0.05); padding: 2px 4px; border-radius: 3px; font-family: monospace; font-size: 0.9em;">SUBSTITUTE</code> kullanın veya bölgesel ayarları kontrol edin (nokta/virgül).</td></tr><tr><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;"><strong>Tarih sayıya dönüştü</strong></td><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;">Dönüştürmeden sonra hücre formatı "Genel" olarak kaldı.</td><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;">Sonuç hücresine "Kısa Tarih" veya "Uzun Tarih" formatı uygulayın.</td></tr><tr><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;"><strong>Baştaki sıfırlar kayboldu</strong></td><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;">"00123" ifadesini sayıya dönüştürürken 123 elde edilir.</td><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;">Sıfırlar önemliyse (kodlar, sipariş numaraları), verileri metin formatında bırakın veya <code style="background-color: rgba(0,0,0,0.05); padding: 2px 4px; border-radius: 3px; font-family: monospace; font-size: 0.9em;">00000</code> özel formatını kullanın.</td></tr><tr><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;"><strong>"Sütunlara Dönüştür" çalışmıyor</strong></td><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;">Veriler formül içeriyor veya korunuyor.</td><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;">Formüllerle değil, değerlerle çalıştığınızdan emin olun veya sayfa korumasını kaldırın.</td></tr></tbody></table></div>
## Büyük hacimler için otomasyon
Farklı formatta binlerce satırı düzenli olarak işlememiz gerekiyorsa, manuel formüller dosyayı yavaşlatabilir.
1. **Power Query (Al ve Dönüştür):**
* "Kirli" verileri içe aktarmak için ideal araç.
* Adımları tanımlamanıza olanak tanır: "Değerleri Değiştir", "Türü Değiştir", "Sütunu Böl".
* Veriler güncellendiğinde tüm dönüşümler otomatik olarak uygulanır.
* **Veri** sekmesinde → **Veri Al** altında bulunur.
2. **Evrensel doğrulama formülü:**
Bir sütunda sayılar, tarihler ve düz metin karışık durumda ise, hata işleme ile aşağıdaki yapı kullanılabilir:
```excel
=IFERROR(VALUE(A1); IFERROR(DATEVALUE(A1); A1))
```
Bu formül, metinden sayı yapmaya çalışacaktır. Başarısız olursa, tarih yapmayı deneyecektir. Bu da başarısız olursa, metni olduğu gibi bırakacaktır.
## Sıkça Sorulan Sorular
**Yeni bir sütun oluşturmadan metni sayıya dönüştürebilir miyim?**
Evet, özel yapıştırma hilesini kullanın. Herhangi bir boş hücreyi kopyalayın, metin sayıları içeren aralığı seçin, sağ tıklayın → **Özel Yapıştır** → **Topla** işlemini seçin. Metin anında sayılara dönüşecektir.
**Neden DATEVALUE fonksiyonu GG.AA.YYYY formatındaki tarihi görmüyor?**
Windows veya macOS Denetim Masası'ndaki bölge ayarlarını kontrol edin. Excel, sisteme uygun formatı bekler. Sistemde format AA/GG/YYYY ise ve siz 31.12.2023 girerseniz, 31. ay olmadığı için hata oluşur. Böyle durumlarda tarihi `DATE(yıl; ay; gün)` fonksiyonuyla oluşturmak daha güvenilirdir.
**Sayının önündeki kesme işaretini nasıl kaldırırım?**
Kesme işareti (`'`) metin formatının bir işaretidir. Herhangi bir dönüştürme yöntemi (1 ile çarpma, "Sütunlara Dönüştür" veya özel yapıştırma) uyguladığınızda kendiliğinden kaybolacaktır.