Страницы: 1 2 След.
RSS
Функция weeknum выдаёт неправильный результат
 
Здравствуйте,  
у меня такой вопрос: когда использую функцию номер недели неправильный (на 1 больше, чем в действительности). В каких настройках и что надо поменять, если я хочу исползовать именно эту функцию, а не те, которые описаны в разделе "Приёмы" ?  
Спасибо!
 
{quote}{login=Mafalda}{date=15.12.2011 02:06}{thema=Функция weeknum выдаёт неправильный результат}{post}  
... когда использую функцию номер недели неправильный (на 1 больше, чем в действительности). В каких настройках и что надо поменять...{/post}{/quote}  
Функция фунциклирует правильно, если ей правильно указали правильное направление... ;) Справка толкует, что в мире не все недели одинаковые... Например, для РФ (как и основной Европы) первая неделя года, эта та, в которой есть первый четверг года!!! Ока как!..  
-33297-
 
Вспомнилось-нашлось: "Система 2. Неделя, на которую приходится первый четверг года, считается первой неделей, и для нее возвращается число 1. Эта методика определена в стандарте ISO 8601, который широко используется в Европе для нумерации недель. И потому, при указании типа - числа, которое определяет, с какого дня начинается неделя (значение по умолчанию — 1) тип следует указывать так - "21" (двойка впереди - принадлежность к "Система 2")!!!"
 
Где указать "21" ? Просто дома формула работает правильно, а вот на работе - нет :(
 
А может пакет анализа нужно установить?
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Например, если указать сегодняшнюю дату - 15.12.2011 - это будет 50-ая неделя (по календарю), а если использовать weeknum, то выходит 51
 
Сервис -> Надстройки - > Пакет анализа (галочка - символ такой)
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Analysis Toolpak уже поставлен
 
=НОМНЕДЕЛИ("15.12.2011";2)
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Посмотрел в помощи - нет там ничего про четверги.  
1 или 2 - это с какого дня неделя начинается, с воскресенья или с понедельника.  
Даже не знаю... Отнимайте единицу :)
 
Игорь, привет. Тут посмотри:  
http://excel.blox.ua/2010/02/Opredelyaem-nomer-nedeli.html
Я сам - дурнее всякого примера! ...
 
Владимир, если ввести формулу, как Вы написали, выдаётся неправильный результат - 51, хотя сейчас 50-ая неделя. В конце формулы писала и 1, и 2, результат не меняется :))
 
И еще ссылка:  
http://office.microsoft.com/ru-ru/excel-help/HP010343016.aspx
Я сам - дурнее всякого примера! ...
 
Привет, Сергей!  
Вообще запутал :)  
Ну UDF то можно как угодно написать - вопрос ведь о готовой функции.  
Может быть это зависит от версии Экселя - у меня английский по русской локалью показывает  51 в обоих случаях.  
=WEEKNUM("15.12.2011";1)  
=WEEKNUM("15.12.2011";2)
 
У меня тоже:-) На русской локали. Ну пусть делает =WEEKNUM("15.12.2011";1)-1.
Я сам - дурнее всякого примера! ...
 
Function WeekOfDate(d As Date) As Integer  
 WeekOfDate = DateDiff("ww", DateSerial(Year(d), 1, 1), d, vbMonday)  
End Function
 
Ага, вот где про 21 написано.  
Но в WEEKNUM() никак 21 впихнуть не получается:  
так работает  
=WEEKNUM(DATE(2011;12;15);2)  
так не работает  
=WEEKNUM(DATE(2011;12;15);21)  
 
Может быть это только с НОМНЕДЕЛИ() работает?
 
Да вот именно, про макросы и другие формулы не идёт речь, у мена английская версия и выдаёт 51. Значит функция weeknum безнадёжна?
 
{quote}{login=Mafalda}{date=15.12.2011 03:06}{thema=}{post}Владимир, если ввести формулу, как Вы написали, выдаётся неправильный результат - 51, хотя сейчас 50-ая неделя. В конце формулы писала и 1, и 2, результат не меняется :)){/post}{/quote}  
 
Я не бухгалтер, но знаю, что в году 53 недели. А до НГ осталось чуть более 2-х недель. 53-2= значит сейчас 51-ая неделя.
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
{quote}{login=Владимир}{date=15.12.2011 03:29}{thema=Re: }{post}{quote}{login=Mafalda}{date=15.12.2011 03:06}{thema=}{post}{/post}{/quote}Я не бухгалтер, но знаю, что в году 53 недели. {/post}{/quote}А сколько недель в этом году? :-)
 
С НОМНЕДЕЛИ работает точно так же. При 21 выдает ошибку. Гы:-) А в 10 сработало!
Я сам - дурнее всякого примера! ...
 
У мена календарь на столе - в этом году 52 недели!!! и сейчас 50-ая. Я в Латвии, но не думаю, что к-во недель отличается :))
 
У меня SonyEriccson показывает, что сегодня 50-я неделя :)  
Хоть и я тоже в Латвии :)  
Кстати, некоторые телефоны врут в этом вопросе - сталкивался...
 
{quote}{login=Mafalda}{date=15.12.2011 03:34}{thema=}{post}У мена календарь на столе - в этом году 52 недели!!! и сейчас 50-ая. Я в Латвии, но не думаю, что к-во недель отличается :)){/post}{/quote}У меня календарь на стене. Российский, но тоже в году 52 недели :-)
 
У мена тоже Sony Ericsson и тоже показывает, что сейчас 50ая неделя :D. Делаем вывод, что weeknum v Excel 2003 работает неверно?
 
Ericsson :)  
 
Отнимать единицу логически неправильно.  
Думаю, нужно определять неделю первых дней января анализируемого года (каких?) и её отнимать, если она =1.  
Но как это правильно сделать?
 
Просим Юрия выслать календарь со стены и считаем на абаке. Результат аккуратно помещаем в ячейку. Чем вам лишняя неделя мешает? Больше заплатят:-)
Я сам - дурнее всякого примера! ...
 
=WEEKNUM(A1,2)-(WEEKDAY(DATE(YEAR(A1),1,1),2)>4)  
=НОМНЕДЕЛИ(A1;2)-(ДЕНЬНЕД(ДАТА(ГОД(A1);1;1);2)>4)
 
С серединой декабря (и года) такой вариант вроде как работает - ошибку не поймал.  
А вот с началом января и концом декабря косяк :(
 
Если бы в году было 364 дня, то было бы 52 недели. И каждый год начинался бы с понедельника, и так было бы вечно. Ну, если вы не живёте в Вентспилсе.
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
Страницы: 1 2 След.
Читают тему
Наверх