lan Z изпрати в проблема с Excel тази седмица. Неговият MIS отдел му дава файл, генериран от стар доклад на COBOL. След отваряне на файла в Excel той има 2500 реда от това:
CustLastName | CustFirstName | CustMiddle | CustAddress | CustCity |CustState | CustZip Useless LINE1 Useless LINE2 CustLastName | CustFirstName | CustMiddle | CustAddress | CustCity |CustState | CustZip Useless LINE1 Useless LINE2
Алън иска да получи този ASCII отчет в полезен формат: един ред на клиент, като към останалата информация са добавени State и Zip. Той също иска да запечата 2-те безполезни реда. Очевидно не искаме ръчно да правим всичко това. Ето един начин за бързо справяне с бъркотията.
С формулите
![](https://cdn.wiki-base.com/2002732/convert_multiline_data_to_rows_-_excel_tips.gif)
- Поставете две празни колони отляво на данните.
- Добавете заглавен ред над данните.
- Колона А се нарича "Последователност"
- Колона B се нарича "RowType"
- Колона C се нарича "Данни"
- Направете всички заглавия получер
- Колона А ще се използва за присвояване на номер на всеки логически запис в отчета. Тъй като този отчет има 4 физически реда за всеки логически запис, трябва всеки набор от 4 реда да има един и същ номер на логически запис. Обикновено въвеждам стойности за първия запис и след това проектирам формули за втория запис, които могат да бъдат копирани в целия отчет.
- В клетки A2: A5 въведете 1. В клетка A6 въведете = A5 + 1. В клетка A7 въведете = A6. Копирайте A7 в A8 и A9. Сега имате копируем набор от формули за втория логически запис на отчета.
- Изберете A6: A9 и натиснете Ctrl C, за да копирате. Изберете A10: A2501 и натиснете Ctrl V, за да поставите.
- Колона Б ще се използва за идентифициране дали конкретният ред е 1-ви, 2-ри, 3-ти или 4-ти сегмент на логическия запис.
- В клетки B2: B5, въведете 1, 2, 3 и 4. В клетка B6 въведете = B2. Копирайте клетка B6 от B7: B2501.
След преминаване към стойности
![](https://cdn.wiki-base.com/2002732/convert_multiline_data_to_rows_-_excel_tips_2.gif)
Сега, след като имате поредни номера и типове редове за всички ваши данни, трябва да промените формулите на стойности. Изберете A2: B2501. Редактиране> Копиране, Редактиране> Специално поставяне> Стойности> ОК.
![](https://cdn.wiki-base.com/2002732/convert_multiline_data_to_rows_-_excel_tips_3.gif)
Сега, когато за всички редове са зададени поредни номера и типове редове, почти приключихме. Сортирайте данните по Тип ред като първичен ключ и Последователност като вторичен ключ. Това ще накара 625 горни реда на всеки запис да се носят до клетки C2: C626. Вторият ред на всеки запис ще бъде в C626: C1251. Редовете "безполезни" ще започнат в C1252 и могат да бъдат изтрити. Преместете клетки C626: C1251 в клетка D2. В клетка E2 въведете формулата =C2&D2
. Можете да копирате тази формула от E2 в E626. Използвайте същия трик за поставяне на специална стойност, за да преминете от формули към стойности, да изтриете колони AD и имате своя резултат.
Оттук можете да използвате съветника „Текст към колони“, за да обработите допълнително тези данни
Можете лесно да персонализирате тази процедура, за да се справите с всякакви разнообразни отчети ASCII. Трябва да разберете колко физически отпечатани редове съставляват един логичен запис в отчета.