Satırlı bir hücreyi kopyalamak Excel'de kesilir ve Not Defteri'ne yapıştırılırsa, metin bir satıra yapıştırılır. Neden?
Satırlı bir hücreyi kopyalamak Excel'de kesilir ve Not Defteri'ne yapıştırılırsa, metin bir satıra yapıştırılır. Neden?
Yanıtlar:
Bu, elektronik tabloların çalışma şeklinin doğası gereğidir. Veri dolu bir elektronik tablonuz olduğunu hayal edin. Tüm bir veri satırını kopyalayacaksanız, o zaman Not Defteri'ne yapıştırın, tüm bu verilerin bir satırda olması gerekir. Bunun nedeni, başka bir veri satırını kopyalayıp yapıştırmanız gerekirse, bir sonraki veri satırının bir satırda olması gerekir. Kopyaladığınız ilk satırda satır kesmeleri olsaydı, veriler artık iki doğrusal satırda olmazdı. Verileri Not Defteri'nden kopyalayıp e-tabloya geri kopyalarsanız, doğru şekilde yapıştırmaz.
Alt+Enter
), yalnızca 0xA girilir, bunun yerine tam 0xD 0xA LF
değil CR/LF
. Excel bunu yorumlar ve satır sonu gösterir, düz not defteri beklemez çünkü CR/LF
. Biçimlerde bir hatadan daha çok tespit edilen bir fark var, ancak yine de doğru sebep bu.
Bu, Microsoft'un önceden Windows'ta yüklü olan temel metin düzenleyicisi olan Not Defteri'ni kullandığınızda geçerlidir.
Bununla birlikte, PSPad veya Notepad ++ gibi daha gelişmiş bir metin düzenleyicisi kullanabilirsiniz (hem mükemmel hem de ücretsiz) ve satır sonlarınızı aktarırsınız.
Excel :
Hücre işaretlendi, ardından Notepad ++ içine kopyala-yapıştır :
Not Defteri'ne yapıştırılan aynı içerik (Windows varsayılan düzenleyici):
Her iki durumda da, tırnak işaretlerinin otomatik olarak eklendiğini unutmayın!
Daha iyi editörler size LineFeed (LF) ve CarriageReturn (CR) gibi kontrol karakterlerini görüntüleme seçeneği sunar. Notepad ++ 'da şöyle görünür:
Sonuç olarak: ihtiyaçlarınıza göre aracınızı seçin. Editörde korunan hücre sınırlarına ihtiyacınız varsa, ancak hücre içeriği biraz değişebilirse, Not Defteri'ni kullanın. Satır sonları dahil dokunulmamış hücre içeriğine ihtiyacınız varsa ve hücre sınırlarının 1: 1 tekrarlanabilirliği çok önemli değilse, başka bir düzenleyici kullanın.
Bu tür verilerin toplu olarak işlenmesi
Hem hücre sınırlarına hem de aynı anda 1: 1 korunmuş hücre içeriğine ihtiyacınız varsa, sorunla karşılaşabilirsiniz.
Daha akıllı çözümler olabilir, ancak böyle durumlarda yaptığım herhangi bir dilde (VBA, Python veya en çok neyi istersen) küçük bir program yazmaktı ve satır sonları için yer tutucu dizeleri ekleyen (basit bir şey gibi) Daha sonra tekrar CR ve LF kontrol karakterleriyle değiştirilebilen "### Linebreak ###". Elbette, bu daha sonra işe yarar ve sadece büyük miktarda veri işlemek zorundaysanız mantıklı olur.
Eklenen tırnak işaretleriyle de sorun yaşayabilirsiniz. Bunlar, ilk bakışta, satır sonları dahil edilse bile hücre sınırlarının korunması için faydalı olabilir. Ancak, hücrenizde orijinal içeriğin bir kısmında tırnak işareti olabilir ve ardından yeni sorunlar yaşarsınız. O zaman bunun için çeşitli çözümler var, ancak dikkatinize ihtiyacı var.
CR
LF
orada gösteren aslında aslında gördüğü LF
ve tam olması gerektiğini varsayar CR
LF
ve dönüştürür.
Keltari 'ın cevabı bu yanıt teknik farka odaklanır ederken, mantıksal akıl yürütme verir.
Hesaplamada kullanılan üç farklı satır sonları vardır:
LF
)CR
)CRLF
)Bu, yazarların çalışma şeklini bir kenara bırakıyor.
Excel, birden çok satır içeren hücreleri temsil etmek için bu satır sonlarının bir kombinasyonunu kullanır:
Tab
karakter ile ayrılır .CRLF
karakterlerle ayrılır .LF
karakteri kullanarak ayırır .Bu, çalışma kitabınızı bir .txt
dosya olarak kaydettiğinizde ve bu karakterleri göstermeyi destekleyen bir metin düzenleyicide açtığınızda görünür hale gelir .
Not Defteri yalnızca CRLF
yeni satırlar gibi işler ve yok sayar LF
veya CR
kendileri tarafından. Hala belgedeler, ancak hiçbir şekilde görünmüyorlar.
Not: Bunu, ileri ve geri yapıştırırken göremezsiniz, çünkü Notepad ++, normal Not Defteri ayarlamazken, sizin için satır sonlarını otomatik olarak ayarlar.
LF
olduğunu not defteri basitçe gözle görülür bunu göstermez, not defteri yapıştırılan zaman hala aslında mevcut. (Etkin bir sıfır genişlik alanıyla aynı şekilde işler.) Bu nedenle, yapıştırılan verileri notepad'den Excel'e geri kopyalamak neden bu satır sonlarını içerir (Excel, satırları otomatik olarak yeniden boyutlandırmasa da).
CRLF
.
="A"&CHAR(13)&CHAR(10)&"B"
. Formüller tarafından üretilen satır sonları excel'de görünmez, ancak "yapıştırma değerleri" ile kopyalanıp yapıştırıldığında düzgün çalışır. "A<CRLF>B"
Not defterine el ile yazarak yapıştırdığınız ve kopyaladığınız değer de CRLF'yi koruyacaktır.
LF
EOL'lerle metin dosyalarını hızlı bir şekilde okunabilir hale getirmek için bir kaç kez kullandım . yani bir Bul LF
seçin karakteri, Ctrl
+C
, Ctrl
+ Home
, Ctrl
+ F
, Ctrl
+ V
, Enter
, Esc
, Enter
. Sonra tekrar tekrar F3
, Enter
sonuna kadar. [Düzenleme: <kbd> yorumlarda çalışmaz mı?]
Excel, hücre içindeki yeni satırları göstermek için LF'yi kullanır. Not Defteri, bunun yeni bir satır olduğunu düşünmez, çünkü Windows, genel olarak yeni satırlar için CRLF kullanır.
Notepad ++, nispeten basit Notepad'den daha akıllıdır ve bu nedenle LF'yi yeni bir satır olarak da yorumlar.
"
ve Notepad ++ tüm satır sonlarını eşleştirecek şekilde normalleştirecektir. Buraya bakınız . Bunun yerine not edin .txt
ve Not Defteri ++ 'da açarsanız, çok satırlı hücrelerde LF
yalnızca olur. Buraya bak .