Konvertering Mainframe datoformater

May 1  by Eliza

Noen av de data du arbeider med i Excel kan starte som utgang fra store systemer på kontoret. Noen ganger datoformatene som brukes av de store systemene kan være fullstendig misforstått av Excel. For eksempel, kan utgangen gi datoer i formatet yyyydddtttt, der åååå er året, er ddd ordens dagen i året (1 til 366), og tttt er tiden basert på en 24-timers klokke. Ved første øyekast kan du ikke vet hvordan å konvertere en slik dato til noe som Excel kan bruke.

Det er mange måter som en løsning kan bli kontaktet. Kanskje den beste formel, er imidlertid den følgende:

= DATE (VENSTRE (A1,4), 1,1) + MID (A1,5,3) -1 + TIME (MID (A1,8,2), RIGHT (ã1,2), 0)

Denne formelen først finner ut datoen serienummer for 1. januar i det angitte året, deretter legger riktig antall dager til den datoen. Formelen beregner deretter rett tid basert på hva som er gitt.

Når en formel som dette blir gjort gjeldende, er resultatet en dato serienummer. Dette betyr at cellen fortsatt trenger å bli formatert til å vise et datoformat.

Denne tilnærmingen vil fungere helt fint, forutsatt at den informasjonen som du starter med er fornuftig. For eksempel, vil du alltid få den forventede resultatet hvis ddd virkelig er innenfor området 1 til 366, eller hvis tttt er en riktig formatert 24-timers representasjon av tid. Hvis du forventer opprinnelige data som kan være utenfor banen, så den beste løsningen er å opprette en egendefinert funksjon (ved hjelp av en makro) som vil rive i stykker de opprinnelige dataene og sjekke verdiene som oppgis for hver porsjon. Hvis dataene er utenfor banen, kan funksjonen returnere en feilverdi som ville bli lett oppdages innenfor regnearket.

ExcelTips er din kilde for kostnadseffektiv Microsoft Excel trening. Dette tipset (2524) gjelder for Microsoft Excel 97, 2000, 2002, og 2003. Du kan finne en versjon av dette tipset for Båndet av Excel (Excel 2007 og senere) her: Konvertering Mainframe datoformater.