Konvertera flerlinjedata till rader - Excel-tips

Innehållsförteckning

lan Z skickade in veckans Excel-problem. Hans MIS-avdelning ger honom en fil genererad från en gammal COBOL-rapport. Efter att ha öppnat filen i Excel har han 2500 rader av detta:

CustLastName | CustFirstName | CustMiddle | CustAddress | CustCity |CustState | CustZip Useless LINE1 Useless LINE2 CustLastName | CustFirstName | CustMiddle | CustAddress | CustCity |CustState | CustZip Useless LINE1 Useless LINE2

Alan vill få den här ASCII-rapporten till ett användbart format: en rad per kund, med State och Zip bifogade till resten av informationen. Han vill också zappa de två värdelösa linjerna. Uppenbarligen vill vi inte göra allt detta manuellt. Här är ett sätt att snabbt hantera röra.

Med formlerna

  • Infoga två tomma kolumner till vänster om data.
  • Lägg till en rubrikrad ovanför data.
  • Kolumn A kallas "Sekvens"
  • Kolumn B kallas "RowType"
  • Kolumn C kallas "Data"
  • Gör alla rubriker djärva
  • Kolumn A kommer att användas för att tilldela ett nummer till varje logisk post i rapporten. Eftersom den här rapporten har fyra fysiska rader för varje logisk post behöver vi varje uppsättning med 4 rader för att ha samma logiska postnummer. Jag anger vanligtvis värden för den första posten och designar sedan formler för den andra posten som kan kopieras ner i hela rapporten.
  • I cellerna A2: A5 anger du en 1. I cell A6 anger du = A5 + 1. I cell A7 anger du = A6. Kopiera A7 till A8 & A9. Du har nu en kopierbar uppsättning formler för den andra logiska posten i rapporten.
  • Välj A6: A9 och tryck Ctrl C för att kopiera. Välj A10: A2501 och tryck Ctrl V för att klistra in.
  • Kolumn B kommer att användas för att identifiera om den specifika raden är det första, andra, tredje eller fjärde segmentet i den logiska posten.
  • I cellerna B2: B5 anger du 1, 2, 3 och 4. I cell B6 anger du = B2. Kopiera cell B6 från B7: B2501.

Efter att ha bytt till värden

Nu när du har sekvensnummer och radtyper för alla dina data måste du ändra formlerna till värden. Välj A2: B2501. Redigera> Kopiera, Redigera> Klistra in special> Värden> OK.

Nu när sekvensnummer och radtyper har tilldelats för alla rader är vi nästan klara. Sortera data efter radtyp som primärnyckel och sekvens som sekundärnyckel. Detta kommer att få de 625 översta raderna i varje post att flyta upp till cellerna C2: C626. Den andra raden i varje post kommer att finnas i C626: C1251. De "värdelösa" raderna börjar i C1252 och kan raderas. Flytta celler C626: C1251 till cell D2. Ange formeln i Cell E2 =C2&D2. Du kan kopiera denna formel från E2 till E626. Använd samma klistra in Specialvärde-trick för att byta från formler till värden, ta bort kolumner AD och du får ditt resultat.

Härifrån kan du använda guiden Text till kolumner för att bearbeta dessa data ytterligare

Du kan enkelt anpassa den här proceduren för att hantera olika ASCII-rapporter. Du måste räkna ut hur många fysiska tryckta rader som utgör en enda logisk post i rapporten.

Intressanta artiklar...