Защо има проблем с преобразуването на датите?
Здравейте, не знам дали обърнахте внимание, но в показания в урока пример има грешно преобразуване на датите. Така например 06 November 2015 се е трансформирал в 11 June 2015, 05 January 2015 в 01 May 2015 и т. н. Фактически всички първоначални дати са се трансформирали неправилно в колона Date. Това може да доведе до колосални грешки, особено, когато се предоверяваме на софтуера и по презумпция не го проверяваме. Моля, за Вашият коментар по темата...
... По въпроса със заместването на знака "/" с "." – след като изпробвах различни методи, които не водеха до резултат, като този показан на сн.1
Най-накрая реших да заместя всички знака "/" с "." чрез Намиране и Заместване. За съжаление, проблемите не свършиха, защото не успях да вмъкна обобщена таблица.
Ще се радвам да получа съвет от знаещите! :)
проблемът с датите не мога да разбера какъв е от картинките. Ако имам файл ще е по-лесно. Но Обобщена (pivot) таблица не се получава, защото колони J и K нямат наименование (клетки J1 и K1 са празни).
Благодаря Кочо, получи се! Както казват, голямата картина е в детайлите, а това с много голяма сила важи за Excel. Очаквам някой да изкаже компетентно мнение и по първия казус, още повече, че той касае пряко обучителното видео.
Защо след като 06 November 2015 е число, се е превърнал в 11 June 2015? И обратното – защо след като 03/20/2015 не е число, а текст си е останал 20 May 2015? Защо Datevaleu не превръща датата, въведена като текст в екселска дата, така както бе показано в урока “Числа в Excel”?
А може ли да покажеш формулите в колони L и M? Трудно е да се отговори какъв е проблемът без да се видят формулите
Росица прегледай, тези настройки тук:
Ето какво да правите, ако Excel ви обръща числата в дата
Ще ти даде обяснение за десетичния разделител в Excel.
Кочо, в колона L формулата е: =DATEVALUE(J), а в колона М е: =DATEVALUE(I)
Към инж. Кръстев: в случая питането ми не е за регионалните настройки на Windows и Excel, а за това, което е показано във видеото. Ще повторя въпроса: защо след като 06 November 2015 е число, ( и би трябвало да е вярната дата) се е превърнал в 11 June 2015? И обратното – защо след като 03/20/2015 не е число, а текст ( и би трябвало да грешната дата ) си е останал 20 May 2015? Коя от двете дати - 06 November 2015 или 03/20/2015 е вярната в крайна сметка? Ако съдим по резултатите от видеото, това е 03/20/2015, защото тя си е останала същата, НО 03/20/2015 е форматирано като текст. Тогава как да сме сигурни, че това е правилната дата и не допускаме грешка? И защо Datevalue не превръща датата, въведена като текст в екселска дата, така както бе показано в урока “Числа в Excel”?
Здравей, Росица.
Грешката е моя, носочих те попринцип не напразно към регионалите настройки, но трябваше да дам по-конктретен отговор, защото наистина урока създава лека заблуда.
Преподавателят е допуснал нещо като умишлена техническа грешка, затова резултатите не съвпадат.
Обърнете внимание на записа в колона I той е в следната последователност :
МЕСЕЦ / ДЕН / ГОДИНА, формата който изпозлват САЩ, ако получите документ от там следва да имате казуса разгледан в урока, Освен ако регионалните ви настройки не са USA.
В 80 % от типичните регионални настройки, формата за дата е : ДЕН / МЕСЕЦ / ГОДИНА, което би превърнало един Date - a запис от вида 06/11/2017 в 06.Ноември.2017, ако обаче е записано 06/29/2017 съответно дори и да се зададе формат дата, следва че няма как да имаме 29 месец и съответно Excel няма да ни даде дата.
И тук става интересното, записа на дати очевидно е в порядък МЕСЕЦ / ДЕН / ГОДИНА ако сменим регионални настройки за начина по който се записва датата, следва в колона I всички дати да се превърнат в дати, без проблем. Но ние не искаме това т..к. в е прието записа да е първо с Деня след това месеца, след това годината. т.е. в колона I макар да получаваме запис 06.Ноември.2017 той е грешен поради факта че поглеждайки към другите дати, ясно се вижда и формата на датите от цялата съвкупност от данни.
Именно поради този запис в урока се прави text to column, след което се прави така, че числата се взимат в правилната последователнсот и благодарение на функцията =DATE() правим всички дати в правилни формат. И сега в колона О вместо грешната дата 06.Ноември.2017 която е плод на друг начин на форматиране (МЕСЕЦ / ДЕН / ГОДИНА) ние получаваме релната дата която 11.06.2017 или 11.Юни.2017, 11 - беше месец Ноември , а 6 беше деня в "грешно" форматираната дата.
И едно вмъкване урока от снимката е :* "Датите не са това, което са"*
Благодаря на инж. Кръстев за бързия и изчерпателен отговор! Ако позволите ще направя следното резюме (по процедура): Приемаме, че сме получили файл от човек, който е с регионални настройки USA, а ние сме с BG и това е довело до гореописаното изписване на датите. Изниква въпросът: кои са реалните дати? Правим проверка с „Дали е число? Или Дали е текст?“ и какво разбираме? – че числата са грешно въведена дата, а реалните дати са представени под формата на текст (така както е показано във видеото на урока „Датите не са това, което са“. От тук следва резонния въпрос: дали и защо да проверяваме дали стойността е текст или цифра, след като ни връща резултат, който би могъл да ни заблуди и да приемем нещо за вярно, а то да не е това, което си мислим. И защо да не си направим директно разпределение на числата в колони по мес./дата/год.? И още нещо: когато прехвърляме числата в колони, виждаме, че числата се разпределят в колони чрез сепаратора „/“ и/или „.“, след което ние ги кръщаваме като мес. ден и год. Казано с други думи, разделяме числата от датата в отделни колони. 06/11/2017 06 I 11 I 2017 03/20/2015 03 I 20 I 2015 И след това даваме собствена интерпретация на това, кое е мес. ден и год. А какво правим, ако числото е напр. 16/11/2017 и Excel няма да ни върне дата, защото такъв мес. не съществува?
Защо Datevalue не превръща датата, въведена като текст в екселска дата, така както бе показано в урока “Числа в Excel”?
Да, разбирам.
Ами първото, което бих направил е да видя формата на датите, от към формат Ден, Месец, Година .Лесно може да разбереш какъв е точния стил, като обърнеш вниение на общатата съвкупност от дати. Ако са USA стил, то моментално следва че всички стойности който са от вид: 05/20/2015 следва със сигурност че това не е дата, щом не е дата означава моментално че не е число. Тук със сигурност моят Excel ще разбере записа като текст
Другите записи обаче са от вида - 11/05/2015 - могат да са текст, мога и да са дата, дали са дата (или число=дата) или не, тук вече идва ролята на десетичния разделител и регионалните настройки по отношение на десетичния разделител и самото форматиране - Това вече е обаснено тук Ето какво да правите, ако Excel ви обръща числата в дата в темата която ти описах по-горе.Т.е. аз мога да запиша 11/05/2015 но формата разделител да ми е точка 11.05.2015 и съответно 11/05/2015 да си остане текст, НО може да имам 11/05/2015 с настроен рзделител / , обаче да съм форматирал записката клетката като Text и съответно пак си ще е текст, А не дата
Здравейте инж. Кръстев, предизвикахте любопитството ми с тези регионални настройки и реших да видя как стоят нещата. :)
Това се получи с Win10 и Excel 2010 със системен разделител (.)
Вариант US
Вариант BG
Датите не се промениха, въпреки очакванията ми и си останаха 18-11-2017г. Ако обаче следвам логиката на видеото, крайната дата би била друга. Очаквам мнението Ви, дали греша и ако е така – къде?
Благодаря! :)
Искам да поясня, че Вариант BG e същият файл, в който първоначално сме въвели датите в съответствие с регионалните настройки в US, запаметили сме го, сменили сме регионалните настройки с BG и едва след това сме го отворили повторно. Подозирам, че този казус се предизвиква от усъвършенстван алгоритъм в Excel или може би във Window 10. :) Каквато и да е причината и обяснението обаче, за да сме сигурни, че сме точни и изрядни, би трябвало да тестваме Excel в този случай...или за всеки (друг ;) ) случай. :)