CSV Excel’de Tek Sütunda Açılıyor? Nedeni ve Çözümü
Bir CSV dosyası her şey A sütununa sıkışmış halde açılıyorsa dosya, Excel’in beklediğinden farklı bir ayırıcı kullanıyordur — genellikle noktalı virgüle ayarlı bir bilgisayarda açılan virgüllü bir dosya ya da tam tersi. Verilerde bir sorun yok. Dosyayı ayırıcıyı algılayan bir araçla, örneğin CSV görüntüleyiciyle açın ya da içe aktarma veya Metni Sütunlara Dönüştür özelliğiyle Excel’e hangi ayırıcıyı kullanacağını söyleyin.
Virgül, noktalı virgül ve ondalık virgül
“CSV”, İngilizce “comma-separated values”, yani “virgülle ayrılmış değerler” demektir; ama pratikte ayırıcı, dosyayı yazan program neyi seçtiyse odur. İşte aynı satırın iki farklı yazılışı:
Tarih,Müşteri,Tutar
2024-03-15,Demir Tekstil A.Ş.,1250.50
Tarih;Müşteri;Tutar
2024-03-15;Demir Tekstil A.Ş.;1250,50
İkinci sürümün sebebi ondalık ayırıcıdır. Türkiye’de ve Avrupa’nın büyük bölümünde — Almanya, Fransa, İtalya, İspanya, Hollanda, Polonya, Ukrayna ve daha pek çok ülkede — sayılar ondalık virgülle yazılır: 1250,50. Virgül sütunları da ayırsaydı 1250,50 iki hücreye bölünürdü. Bu yüzden bu bölgelerdeki tablo programları sütun ayırıcı olarak noktalı virgül kullanır.
İki format da yanlış değildir. Bunlar yalnızca iki farklı gelenektir; sorun, biriyle yazılmış bir dosyayı diğerini bekleyen bir program açtığında başlar. Formatın kendisi hakkında daha fazla bilgi için CSV dosyası nedir rehberine bakın.
Excel neden her şeyi A sütununa koyar
Bir .csv dosyasına çift tıkladığınızda Excel, ayırıcıyı anlamak için dosyanın içine bakmaz. İşletim sisteminizin bölge ayarlarındaki liste ayırıcısını kullanır. Windows’ta bu ayar bölgenize göre belirlenir: ondalık virgül kullanan bir ülkeye ayarlı bilgisayarda liste ayırıcısı genellikle noktalı virgüldür; ABD’ye ya da Birleşik Krallık’a ayarlı bir bilgisayarda ise virgüldür.
Bu yüzden çakışma iki yönde de yaşanır:
- ABD’deki bir iş arkadaşınız virgülle ayrılmış bir dışa aktarım gönderir; Türkçe ya da Almanca Excel’iniz noktalı virgül bekler ve her satırı bütün halinde A sütununda bırakır.
- Türkiye’deki muhasebe programınız noktalı virgülle yazar; Birleşik Krallık’taki bir iş arkadaşınız dosyayı açar ve tek bir hücrede
Tarih;Müşteri;Tutargörür.
Aynısı web servislerinden, online mağazalardan ve CRM’lerden alınan dışa aktarımlar için de geçerlidir. Birçoğu nerede olursanız olun her zaman virgül kullanır; Türkiye’de ve Avrupa’da bu sorunla bu kadar sık karşılaşılmasının nedeni de budur. Benzer bir sorun — harflerin é gibi simgelere dönüşmesi — ayırıcıyla değil kodlamayla ilgilidir; bunun için CSV’de garip karakterler rehberine bakın.
1. çözüm: ayırıcıyı otomatik algılayan bir araçla açın
Dosyayı yalnızca okumanız gerekiyorsa — bir siparişi kontrol etmek, bir müşteriyi bulmak, dışa aktarımda ne olduğunu görmek — en hızlı yol ayırıcıyı kendisi bulan bir görüntüleyicidir.
Opener CSV görüntüleyici dosyaya bakar; virgül, noktalı virgül, sekme ya da dikey çizgiyle ayrılmış olduğunu algılar ve düzgün bir tablo gösterir. Metin kodlamasını da (UTF-8, Windows-1251 ya da Windows-1252) algılar ve "Yılmaz, Ahmet" gibi ayırıcıyı içeren tırnaklı değerleri doğru işler. Ayarlanacak bir şey yok, hesap yok ve dosya tarayıcınızda kalır — asla yüklenmez. Sonucu arayabilir, sıralayabilir, CSV ya da JSON olarak dışa aktarabilirsiniz.
2. çözüm: Excel’de içe aktarma ya da Metni Sütunlara Dönüştür
Verilerle Excel’de çalışmak istiyorsanız dosyaya çift tıklamak yerine Excel’e hangi ayırıcıyı kullanacağını söyleyin.
Metin/CSV dosyasından içe aktarma. Boş bir çalışma kitabı açın, Veri sekmesine gidin ve “From Text/CSV” seçeneğini seçin. Excel, “Delimiter” (ayırıcı) listesi olan bir önizleme gösterir; sütunlar doğru görünene kadar “Comma” (virgül) ya da “Semicolon” (noktalı virgül) seçin, sonra verileri yükleyin. Harfler bozuk görünüyorsa aynı önizlemede dosyanın kodlamasını da ayarlayabilirsiniz.
Metni Sütunlara Dönüştür. Veriler zaten A sütunundaysa:
- A sütununu seçin.
- Veri sekmesinde Metni Sütunlara Dönüştür’ü seçin.
- “Delimited” (sınırlandırılmış) seçeneğini seçin, ardından dosyanızın kullandığı ayırıcıyı işaretleyin (örneğin noktalı virgül ya da virgül).
- Sihirbazı tamamlayın.
İki yöntemde de dikkat edilmesi gereken bir şey var: sayı biçimleri. 1250.50 içeren bir dosya ondalık virgül kullanan bir sistemde açıldığında tutar metin olarak ya da yanlış bir sayı olarak okunabilir. İçe aktarma önizlemesi ve Metni Sütunlara Dönüştür sihirbazının son adımı, sütunların nasıl yorumlanacağını ayarlamanıza izin verir — toplamlara güvenmeden önce birkaç tutarı kontrol edin.
3. çözüm: Excel için bir “sep=” satırı ekleyin
Excel’e özgü bir püf noktası var: dosyanın en üstüne ayırıcıyı belirten bir satır ekleyin.
sep=;
Tarih;Müşteri;Tutar
2024-03-15;Demir Tekstil A.Ş.;1250,50
Dosyayı düz bir metin düzenleyicide açın, ilk satır olarak sep=; (virgüllü dosya için sep=,) ekleyin, kaydedin ve yeniden çift tıklayın. Excel bu ipucunu okur, o ayırıcıyı kullanır ve satırın kendisini göstermez.
Bu bir standart değil, geçici bir çözümdür. Diğer programlar — Google Sheets, LibreOffice, veritabanları, betikler — sep= satırını tanımaz; genellikle onu fazladan bir ilk satır olarak gösterir ya da başlık satırı sanar. Yalnızca Excel kullanıcılarına gidecek dosyalarda kullanın.
4. çözüm: Google Sheets, LibreOffice ya da bölge ayarınız
Google Sheets. Dosya → İçe aktar’ı kullanın ve CSV’yi yükleyin. İçe aktarma penceresinde bir ayırıcı türü seçeneği vardır; otomatik algılamayı açık bırakabilir ya da özel bir karakter dahil ayırıcıyı kendiniz seçebilirsiniz.
LibreOffice Calc. Bir CSV açtığınızda LibreOffice; virgül, noktalı virgül, sekme ve diğer ayırıcılar için onay kutuları ile canlı önizleme içeren bir metin içe aktarma penceresi gösterir. Windows, macOS ve Linux’ta ücretsizdir.
Windows liste ayırıcısını değiştirmek. Klasik Denetim Masası’nın bölge ayarlarında, ek ayarlar arasında bir “List separator” (liste ayırıcısı) alanı bulunur. Bunu virgül yapmak, Excel’in virgülle ayrılmış dosyaları çift tıklayınca doğrudan açmasını sağlar. Bunu dikkatli kullanın: bu, sistem genelinde bir ayardır; Excel’in formüllerde işlev bağımsız değişkenlerini nasıl ayırdığını ve diğer programların CSV dosyalarını nasıl okuyup yazdığını da değiştirir. Türkiye’deki iş arkadaşlarınızla dosya paylaşıyorsanız sizden virgüllü dosyalar almaya başlarlar. Çoğu kişi için yukarıdaki içe aktarma yöntemleri daha güvenlidir.
Sık sorulan sorular
Aynı CSV iş arkadaşımın bilgisayarında neden düzgün açılıyor?
Onun bölge ayarlarında farklı bir liste ayırıcısı kullanılıyor. Excel bir CSV’ye çift tıkladığınızda bu ayarı kullanır; bu yüzden aynı dosya bir bilgisayarda düzgün açılırken diğerinde tek sütuna yığılabilir.
CSV dosyalarımı virgülle mi, noktalı virgülle mi kaydetmeliyim?
Kimin açacağına bağlı. Diğer programlar, betikler ve yurt dışındaki iş arkadaşları için virgül yaygın varsayılandır. Ondalık virgül kullanan ülkelerdeki Excel kullanıcıları için noktalı virgüllü dosyalar doğrudan açılır. Mümkünse alıcıya sorun.
Bazı satırlarda sütun sayısı neden hâlâ yanlış?
Genellikle bir değer ayırıcının kendisini içerdiği için; örneğin tırnak içine alınmamış, virgüllü bir şirket adı. CSV tırnak kurallarına uyan görüntüleyiciler ve içe aktarıcılar tırnaklı değerleri doğru işler; tırnaksız olanların kaynağında düzeltilmesi gerekir.
CSV görüntüleyici sekmeyle ve dikey çizgiyle ayrılmış dosyalarla çalışıyor mu?
Evet. CSV görüntüleyici virgül, noktalı virgül, sekme ve dikey çizgiyi otomatik algılar; .csv, .tsv ve .txt dosyalarını açar.