Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Какой по счёту это день этого года? - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Какой по счёту это день этого года?
Юрий_Ф Дата: Вторник, 03.01.2023, 21:43 | Сообщение № 1
Группа: Проверенные
Ранг: Ветеран
Сообщений: 841
Репутация: 5 ±
Замечаний: 60% ±

Excel 2010
Господа! Это новогодняя задачка, вероятно, простая для знатоков.

Но что-то у меня не выходит!
Пытаюсь получить результат для 3 января: 3й день этого года; завтра: 4й день этого года, потом: 5й день этого года и т.д.
Но чтобы вычислить номер этого дня, я для начала пытался получить количество дней до конца года по формуле:
Код
=РАЗНДАТ((ДАТА(ГОД(СЕГОДНЯ());12;31));СЕГОДНЯ();"d")

А в результате получаю сообщение системы: #ЧИСЛО! Хотя для дня рождения, к примеру, 9.02.1998 аналогичная формула работает и даёт результат:
9094й день жизни!

Пожалуйста, помогите разобраться! :o


То, что мы делаем, завораживает!
Кстати! Я не могу всем нравиться! И это взаимно!


Сообщение отредактировал Юрий_Ф - Вторник, 03.01.2023, 21:45
 
Ответить
СообщениеГоспода! Это новогодняя задачка, вероятно, простая для знатоков.

Но что-то у меня не выходит!
Пытаюсь получить результат для 3 января: 3й день этого года; завтра: 4й день этого года, потом: 5й день этого года и т.д.
Но чтобы вычислить номер этого дня, я для начала пытался получить количество дней до конца года по формуле:
Код
=РАЗНДАТ((ДАТА(ГОД(СЕГОДНЯ());12;31));СЕГОДНЯ();"d")

А в результате получаю сообщение системы: #ЧИСЛО! Хотя для дня рождения, к примеру, 9.02.1998 аналогичная формула работает и даёт результат:
9094й день жизни!

Пожалуйста, помогите разобраться! :o

Автор - Юрий_Ф
Дата добавления - 03.01.2023 в 21:43
gling Дата: Вторник, 03.01.2023, 23:13 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2563
Репутация: 706 ±
Замечаний: 0% ±

2010
Здравствуйте.
В функции РАЗНДАТ() первый аргумент это начальная дата, у вас она 31.12.2023 года, второй аргумент конечная она = СЕГОДНЯ() и она меньше чем конец текущего года. При вычитании от конечной даты начальную получится отрицательный результат. Время течет в сторону увеличения и следовательно начальная дата не может быть больше конечной.


ЯД-41001506838083
 
Ответить
СообщениеЗдравствуйте.
В функции РАЗНДАТ() первый аргумент это начальная дата, у вас она 31.12.2023 года, второй аргумент конечная она = СЕГОДНЯ() и она меньше чем конец текущего года. При вычитании от конечной даты начальную получится отрицательный результат. Время течет в сторону увеличения и следовательно начальная дата не может быть больше конечной.

Автор - gling
Дата добавления - 03.01.2023 в 23:13
DrMini Дата: Среда, 04.01.2023, 05:08 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1880
Репутация: 269 ±
Замечаний: 0% ±

Excel LTSC 2024 RUS
Вдруг подойдёт:
Код
=ДНИ(СЕГОДНЯ();ДАТА(ГОД(СЕГОДНЯ());1;1))+1

практически то же самое:
Код
=СЕГОДНЯ()-ДАТА(ГОД(СЕГОДНЯ());1;1)+1


Сообщение отредактировал DrMini - Среда, 04.01.2023, 05:11
 
Ответить
СообщениеВдруг подойдёт:
Код
=ДНИ(СЕГОДНЯ();ДАТА(ГОД(СЕГОДНЯ());1;1))+1

практически то же самое:
Код
=СЕГОДНЯ()-ДАТА(ГОД(СЕГОДНЯ());1;1)+1

Автор - DrMini
Дата добавления - 04.01.2023 в 05:08
gling Дата: Среда, 04.01.2023, 13:12 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2563
Репутация: 706 ±
Замечаний: 0% ±

2010
Можно и так
Код
=СЕГОДНЯ()-"31.12.2022"
Формат ячейки Общий или Числовой.


ЯД-41001506838083
 
Ответить
СообщениеМожно и так
Код
=СЕГОДНЯ()-"31.12.2022"
Формат ячейки Общий или Числовой.

Автор - gling
Дата добавления - 04.01.2023 в 13:12
Юрий_Ф Дата: Среда, 04.01.2023, 14:57 | Сообщение № 5
Группа: Проверенные
Ранг: Ветеран
Сообщений: 841
Репутация: 5 ±
Замечаний: 60% ±

Excel 2010
gling

