Съдържание
В урока е обяснено как да използвате функциите на Excel за преобразуване на текст в дата и на число в дата, както и как да превръщате текстови низове в дати по начин, който не е свързан с формулата. Ще научите и как бързо да променяте формат на число в дата.
Тъй като Excel не е единственото приложение, с което работите, понякога ви се налага да работите с дати, импортирани в работен лист на Excel от файл .csv или друг външен източник. Когато това се случи, има вероятност датите да бъдат експортирани като текстови записи. Въпреки че изглеждат като дати, Excel няма да ги разпознае като такива.
Съществуват много начини за преобразуване на текст в дата в Excel и този урок има за цел да обхване всички тях, така че да можете да изберете техниката за преобразуване на текст в дата, която е най-подходяща за вашия формат на данните и за предпочитанията ви за начин с формула или без формула.
Как да различаваме нормалните дати в Excel от "текстовите дати"
При импортиране на данни в Excel често възниква проблем с форматирането на датите. Импортираните записи може да изглеждат като нормални дати в Excel, но не се държат като дати. Microsoft Excel третира такива записи като текст, което означава, че не можете да сортирате правилно таблицата си по дата, нито да използвате тези "текстови дати" във формули, PivotTables, диаграми или друг инструмент на Excel, който разпознава дати.
Съществуват няколко признака, които могат да ви помогнат да определите дали даден запис е дата или текстова стойност.
Дати | Текстови стойности |
|
|
Как да конвертирате число в дата в Excel
Тъй като всички функции на Excel, които променят текст в дата, връщат число като резултат, нека първо разгледаме по-отблизо преобразуването на числа в дати.
Както вероятно знаете, Excel съхранява датите и часовете като серийни номера и само форматирането на клетката налага дадено число да се показва като дата. Например 1 януари 1900 г. се съхранява като номер 1, 2 януари 1900 г. се съхранява като 2, а 1 януари 2015 г. се съхранява като 42005. За повече информация относно това как Excel съхранява датите и часовете, моля, вижте Excel date format (формат на датата).
Когато изчислявате дати в Excel, резултатът, връщан от различните функции за дата, често е поредно число, представляващо дата. Например, ако =TODAY()+7 връща число като 44286 вместо датата, която е 7 дни след днешния ден, това не означава, че формулата е грешна. Просто форматът на клетката е зададен на Обща информация или Текст докато трябва да бъде Дата .
За да превърнете такъв сериен номер в дата, трябва само да промените формата на номера на клетката. За целта просто изберете Дата в Формат на числата в полето Начало таб.
За да приложите формат, различен от този по подразбиране, изберете клетките със серийни номера и натиснете Ctrl+1, за да отворите Форматиране на клетките диалогов прозорец. В Номер таб, изберете Дата , изберете желания формат на датата под Тип и щракнете върху OK.
Да, толкова е лесно! Ако искате нещо по-сложно от предварително зададените формати на дати в Excel, вижте как да създадете потребителски формат на дата в Excel.
Ако някое упорито число отказва да се промени на дата, проверете в Excel date format not working - troubleshooting tips.
Как да конвертирате 8-цифрено число в дата в Excel
Това е много често срещана ситуация, когато датата е въведена като 8-цифрено число, например 10032016, и трябва да я преобразувате в стойност на дата, която Excel може да разпознае (10/03/2016). В този случай простото променяне на формата на клетката на Дата няма да свърши работа - ще получите ########## като резултат.
За да преобразувате такова число в дата, ще трябва да използвате функцията DATE в комбинация с функциите RIGHT, LEFT и MID. За съжаление не е възможно да се направи универсална формула, която да работи при всички сценарии, тъй като първоначалното число може да бъде въведено в различни формати. Например
Номер | Формат | Дата |
10032016 | ддммйййййй | 10 март 2016 г. |
20160310 | yyyymmdd | |
20161003 | yyyyddmm |
Все пак ще се опитам да обясня общия подход за преобразуване на такива числа в дати и ще дам няколко примера за формули.
Като начало запомнете реда на аргументите на функцията Excel Date:
DATE(година, месец, ден)Затова трябва да извлечете година, месец и дата от оригиналното число и да ги предоставите като съответните аргументи на функцията Date.
Например нека видим как можете да преобразувате числото 10032016 (записано в клетка A1) в дата 3/10/2016.
- Извлечете година Това са последните 4 цифри, затова използваме функцията RIGHT, за да изберем последните 4 символа: RIGHT(A1, 4).
- Извлечете месец Това са 3-та и 4-та цифра, така че използваме функцията MID, за да ги получим MID(A1, 3, 2). Където 3 (втори аргумент) е началното число, а 2 (трети аргумент) е броят на символите за извличане.
- Извлечете ден Това са първите две цифри, така че имаме функцията LEFT, която връща първите два символа: LEFT(A2,2).
Накрая вградете горните съставки във функцията Date и ще получите формула за преобразуване на число в дата в Excel:
=DATE(RIGHT(A1,4), MID(A1,3,2), LEFT(A1,2))
Следващата снимка на екрана демонстрира тази и още няколко формули в действие:
Моля, обърнете внимание на последната формула в горната снимка (ред 6). Оригиналното число-дата (161003) съдържа само 2 символа, представляващи година (16). Така че, за да получим годината 2016, конкатенираме 20 и 16, като използваме следната формула: 20&LEFT(A6,2). Ако не направите това, функцията Date ще върне 1916 по подразбиране, което е малко странно, сякаш Microsoft все още живее в 20-ти век :)
Забележка. Формулите, показани в този пример, работят правилно, ако всички числа искате да превърнете в дати, следвайте същия модел .
Как да конвертирате текст в дата в Excel
Когато забележите текстови дати във вашия файл на Excel, най-вероятно ще искате да конвертирате тези текстови низове в нормални дати на Excel, за да можете да се позовавате на тях във формулите си за извършване на различни изчисления. И както често се случва в Excel, има няколко начина да се справите с тази задача.
Функцията DATEVALUE на Excel - промяна на текст в дата
Сайтът DATEVALUE функцията в Excel преобразува дата в текстов формат в сериен номер, който Excel разпознава като дата.
Синтаксисът на функцията DATEVALUE на Excel е много прост:
DATEVALUE(date_text) Така че формулата за преобразуване на текстова стойност в дата е проста. =DATEVALUE(A1)
, където A1 е клетка с дата, записана като текстов низ.
Тъй като функцията DATEVALUE на Excel преобразува текстова дата в серийно число, ще трябва да направите така, че това число да изглежда като дата, като приложите формата Date към него, както обсъдихме преди малко.
Следващите снимки на екрана демонстрират няколко Excel DATEVALUE формули в действие:
Функция DATEVALUE на Excel - неща, които трябва да запомните
Когато преобразувате текстов низ в дата с помощта на функцията DATEVALUE, имайте предвид, че:
- Информацията за времето в текстовите низове се игнорира, както можете да видите в редове 6 и 8 по-горе. За да конвертирате текстови стойности, съдържащи както дати, така и времена, използвайте функцията VALUE.
- Ако годината е пропусната в текстова дата, DATEVALUE на Excel ще избере текущата година от системния часовник на компютъра ви, както е показано в ред 4 по-горе.
- Тъй като Microsoft Excel съхранява дати от 1 януари 1900 г. , използването на функцията Excel DATEVALUE за по-ранни дати ще доведе до грешка #VALUE!
- Функцията DATEVALUE не може да преобразува числова стойност в дата, нито пък да обработва текстов низ, който прилича на число - за целта трябва да използвате функцията VALUE на Excel и точно това ще разгледаме по-нататък.
Функция Excel VALUE - преобразуване на текстов низ в дата
В сравнение с DATEVALUE функцията Excel VALUE е по-универсална. Тя може да преобразува всеки текстов низ, който прилича на дата или число, в число, което лесно можете да промените в избран от вас формат на дата.
Синтаксисът на функцията VALUE е следният:
VALUE(текст) Къде: текст
е текстов низ или препратка към клетка, съдържаща текста, който искате да преобразувате в число.
Функцията VALUE на Excel може да обработва както дата и час , последният се преобразува в десетична част, както можете да видите в ред 6 на следващата екранна снимка:
Математически операции за преобразуване на текст в дати
Освен използването на специфични функции на Excel, като VALUE и DATEVALUE, можете да извършите проста математическа операция, за да накарате Excel да извърши преобразуване на текст към дата вместо вас. Необходимото условие е операцията не трябва да промяна на стойността на датата (сериен номер). Звучи ви малко сложно? Следващите примери ще ви улеснят!
Ако приемем, че текстовата дата се намира в клетка А1, можете да използвате някоя от следните формули и след това да приложите формата Date към клетката:
- Допълнение:
=A1 + 0
- Умножение:
=A1 * 1
- Подразделение:
=A1 / 1
- Двойно отрицание:
=--A1
Както можете да видите на горната екранна снимка, математическите операции могат да преобразуват дати (редове 2 и 4), времена (ред 6), както и числа, форматирани като текст (ред 8). Понякога резултатът дори се показва автоматично като дата и не е необходимо да се притеснявате за промяна на формата на клетката.
Как да конвертирате текстови низове с потребителски разделители в дати
Ако текстовите ви дати съдържат разделител, различен от наклонена черта (/) или тире (-), функциите на Excel няма да могат да ги разпознаят като дати и ще върнат грешката #VALUE!.
За да поправите това, можете да стартирате функцията на Excel Намиране и заместване да замените разделителя с наклонена черта (/) с еднократна намеса:
- Изберете всички текстови низове, които искате да конвертирате в дати.
- Натиснете Ctrl+H, за да отворите Намиране и заместване диалогов прозорец.
- Въведете потребителския разделител (точка в този пример) в полето Открийте какво и наклонена черта в полето Заменете с
- Щракнете върху Замяна на всички
Сега функцията DATEVALUE или VALUE не би трябвало да има проблем с преобразуването на текстовите низове в дати. По същия начин можете да фиксирате дати, съдържащи друг разделител, например интервал или обратна наклонена черта.
Ако предпочитате решение с формула, можете да използвате функцията SUBSTITUTE на Excel вместо Замяна на всички за да смените разделителите с наклонени черти.
Ако приемем, че текстовите низове са в колона А, формулата SUBSTITUTE може да изглежда по следния начин:
=SUBSTITUTE(A1, ".", "/")
Където A1 е текстова дата, а "." е разделителят, с който се разделят низовете.
Сега нека вградим тази функция SUBSTITUTE във формулата VALUE:
=СТОЙНОСТ(SUBSTITUTE(A1, ".", "/"))
И превърнете текстовите низове в дати с помощта на една формула.
Както виждате, функциите DATEVALUE и VALUE на Excel са доста мощни, но и двете имат своите ограничения. Например, ако се опитвате да конвертирате сложни текстови низове като Четвъртък, 01 януари 2015 г, нито една от функциите не може да помогне. За щастие има решение, което не е свързано с формулата и може да се справи с тази задача, а в следващия раздел са обяснени подробните стъпки.
Съветник за преобразуване на текст в колони - начин без формули за преобразуване на текст в дата
Ако не използвате формули, отдавнашната функция на Excel, наречена Текст към колони Той може да се справи с прости текстови дати, показани в Пример 1, както и с многокомпонентни текстови низове, показани в Пример 2.
Пример 1. Преобразуване на прости текстови низове в дати
Ако текстовите низове, които искате да конвертирате в дати, изглеждат по някой от следните начини:
- 1.1.2015
- 1.2015
- 01 01 2015
- 2015/1/1
Не са ви необходими формули, нито експортиране или импортиране на каквото и да е. Необходими са само 5 бързи стъпки.
В този пример ще преобразуваме текстови низове като 01 01 2015 (ден, месец и година са разделени с интервали) в дати.
- В работния лист на Excel изберете колона с текстови записи, които искате да конвертирате в дати.
- Преминете към Данни таб, Инструменти за данни и щракнете върху Текст към колони.
В този пример конвертираме текстовите дати, форматирани като "01 02 2015" (месец ден година), така че избираме MDY от падащото поле.
Сега Excel разпознава вашите текстови низове като дати, автоматично ги преобразува във формат за дата по подразбиране и ги показва подравнени надясно в клетките. Можете да промените формата на датата по обичайния начин чрез бутона Форматиране на клетките диалог.
Забележка. За Текст към колона за да работи правилно, всички текстови низове трябва да бъдат форматирани еднакво. например, ако някои от записите са форматирани по следния начин ден/месец/година формат, докато други са месец/ден/година , ще получите неверни резултати.
Пример 2. Преобразуване на сложни текстови низове в дати
Ако датите ви са представени с многокомпонентни текстови низове, като например:
- четвъртък, 01 януари 2015 г.
- януари 01, 2015 3 PM
Ще трябва да положите малко повече усилия и да използвате едновременно Текст към колони съветник и функцията DATE на Excel.
- Изберете всички текстови низове, които да бъдат преобразувани в дати.
- Щракнете върху Текст към колони на бутона Данни таб, Инструменти за данни група.
- На стъпка 1 от Съветник за конвертиране на текст в колони , изберете Ограничени и щракнете върху Следваща .
- На стъпка 2 от съветника изберете разделителите, които съдържат текстовите низове.
Например, ако конвертирате низове, разделени със запетаи и интервали, като " четвъртък, 01 януари 2015 г." , трябва да изберете и двата разделителя - запетая и интервал.
Също така е целесъобразно да изберете " Третиране на последователни разделители като един ", за да игнорирате допълнителните интервали, ако данните ви съдържат такива.
И накрая, разгледайте Преглед на данните и проверете дали текстовите низове са разделени правилно на колони, след което щракнете върху Следваща .
- На стъпка 3 от съветника се уверете, че всички колони в раздела Data Preview имат Обща информация Ако това не се случи, щракнете върху колона и изберете Обща информация под Формат на данните на колоната опции.
Забележка. Не избирайте Дата формат за която и да е колона, тъй като всяка колона съдържа само един компонент, така че Excel няма да може да разбере, че това е дата.
Ако нямате нужда от някоя колона, щракнете върху нея и изберете Не импортирайте колоната (пропуснете).
Ако не искате да презаписвате оригиналните данни, посочете къде да бъдат вмъкнати колоните - въведете адреса на горната лява клетка в полето Дестинация област.
Когато приключите, щракнете върху Завършете бутон.
Както виждате на снимката по-горе, пропускаме първата колона с дните от седмицата, като разделяме другите данни на 3 колони (в Обща информация формат) и вмъкване на тези колони, като се започне от клетка C2.
Следващата снимка на екрана показва резултата с оригиналните данни в колона A и разделените данни в колони C, D и E.
- Накрая трябва да комбинирате частите на датата заедно, като използвате формулата DATE. Синтаксисът на функцията DATE на Excel е разбираем: DATE(година, месец, ден)
В нашия случай,
година
е в колона E иден
е в колона D, няма проблем с тях.Това не е толкова лесно с
месец
за щастие, Microsoft Excel предлага специална функция MONTH, която може да промени името на месеца в число на месеца:=MONTH(serial_number)
За да може функцията MONTH да разбере, че работи с дата, я въвеждаме по следния начин:
=MONTH(1&C2)
Където C2 съдържа името на месеца, януари в нашия случай се добавя "1&", за да се конкатенира дата ( 1 януари) за да може функцията MONTH да го преобразува в съответното число на месеца.
А сега нека вградим функцията MONTH в
месец
; аргумент на нашата формула DATE:=DATE(F2,MONTH(1&D2),E2)
И ето, че нашите сложни текстови низове са успешно преобразувани в дати:
Бързо преобразуване на текстови дати с помощта на Paste Special
За бързо преобразуване на набор от прости текстови низове в дати можете да използвате следния трик.
- Копирайте всяка празна клетка (изберете я и натиснете Ctrl + C ).
- Изберете диапазона с текстови стойности, които искате да конвертирате в дати.
- Кликнете с десния бутон на мишката върху селекцията, щракнете върху Специално поставяне , и изберете Добавяне на в Специално поставяне диалогов прозорец:
Това, което току-що направихте, е да кажете на Excel да добави нула (празна клетка) към вашите текстови дати. За да може да направи това, Excel преобразува текстовия низ в число и тъй като добавянето на нула не променя стойността, получавате точно това, което сте искали - поредния номер на датата. Както обикновено, променяте числото във формат на дата, като използвате Форматиране на клетките диалог.
За да научите повече за функцията Paste Special, вижте Как да използваме Paste Special в Excel.
Поправяне на текстови дати с двуцифрени години
Съвременните версии на Microsoft Excel са достатъчно интелигентни, за да забележат някои очевидни грешки в данните ви, или по-добре казано, това, което Excel счита за грешка. Когато това се случи, ще видите индикатор за грешка (малък зелен триъгълник) в горния ляв ъгъл на клетката, а когато изберете клетката, ще се появи възклицателен знак:
Щракването върху възклицателния знак ще покаже няколко опции, свързани с вашите данни. В случай на двуцифрена година Excel ще ви попита дали искате да я преобразувате в 19XX или 20XX.
Ако имате множество записи от този тип, можете да ги поправите с един замах - изберете всички клетки с грешки, след което щракнете върху възклицателния знак и изберете съответната опция.
Как да включите проверката за грешки в Excel
Обикновено проверката на грешки е разрешена в Excel по подразбиране. За да се уверите, щракнете върху Файл > Опции > Формули , превъртете надолу до Проверка на грешки и проверете дали следните опции са маркирани:
- Активиране на фоновата проверка на грешки под Проверка на грешки ;
- Клетки, съдържащи години, представени като 2 цифри под Правила за проверка на грешки .
Как да промените текста в дата в Excel по лесен начин
Както виждате, преобразуването на текст в дата в Excel далеч не е тривиална операция с едно щракване. Ако сте объркани от всички различни случаи на употреба и формули, нека ви покажа един бърз и лесен начин.
Инсталирайте нашия Ultimate Suite (безплатна пробна версия може да изтеглите от тук), преминете към Инструменти на Ablebits (в Excel ще бъдат добавени 2 нови раздела, съдържащи над 70 страхотни инструмента!) и намерете Текст към дата бутон:
За да преобразувате текстови дати в нормални дати, трябва да направите следното:
- Изберете клетките с текстови низове и щракнете върху Текст към дата бутон.
- Посочете ред на датите (дни, месеци и години) в избраните клетки.
- Изберете дали да включите или да не включите време в конвертираните дати.
- Кликнете върху Превръщане .
Това е! Резултатите от преобразуването ще се появят в съседната колона, като изходните ви данни ще бъдат запазени. Ако нещо се обърка, можете просто да изтриете резултатите и да опитате отново с друг ред на датите.
Съвет. Ако сте избрали да конвертирате времена, както и дати, но в резултатите липсват единиците за време, не забравяйте да приложите формат на числото, който показва както стойностите на датата, така и на времето. За повече информация вижте Как да създаваме персонализирани формати за дата и час.
Ако сте любопитни да научите повече за този чудесен инструмент, моля, разгледайте началната му страница: Text to Date for Excel.
Ето как конвертирате текст в дата в Excel и променяте дати в текст. Надявам се, че сте успели да намерите техника, която ви допада. В следващата статия ще се заемем с обратната задача и ще разгледаме различни начини за конвертиране на дати в Excel в текстови низове. Благодаря ви за четенето и се надявам да се видим следващата седмица.