Jump to content

Ръководства за работа с Excel 2003


Препоръчан пост

Здравей kiskin, радвам се, че съм ти бил полезен!

За функцията DATEDIF

Функцията DATEDIF (не се разглежда в документацията на повечето версии на Excel) изчислява промеждутъка от време между две дати, който по желание на потрбителя може да бъде изразен в пълни години, пълни месеци или дни. Например с помощта на тази функция е удобно да се изчисли възрастта на човек. За да се изчисли възрастта в години, в клетка A1 въведете датата на раждане, а в клетка B1 въведете следната формула:

=DATEDIF(A1,NOW(),"y")

 

Описание на формулата DATEDIF

=DATEDIF(начална_дата,крайна_дата,"параметър")

параметър = "y" - пълни години

параметър = "ym" - пълни месеци

параметър = "md" - пълни дни

 

Ако при използване на функцията DATEDIF се появи грешка от вида #NUM! необходимо е да се смени местата на датите, но все пак това зависи от логиката на подреждане на датите!

 

Не, това не е макрос, функция е, като всички останали, но не знам защо Microsoft не я показват в списъка с използваните функции, но иначе в хелпа на някои версии на Excel я има описана.

Link to comment
Сподели другаде

  • Отговори 1.5k
  • Създадена
  • Последен отговор

ТОП потребители в тази тема

ТОП потребители в тази тема

Публикувани изображения

Чак сега ми остана време да ти отговоря. Реално има няколко начина за сортиране на данни в такъв вид.

Здравей,

 

Ще изпратя файла като л.с.

Между временно аз открих как става това съвсем случайно. Поместил съм го в колона Е, на файла, който съм ви пратил. Вижда се малката разлика в разместване на дни с месеци, но това не пречи.

Все пак остава интереса ми към предложените два варианта в постинга. До колкото разбирам моя случай, ще е втория посочен вариант.

Предполагам, че функцията ви има малка гр. грешка Date, wmesto Data?, но тя изисква определяне на ден, месец и година, а това без да ги разделя как ще стане?

Може би не схващам и се нуждая от по-подробно обяснение.

Между временно може ли да ме подсетите, как в две колони с еднакви данни да приложа функция за проверка на идентичността – да няма грешки/ разлики във втората колона?

Както и да е, изпращам файл на който в колона C, съм посочил как точно да изглежда, а в колона Е, какво решение съм намерил.

Много благодаря за вниманието.

 

П.С. с офис 2003 съм.

 

 

Tragedy,

 

Не можах да прикрепя файла към л.с. затова тук го помествам.

 

Още веднъж благодаря.

Sort_Date_Ascending.zip

 

Май трябва да обеся достачика си на на интернет :)

Link to comment
Сподели другаде

Здравей t34! Извинявам се, че се намесвам в кореспонденцията ти с Tragedy в сортирането на дати. Ако може само да изразя едно мнение. Разгледах твоя файл и ми направи впечатление, че датите в колона А и С са въведени в различен формат: 03.06.2007 и 6/3/2007, т.е. форматите са смесени. 03.06.2007 означава 03 Юни 2007 г., а 6/3/2007 означава Юни 03 2007 г. Kогато се опитах да сортирам колони А и С получавам съобщение, че някои числа са форматирани като текст и Ексел предлага "да подреди числата, форматирани като числа и числата, форматирани като текст разделно". Важно е да бъде избран в Есел формат на въведените дати такъв какъвто е избран в Regional and Language Options на Control Panel. Ако това е интересно за теб и може да ти помогне мога да обясня по-подробно.
Link to comment
Сподели другаде

Здравей harhal, благодаря ти за изчерпателната информация!

Опитах с формулата =DATEDIF(A1,NOW(),"y") и ми дава #NAME?.

Ползвам Windows XP и Office 2007 на BG.

Можеш ли да помогнеш?

Link to comment
Сподели другаде

Здравей harhal,

 

Няма проблем за намесване в кореспонденция. Ще ми бъде интересно да науча нещо повече за Exel и Regional and Language Options.

В крайна сметка не е важно каква е котка, бяла или черна, а дали лови мишки :lookaround:

Ако прецениш (пр.голямо е като обем) дори може да ми го пратиш на имейл-а.

Довечера ще го прочета.

 

Приятен ден.

Link to comment
Сподели другаде

Здравейте, искам да попитам възможно ли е да се поставят линкове в Ексел. Примерно в клетката да пише "паспортни данни" и като кликнеш на нея да те прехвърля на съответната информация. Или "писма" - съответно да те отвежда в списък с писма (които също да са линкове към уърдовски файл или пдф).

Ако не може да се направи с Ексел това, с коя програма може?

Link to comment
Сподели другаде

Здравей kiskin, използването на NOW() дава резултат в следния формат 10.04.2007 18:21, но това не е причина за грешката при теб. Най-вероятната причина е, че клетката А1 е форматирана като текст или "у" е написано на кирилица. При мен предложения от теб вариант работи нормално. Сега за грешката от типа #NAME? - тя се появява когато Ексел не може да разпознае текста във формулата.
Link to comment
Сподели другаде