Да так я тоже делал (в формуле разность дат). Но пишет, что для данной функции слишком много аргументов.
Спасибо за помощь! Да, 2я формула работает!


То, что мы делаем, завораживает!
Кстати! Я не могу всем нравиться! И это взаимно!


Сообщение отредактировал Юрий_Ф - Среда, 04.01.2023, 21:08
 
Ответить
Сообщениеgling

Да так я тоже делал (в формуле разность дат). Но пишет, что для данной функции слишком много аргументов.
Спасибо за помощь! Да, 2я формула работает!

Автор - Юрий_Ф
Дата добавления - 04.01.2023 в 14:57
Юрий_Ф Дата: Среда, 04.01.2023, 15:02 | Сообщение № 6
Группа: Проверенные
Ранг: Ветеран
Сообщений: 841
Репутация: 5 ±
Замечаний: 60% ±

Excel 2010
DrMini

Спасибо! Работает отменно! hands


То, что мы делаем, завораживает!
Кстати! Я не могу всем нравиться! И это взаимно!
 
Ответить
СообщениеDrMini

Спасибо! Работает отменно! hands

Автор - Юрий_Ф
Дата добавления - 04.01.2023 в 15:02
Юрий_Ф Дата: Среда, 04.01.2023, 21:09 | Сообщение № 7
Группа: Проверенные
Ранг: Ветеран
Сообщений: 841
Репутация: 5 ±
Замечаний: 60% ±

Excel 2010
gling

Да, формула работает! Но каждый год необходимо корректировать её.


То, что мы делаем, завораживает!
Кстати! Я не могу всем нравиться! И это взаимно!
 
Ответить
Сообщениеgling

Да, формула работает! Но каждый год необходимо корректировать её.

Автор - Юрий_Ф
Дата добавления - 04.01.2023 в 21:09
Gustav Дата: Среда, 04.01.2023, 21:41 | Сообщение № 8
Группа: Админы
Ранг: Участник клуба
Сообщений: 2797
Репутация: 1161 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
каждый год необходимо корректировать её

Ну, Йохан Палыч! Во проблема, оказывается, какая!
Код
=СЕГОДНЯ()-ДАТА( ГОД(СЕГОДНЯ())-1; 12; 31 )
или так
Код
=СЕГОДНЯ()-("31.12." & ГОД(СЕГОДНЯ())-1)
или даже так
Код
=СЕГОДНЯ()-"1.1"+1


МОИ: Ник, Tip box: 41001663842605

Сообщение отредактировал Gustav - Среда, 04.01.2023, 22:43
 
Ответить
Сообщение
каждый год необходимо корректировать её

Ну, Йохан Палыч! Во проблема, оказывается, какая!
Код
=СЕГОДНЯ()-ДАТА( ГОД(СЕГОДНЯ())-1; 12; 31 )
или так
Код
=СЕГОДНЯ()-("31.12." & ГОД(СЕГОДНЯ())-1)
или даже так
Код
=СЕГОДНЯ()-"1.1"+1

Автор - Gustav
Дата добавления - 04.01.2023 в 21:41
Юрий_Ф Дата: Суббота, 07.01.2023, 11:46 | Сообщение № 9
Группа: Проверенные
Ранг: Ветеран
Сообщений: 841
Репутация: 5 ±
Замечаний: 60% ±

Excel 2010
Gustav,

Великолепно! (Кроме последней формулы!)
Спасибо! hands


То, что мы делаем, завораживает!
Кстати! Я не могу всем нравиться! И это взаимно!


Сообщение отредактировал Юрий_Ф - Суббота, 07.01.2023, 11:50
 
Ответить
СообщениеGustav,

Великолепно! (Кроме последней формулы!)
Спасибо! hands

Автор - Юрий_Ф
Дата добавления - 07.01.2023 в 11:46
Gustav Дата: Суббота, 07.01.2023, 17:01 | Сообщение № 10
Группа: Админы
Ранг: Участник клуба
Сообщений: 2797
Репутация: 1161 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
Кроме последней формулы!

От точки зрения зависит. Мне, например, именно последняя кажется шедевром, демонстрируюшим "глубокое знание предмета" :D . Но если точка вдруг используется в качестве десятичного разделителя, то может возникнуть соответствующая коллизия. Тогда нужно просто применить другой разделитель числа и месяца в формуле, скажем, тире (ну, а год при его отсутствии равняется, естественно, текущему - что известно заранее из "глубокого знания"):
Код
=СЕГОДНЯ()-"1-1"+1


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение
Кроме последней формулы!

