Під час копіювання комірки з розривом рядків у Excel та вставлення її в Блокнот текст вставляється в один рядок. Чому так?
Під час копіювання комірки з розривом рядків у Excel та вставлення її в Блокнот текст вставляється в один рядок. Чому так?
Відповіді:
Це обумовлено характером роботи електронних таблиць. Уявіть, що у вас є електронна таблиця, повна даних. Якщо потрібно було скопіювати цілий ряд даних, а потім вставити їх у Блокнот, усі ці дані повинні бути в одному рядку. Це тому, що якщо ви повинні було скопіювати інший рядок даних та вставити їх, наступний рядок даних повинен бути в одному рядку. Якби в першому ряді, який ви скопіювали, були розриви рядків, дані більше не були б у двох лінійних рядках. Якби ви скопіювали дані з Блокнота та назад у електронну таблицю, вони не вставлять належним чином.
Alt+Enter
), вводиться лише 0xA, а не повний 0xD 0xA, що означає LF
замість CR/LF
. Excel інтерпретує це і показує розрив рядка, тоді як звичайний блокнот не робить, тому що він очікує CR/LF
. Різниця у виявленні форматів більше, ніж помилка, але все-таки це правильна причина.
Це вірно, коли ви використовуєте Блокнот, який є основним текстовим редактором Microsoft, який уже встановлений у Windows.
Однак ви можете використовувати більш просунутий текстовий редактор, такий як PSPad або Notepad ++ (і відмінний, і безкоштовний), і ви отримаєте перерви в рядках.
Excel :
Cell відзначений, а потім скопіювати-вставити в Notepad ++ :
Той самий вміст вставлений у Блокнот (редактор за замовчуванням Windows):
Зауважте, що в обох випадках лапки додаються автоматично!
Кращі редактори також надають можливість відображення контрольних символів, таких як LineFeed (LF) та CarriageReturn (CR). У Блокноті ++ це виглядає так:
Як висновок: вибирайте свій інструмент залежно від ваших потреб. Якщо вам потрібні межі комірок, які зберігаються в редакторі, але вміст комірок може бути трохи змінено, використовуйте Блокнот. Якщо вам потрібен вміст комірок, який не змінюється, включаючи розриви рядків, і відтворення меж комірки 1: 1 не є вирішальним, скористайтеся іншим редактором.
Масова обробка таких даних
Якщо вам потрібні одночасно і рамки клітин, і вміст комірок 1: 1, ви можете зіткнутися з проблемами.
Можливо, існують більш розумні рішення, але те, що я робив у таких випадках, - це написання невеликої програми будь-якою мовою (VBA, Python або все, що вам найбільше подобається), яке читає вміст і додає рядки заповнювачів для розривів рядків (щось таке просто, як "### Linebreak ###", який згодом можна буде замінити символами керування CR та LF. Звичайно, це непогано працює тоді і має сенс, лише якщо вам доведеться обробляти велику кількість даних.
У вас можуть виникнути проблеми також із доданими лапками. Вони можуть на перший погляд бути корисними для збереження меж комірок, навіть якщо включені розриви рядків. Однак у вашій комірці можуть бути лапки частина оригінального вмісту, і тоді у вас з’являться нові проблеми. Тоді для цього є різні рішення, але це потребує вашої уваги.
CR
LF
там відображається насправді, тому що він бачить LF
і припускає, що він повинен бути повним CR
LF
і перетворює його.
Keltari «s відповідь дає логічне мислення, в той час як ця відповідь фокусується на технічної різниці.
Існує три різні форми розривів рядків, які використовуються в обчисленні:
LF
)CR
)CRLF
)Це перешкода тому, як працюють письменники типу.
Excel використовує комбінацію цих розривів рядків для представлення комірок з декількома рядками:
Tab
символом.CRLF
символами.LF
символ.Це стає очевидним, коли ви зберігаєте свою робочу книжку як .txt
файл та відкриваєте її текстовим редактором, який підтримує показ цих символів.
Блокнот обробляє лише CRLF
нові рядки та ігнорує LF
або CR
самостійно. Вони все ще є в документі, але ні в якому разі не видно.
Примітка. Ви не побачите цього під час вставки вперед і назад, оскільки Notepad ++ автоматично коригує закінчення рядків для вас, тоді як звичайний блокнот цього не робить.
LF
це на самому справі все ще присутній при вставці в блокнот, записна просто не відображає його явно. (Це робить ефективно таким же, як і простір нульової ширини.) Отже, чому копіювання вставлених даних назад із блокнота в Excel включає ці перерви рядків (хоча Excel автоматично не змінює розмір рядків до них).
CRLF
.
="A"&CHAR(13)&CHAR(10)&"B"
. Розриви рядків, створені формулами, не видно у excel, але добре спрацьовують, якщо їх скопіювати та вставити через "вставити значення". Значення, вставлене під час введення вручну "A<CRLF>B"
в блокнот та копіювання, також збереже CRLF.
LF
EOL швидко читабельними. тобто Знайдіть LF
символ, виберіть його, Ctrl
+ C
, Ctrl
+ Home
, Ctrl
+ F
, Ctrl
+ V
, Enter
, Esc
, Enter
. Потім повторно F3
, Enter
до кінця. [Редагувати: <kbd> не працює в коментарях?]
Excel використовує LF для позначення нових рядків у комірці. Блокнот не вважає це новим рядком, оскільки Windows взагалі використовує CRLF для нових рядків.
Блокнот ++ більш розумний, ніж порівняно простий Блокнот, і тому інтерпретує LF як новий рядок також.
"
а «Блокнот ++» нормалізує відповідність усіх закінчень рядків. Дивіться тут . Якщо замість цього зберегти як .txt
і відкрити в Блокноті ++, багатоклітинні комірки матимуть LF
лише. Дивіться тут .