Импорт из MS Excel (конвертировать число дней в дату)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | *Вопрос. Я импортирую данные из Excel и получаю 4-5-значные числа. Как мне преобразовать их в *формат даты в SPSS?. *Ответ. Вы получаете число дней, прошедших с 31 декабря 1899 года (т.е. 1 обозначает 01.01.1900) Если вы в Excel поменяете формат дат на числовой формат, то увидите те же 5-значные числа, что вы получаете в SPSS. * rlevesque@videotron.ca. *Чтобы конвертировать 5-значные числа в даты SPSS, попробуйте следующее:. DATA LIST LIST /var1(F8.0) var2(A6). BEGIN DATA 1 "1" 36604 "36604" 25000 "25000" END DATA. LIST. COMPUTE date1=date.dmy(1,1,1900)+ (var1-2)*60*60*24. COMPUTE date2=date.dmy(1,1,1900)+ (NUMBER(var2,F8.0)-2)*60*60*24. FORMATS date1 date2 (ADATE12). LIST. * Вы можете видеть, что датой, соответствующей значению 1, является не 01.01.1900, а * 31.12.1899. Это происходит потому, что мы вынуждены предварительно вычитать из числовой * переменной двойку, чтобы "поправить" Excel, который ошибочно считает * 1900-й год високосным. Таким образом, приведённый алгоритм будет "неправильно" считать даты с 01.01.1990 по 01.03.1990. Зато потом всё будет верно! - А.Б. *здесь var1 - это переменная, которая содержит 5-значные числа, которые вы получаете из Excel. ************************************************************************. * если вам требуется, чтобы дата была в строковой переменной, делаете следующее:. STRING z(A11). COMPUTE z=STRING(date2,ADATE11). |
Related pages
...