Здравей t34, Ексел е чувствителен към формата на датата, която въвеждаме. Когато въведем дата във формат какъвто ние искаме (в България е възприет формат dd.mm.gggg, например 01.04.2008 г. което е 01 април 2008 г., в Америка и Англия предпочитат формат на датите mm/dd/gggg, например 04/01/2008 което е Април 01 2008 г.) не е сигурно, че Ексел ще разбере правилно какво искаме да му кажем и от там ние се чудим защо връща резултат, какъвто не очакваме, или получаваме грешки във функциите, които работят с дати.

Извинявай за това лирично отклонение, минавам към връзката на Ексел и Regional and Language Options.

В Control Panel се намира аплета Regional and Language Options, в таба Regional Options на който можем да укажем Standarts and Formats, като въведем от падащ списък наш (Bulgarian) формат за:

Number (числа)

Currency (валута)

Time (време)

Short date (къс формат на датата)

Long date (дълъг формат на датата)

С бутона Customize може да се донастройват още неща от посочените по-горе.

Този избор се прави още при инсталирането на Windows XP. Ако се направи след инсталацията, може би ще е необходим инсталационния диск.

Ексел се собразява с това, което сме избрали в Regional and Language Options.

Като отворя твоя файл и кликна с десен бутон на мишката върху клетка с дата и избера Formar Cells... в полето Locale (location): стои English(United States).

Затова в предния пост ти писах, че Ексел счита определен формат на дата като текст и от там се получават грешки.

Как най-лесно да разбереш какъв формат на дата е разбираем от Ексел:

в една клетка въведи =TODAY() и ентер, виж какъв ще е резултата. Това, което виждаш Ексел ще го разбира като дата.

Ами това е, надявам се да съм бил полезен.

Link to comment
Сподели другаде

Здравей harhal,

 

Без съмнение беше полезен. Много благодаря за изчерпателиния отгоовр.

Да, спомням си че скоро правих определени промени в Regional and Language Options, но без тях определени програми не работят.

Забравил съм ги така тогава. Има няколко такива програми, които изискват тази примяна...

Но как да избягна тази ситуация за програмите, които не работят ако не си на English(United States)?

Допускам, че за датите, които ми правят беля ще трябва да провря клетките/полетата с Formar Cells и какво ще се появи в полето Locale, за да настроя на същото Regional and Language Options и тогава да мина към Ascending.

Нали това е отговора?

Link to comment
Сподели другаде

Здравей t34, да това е отговора, форматите в Regional and Language Options (Bulgarian) и този в Ексел в полето locale (Bulgarian) на Format Cells... да бъдат еднакви или (English (United States)) и правилно да се въвежда самата дата. Какво имам в предвид: след като сме настроили форматите и на двете места да са еднакви, например (Bulgarian) и въведем дата с формат 01.04.2008 т.е. 01 Април 2008 г. ще сме сигурни, че Ексел правилно ще разбере и обработва този формат. В противен случай възникват грешки. Същото се отнася за символите , и ; като разделители във формулите, и символите . и , при дрбните числа. Успехи!
Link to comment
Сподели другаде

Здравей harhal,

 

Много полезен съвет.

Явно трябва да се чете фундамента на ОС-ма и някой първостепенни приложения като Excel.

Останалите финтифлюшки само губят времето на човек.

Сигурно пак ще се обърна за съвет. но първо малко да се потрудя...

Още веднъж благодаря и приятна вечер.

Link to comment
Сподели другаде

Здравей kiskin, в момента нямам представа защо при копиране на кода в твоя файл, той не работи. Не съм работил с Office 2007, още по-малко с локализираната версия... ще напиша някои неща, които можеш да провериш.

1. Провери настройките за защитата в самия офис пакет и конкретно в Excel - възможно е да има зададено ограничение за изпълнението на макросите или нещо подобно;

2. Когато копираш кода, провери внимателно коя клетка е зададена като аргумент в него - по подразбиране е А1, но аз бях прикачил един файл с променен адрес на клетката; ако искаш, направо задай друг адрес за тази клетка - посочи адреса на клетка, която се вижда в работния лист и е свободна (възможно е адресацията в Office 2007 да е различна от тази в Office 2003|;

3. Опитай да съхраниш твоя документ като документ от предишна версия на офис пакета, вместо да използваш формата по подразбиране на Office 2007;

4. Опитай вместо да копираш кода от моя документ в твоя, да направиш обратното - копирай съдържанието на твоя документ в документа, където кодът работи.

Link to comment
Сподели другаде

Здравей panevdd!

1. Нямам никакво ограничение за макросите;

2. Клетката А1 е свободна, а за адресацията опитах с друг адрес и пак не работи;

3. И преди опитвах като го запомням като документ за Excel-97, но няма ефект;

4. Не мога да копирам моя документ в твоя, защото всички препратки от документа ще ме препрещат в моя файл(стойностите от отделните листи на моята работна книга ще са вързани с ноивата, а това обезмисля всичко).

Нищо друго не ми идва на ум :crosseyes1:

Помагай :lookaround:

Link to comment
Сподели другаде

Гост
Отговори на тази тема

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   Не можете да качите директно снимка. Качете или добавете изображението от линк (URL)

Loading...

×
×
  • Създай ново...