lan Z sendte denne uges Excel-problem ind. Hans MIS-afdeling giver ham en fil genereret fra en gammel COBOL-rapport. Efter at have åbnet filen i Excel har han 2500 linjer af dette:
CustLastName | CustFirstName | CustMiddle | CustAddress | CustCity |CustState | CustZip Useless LINE1 Useless LINE2 CustLastName | CustFirstName | CustMiddle | CustAddress | CustCity |CustState | CustZip Useless LINE1 Useless LINE2
Alan ønsker at få denne ASCII-rapport til et nyttigt format: en linje pr. Kunde, med stat og zip tilføjet til resten af informationen. Han vil også zappe de 2 ubrugelige linjer. Vi ønsker åbenbart ikke alt dette manuelt. Her er en måde at hurtigt håndtere rodet på.
Med formlerne
- Indsæt to tomme kolonner til venstre for dataene.
- Tilføj en overskriftsrække over dataene.
- Kolonne A kaldes "sekvens"
- Kolonne B kaldes "RowType"
- Kolonne C kaldes "Data"
- Gør alle overskrifter fed
- Kolonne A skal bruges til at tildele et nummer til hver logiske post i rapporten. Da denne rapport har 4 fysiske linjer for hver logisk post, har vi brug for hvert sæt med 4 linjer for at have det samme logiske postnummer. Jeg indtaster normalt værdier for den første post og designformler for den 2. post, der kan kopieres ned i hele rapporten.
- I celler A2: A5 skal du indtaste en 1. I celle A6 skal du indtaste = A5 + 1. I celle A7 skal du indtaste = A6. Kopier A7 til A8 & A9. Du har nu et kopierbart sæt formler til den 2. logiske registrering af rapporten.
- Vælg A6: A9, og tryk på Ctrl C for at kopiere. Vælg A10: A2501, og tryk på Ctrl V for at indsætte.
- Kolonne B skal bruges til at identificere, om den bestemte række er det 1., 2., 3. eller 4. segment i den logiske post.
- I celler B2: B5 skal du indtaste 1, 2, 3 og 4. I celle B6 skal du indtaste = B2. Kopier celle B6 fra B7: B2501.
Efter skift til værdier
Nu hvor du har sekvensnumre og række typer for alle dine data, skal du ændre formlerne til værdier. Vælg A2: B2501. Rediger> Kopiér, Rediger> Indsæt specielt> Værdier> OK.
Nu hvor sekvensnumre og række typer er tildelt til alle rækker, er vi næsten færdige. Sorter dataene efter række som den primære nøgle og sekvensen som den sekundære nøgle. Dette får de 625 øverste linjer i hver post til at flyde op til cellerne C2: C626. 2. linje i hver post vil være i C626: C1251. De "ubrugelige" linjer starter i C1252 og kan slettes. Flyt celler C626: C1251 til celle D2. Indtast formlen i celle E2 =C2&D2
. Du kan kopiere denne formel fra E2 til E626. Brug det samme indsæt speciel værdi-trick til at skifte fra formler til værdier, slette kolonner AD, og du har dit resultat.
Herfra kan du bruge guiden Tekst til kolonner til at behandle disse data yderligere
Du kan nemt tilpasse denne procedure til at håndtere forskellige ASCII-rapporter. Du skal finde ud af, hvor mange fysiske trykte linjer, der udgør en enkelt logisk post i rapporten.