От точки зрения зависит. Мне, например, именно последняя кажется шедевром, демонстрируюшим "глубокое знание предмета" :D . Но если точка вдруг используется в качестве десятичного разделителя, то может возникнуть соответствующая коллизия. Тогда нужно просто применить другой разделитель числа и месяца в формуле, скажем, тире (ну, а год при его отсутствии равняется, естественно, текущему - что известно заранее из "глубокого знания"):
Код
=СЕГОДНЯ()-"1-1"+1

Автор - Gustav
Дата добавления - 07.01.2023 в 17:01
i691198 Дата: Суббота, 07.01.2023, 17:36 | Сообщение № 11
Группа: Проверенные
Ранг: Обитатель
Сообщений: 337
Репутация: 108 ±
Замечаний: 0% ±

Мне, например, именно последняя кажется шедевром
Какой вы нескромный однако. Формула и правда шикарная, только нужно было бы уточнить, что для ячейки нужно принудительно установить формат Общий или Числовой.
 
Ответить
Сообщение
Мне, например, именно последняя кажется шедевром
Какой вы нескромный однако. Формула и правда шикарная, только нужно было бы уточнить, что для ячейки нужно принудительно установить формат Общий или Числовой.

Автор - i691198
Дата добавления - 07.01.2023 в 17:36
Юрий_Ф Дата: Воскресенье, 08.01.2023, 15:08 | Сообщение № 12
Группа: Проверенные
Ранг: Ветеран
Сообщений: 841
Репутация: 5 ±
Замечаний: 60% ±

Excel 2010
Gustav

А знаете, я, пожалуй, соглашусь с вами, действительно шедевр! (С разделителями "-".) Не в обиду другим авторам, которые помогли мне с решением этой задачи!
А физику этой формулы не разъясните? Почему, если вычесть 1-1 из сегодняшней даты и прибавить +1 (последнее ясно), получается порядковый день года?


То, что мы делаем, завораживает!
Кстати! Я не могу всем нравиться! И это взаимно!
 
Ответить
СообщениеGustav

А знаете, я, пожалуй, соглашусь с вами, действительно шедевр! (С разделителями "-".) Не в обиду другим авторам, которые помогли мне с решением этой задачи!
А физику этой формулы не разъясните? Почему, если вычесть 1-1 из сегодняшней даты и прибавить +1 (последнее ясно), получается порядковый день года?

Автор - Юрий_Ф
Дата добавления - 08.01.2023 в 15:08
Gustav Дата: Воскресенье, 08.01.2023, 16:05 | Сообщение № 13
Группа: Админы
Ранг: Участник клуба
Сообщений: 2797
Репутация: 1161 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
А физику этой формулы не разъясните?

А Вы ее сами поймёте, если введёте в ячейку строку 1-1 (прямо вот так 3 символа и Enter), а в соседнюю 31-12 (прямо вот так 5 символов и Enter). В первой ячейке получится дата 01 января текущего года, а во второй 31 декабря текущего года. Если нужен не текущий год, а конкретный, то его можно указать после второго разделителя (тире в данном случае) - одной, двумя или четырьмя цифрами (три не прокатывает):
[vba]
Код
1-1-20  --> 01.01.2020
31-12-1 --> 31.12.2001
[/vba]
Указание подобной строки в двойных кавычках внутри формулы "1-1" является краткой формой записи через соответствующую функцию:
[vba]
Код
=--"1-1"  <--> =ДАТАЗНАЧ("1-1")
[/vba]


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение
А физику этой формулы не разъясните?

А Вы ее сами поймёте, если введёте в ячейку строку 1-1 (прямо вот так 3 символа и Enter), а в соседнюю 31-12 (прямо вот так 5 символов и Enter). В первой ячейке получится дата 01 января текущего года, а во второй 31 декабря текущего года. Если нужен не текущий год, а конкретный, то его можно указать после второго разделителя (тире в данном случае) - одной, двумя или четырьмя цифрами (три не прокатывает):
[vba]
Код
1-1-20  --> 01.01.2020
31-12-1 --> 31.12.2001
[/vba]
Указание подобной строки в двойных кавычках внутри формулы "1-1" является краткой формой записи через соответствующую функцию:
[vba]
Код
=--"1-1"  <--> =ДАТАЗНАЧ("1-1")
[/vba]

Автор - Gustav
Дата добавления - 08.01.2023 в 16:05
Юрий_Ф Дата: Воскресенье, 08.01.2023, 17:59 | Сообщение № 14
Группа: Проверенные
Ранг: Ветеран
Сообщений: 841
Репутация: 5 ±
Замечаний: 60% ±

Excel 2010
Gustav,

Интересно! Спасибо.


То, что мы делаем, завораживает!
Кстати! Я не могу всем нравиться! И это взаимно!
 
Ответить
СообщениеGustav,

Интересно! Спасибо.

Автор - Юрий_Ф
Дата добавления - 08.01.2023 в 17:59
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!