Високосный сдвиг
ZORRO2005
Дата: Вторник, 22.01.2013, 20:24 |
Сообщение № 21
Группа: Друзья
Ранг: Обитатель
Сообщений: 382
Репутация:
148
±
Замечаний:
0% ±
Excel2010
У меня пока нет решения. Хорошо, давай еще подождем.
У меня пока нет решения. Хорошо, давай еще подождем. ZORRO2005
Ответить
Сообщение У меня пока нет решения. Хорошо, давай еще подождем. Автор - ZORRO2005 Дата добавления - 22.01.2013 в 20:24
Serge_007
Дата: Вторник, 22.01.2013, 20:28 |
Сообщение № 22
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация:
2749
±
Замечаний:
±
Excel 2016
Цитата (ZORRO2005 )
У меня пока нет решения.
Не верю Задача очень простая Или это только мне так кажется? ЗЫ Моя формула подходит для любой версии, без пакета анализов, но ссылается на год и ставит "" Если на него не ссылаться, то надо ещё десяток знаков прибавить к общей длинне Если даты некорректны, например начальная больше окончательной - возвращается "" Крутил по разному, ошибок не нашел
Цитата (ZORRO2005 )
У меня пока нет решения.
Не верю Задача очень простая Или это только мне так кажется? ЗЫ Моя формула подходит для любой версии, без пакета анализов, но ссылается на год и ставит "" Если на него не ссылаться, то надо ещё десяток знаков прибавить к общей длинне Если даты некорректны, например начальная больше окончательной - возвращается "" Крутил по разному, ошибок не нашелSerge_007
ЮMoney :41001419691823 | WMR :126292472390
Ответить
Сообщение Цитата (ZORRO2005 )
У меня пока нет решения.
Не верю Задача очень простая Или это только мне так кажется? ЗЫ Моя формула подходит для любой версии, без пакета анализов, но ссылается на год и ставит "" Если на него не ссылаться, то надо ещё десяток знаков прибавить к общей длинне Если даты некорректны, например начальная больше окончательной - возвращается "" Крутил по разному, ошибок не нашелАвтор - Serge_007 Дата добавления - 22.01.2013 в 20:28
MCH
Дата: Вторник, 22.01.2013, 23:40 |
Сообщение № 23
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация:
752
±
Замечаний:
±
Цитата (Serge_007 )
Задача очень простая Или это только мне так кажется?
для меня она не показалась простой, либо я не нашел простого алгоритма Цитата (Serge_007 )
Моя формула подходит для любой версии, без пакета анализов, но ссылается на год и ставит ""
Сергей, у тебя дата в виде даты или текстом?
Цитата (Serge_007 )
Задача очень простая Или это только мне так кажется?
для меня она не показалась простой, либо я не нашел простого алгоритма Цитата (Serge_007 )
Моя формула подходит для любой версии, без пакета анализов, но ссылается на год и ставит ""
Сергей, у тебя дата в виде даты или текстом?MCH
Ответить
Сообщение Цитата (Serge_007 )
Задача очень простая Или это только мне так кажется?
для меня она не показалась простой, либо я не нашел простого алгоритма Цитата (Serge_007 )
Моя формула подходит для любой версии, без пакета анализов, но ссылается на год и ставит ""
Сергей, у тебя дата в виде даты или текстом?Автор - MCH Дата добавления - 22.01.2013 в 23:40
ZORRO2005
Дата: Вторник, 22.01.2013, 23:58 |
Сообщение № 24
Группа: Друзья
Ранг: Обитатель
Сообщений: 382
Репутация:
148
±
Замечаний:
0% ±
Excel2010
Цитата (MCH )
Сергей, у тебя дата в виде даты или текстом?
В виде даты
Цитата (MCH )
Сергей, у тебя дата в виде даты или текстом?
В виде датыZORRO2005
Ответить
Сообщение Цитата (MCH )
Сергей, у тебя дата в виде даты или текстом?
В виде датыАвтор - ZORRO2005 Дата добавления - 22.01.2013 в 23:58
Serge_007
Дата: Среда, 23.01.2013, 11:42 |
Сообщение № 25
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация:
2749
±
Замечаний:
±
Excel 2016
Цитата (MCH )
Сергей, у тебя дата в виде даты или текстом?
В виде даты
Цитата (MCH )
Сергей, у тебя дата в виде даты или текстом?
В виде датыSerge_007
ЮMoney :41001419691823 | WMR :126292472390
Ответить
Сообщение Цитата (MCH )
Сергей, у тебя дата в виде даты или текстом?
В виде датыАвтор - Serge_007 Дата добавления - 23.01.2013 в 11:42
MCH
Дата: Среда, 23.01.2013, 22:43 |
Сообщение № 26
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация:
752
±
Замечаний:
±
Цитата (Serge_007 )
Задача очень простая Или это только мне так кажется?
Серег, не знаю как ты решал, но для меня задача сложная Я решал по такому алгоритму: 1. формируем даты високосного года (любого) начиная с дня и месяца начальной даты, год любой високосный (например 2000) 2. производим сдвиг полученной даты до нужного года (я делал через ДАТАМЕС, отсюда и потребность в "Пакете анализа") 3. проверяем, если 29.02.текущего года не существует, либо текущая дата больше конечной то выводим "", иначе полученную дату Если решать влоб, то получится очень длинное решение, пришлось изворачиваться, чтобы получилось относительно короткое решение, дату вычисляю только один раз
Цитата (Serge_007 )
Задача очень простая Или это только мне так кажется?
Серег, не знаю как ты решал, но для меня задача сложная Я решал по такому алгоритму: 1. формируем даты високосного года (любого) начиная с дня и месяца начальной даты, год любой високосный (например 2000) 2. производим сдвиг полученной даты до нужного года (я делал через ДАТАМЕС, отсюда и потребность в "Пакете анализа") 3. проверяем, если 29.02.текущего года не существует, либо текущая дата больше конечной то выводим "", иначе полученную дату Если решать влоб, то получится очень длинное решение, пришлось изворачиваться, чтобы получилось относительно короткое решение, дату вычисляю только один разMCH
Ответить
Сообщение Цитата (Serge_007 )
Задача очень простая Или это только мне так кажется?
Серег, не знаю как ты решал, но для меня задача сложная Я решал по такому алгоритму: 1. формируем даты високосного года (любого) начиная с дня и месяца начальной даты, год любой високосный (например 2000) 2. производим сдвиг полученной даты до нужного года (я делал через ДАТАМЕС, отсюда и потребность в "Пакете анализа") 3. проверяем, если 29.02.текущего года не существует, либо текущая дата больше конечной то выводим "", иначе полученную дату Если решать влоб, то получится очень длинное решение, пришлось изворачиваться, чтобы получилось относительно короткое решение, дату вычисляю только один разАвтор - MCH Дата добавления - 23.01.2013 в 22:43
Serge_007
Дата: Среда, 23.01.2013, 22:49 |
Сообщение № 27
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация:
2749
±
Замечаний:
±
Excel 2016
Цитата (MCH )
Я решал по такому алгоритму: 1. формируем даты високосного года (любого) начиная с дня и месяца начальной даты, год любой високосный
А если сразу проверять на високосность (вспомни, даты не могут принадлежать разным годам!)? Просто ДА или НЕТ? Так ведь проще?.. ЗЫ "В лоб" раздельно пишется
Цитата (MCH )
Я решал по такому алгоритму: 1. формируем даты високосного года (любого) начиная с дня и месяца начальной даты, год любой високосный
А если сразу проверять на високосность (вспомни, даты не могут принадлежать разным годам!)? Просто ДА или НЕТ? Так ведь проще?.. ЗЫ "В лоб" раздельно пишется Serge_007
ЮMoney :41001419691823 | WMR :126292472390
Ответить
Сообщение Цитата (MCH )
Я решал по такому алгоритму: 1. формируем даты високосного года (любого) начиная с дня и месяца начальной даты, год любой високосный
А если сразу проверять на високосность (вспомни, даты не могут принадлежать разным годам!)? Просто ДА или НЕТ? Так ведь проще?.. ЗЫ "В лоб" раздельно пишется Автор - Serge_007 Дата добавления - 23.01.2013 в 22:49
MCH
Дата: Среда, 23.01.2013, 22:57 |
Сообщение № 28
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация:
752
±
Замечаний:
±
Цитата (Serge_007 )
ЗЫ "В лоб" раздельно пишется
а у меня это не существительное, а наречие, отвечающее на вопрос "как?" (тапа как вверх или вниз)
Цитата (Serge_007 )
ЗЫ "В лоб" раздельно пишется
а у меня это не существительное, а наречие, отвечающее на вопрос "как?" (тапа как вверх или вниз) MCH
Ответить
Сообщение Цитата (Serge_007 )
ЗЫ "В лоб" раздельно пишется
а у меня это не существительное, а наречие, отвечающее на вопрос "как?" (тапа как вверх или вниз) Автор - MCH Дата добавления - 23.01.2013 в 22:57
MCH
Дата: Среда, 23.01.2013, 23:10 |
Сообщение № 29
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация:
752
±
Замечаний:
±
Цитата (Serge_007 )
А если сразу проверять на високосность
а как ты проверяешь? 2100 год у тебя високосный или нет?
Цитата (Serge_007 )
А если сразу проверять на високосность
а как ты проверяешь? 2100 год у тебя високосный или нет?MCH
Ответить
Сообщение Цитата (Serge_007 )
А если сразу проверять на високосность
а как ты проверяешь? 2100 год у тебя високосный или нет?Автор - MCH Дата добавления - 23.01.2013 в 23:10
Serge_007
Дата: Среда, 23.01.2013, 23:12 |
Сообщение № 30
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация:
2749
±
Замечаний:
±
Excel 2016
Цитата (MCH )
а как ты проверяешь?
Если есть 29-е февраля - значит високосный, как ещё?..
Цитата (MCH )
а как ты проверяешь?
Если есть 29-е февраля - значит високосный, как ещё?..Serge_007
ЮMoney :41001419691823 | WMR :126292472390
Ответить
Сообщение Цитата (MCH )
а как ты проверяешь?
Если есть 29-е февраля - значит високосный, как ещё?..Автор - Serge_007 Дата добавления - 23.01.2013 в 23:12
MCH
Дата: Среда, 23.01.2013, 23:19 |
Сообщение № 31
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация:
752
±
Замечаний:
±
Цитата (Serge_007 )
Если есть 29-е февраля - значит високосный, как ещё?.
Можно проверять по самому году (кратности 4, 100 и 400), можно упростить и проверять на кратность 4, ошибка будет для 2100, 2200, 2300 и др. годов, возможно для практического применения этим можно принебречь, т.к. до 2100 года еще очень долго. Хотел уточнить, потому как проверяя на 29 февраля, формула достаточно длинная получается
Цитата (Serge_007 )
Если есть 29-е февраля - значит високосный, как ещё?.
Можно проверять по самому году (кратности 4, 100 и 400), можно упростить и проверять на кратность 4, ошибка будет для 2100, 2200, 2300 и др. годов, возможно для практического применения этим можно принебречь, т.к. до 2100 года еще очень долго. Хотел уточнить, потому как проверяя на 29 февраля, формула достаточно длинная получаетсяMCH
Ответить
Сообщение Цитата (Serge_007 )
Если есть 29-е февраля - значит високосный, как ещё?.
Можно проверять по самому году (кратности 4, 100 и 400), можно упростить и проверять на кратность 4, ошибка будет для 2100, 2200, 2300 и др. годов, возможно для практического применения этим можно принебречь, т.к. до 2100 года еще очень долго. Хотел уточнить, потому как проверяя на 29 февраля, формула достаточно длинная получаетсяАвтор - MCH Дата добавления - 23.01.2013 в 23:19
Serge_007
Дата: Среда, 23.01.2013, 23:24 |
Сообщение № 32
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация:
2749
±
Замечаний:
±
Excel 2016
Миш, мы мыслим совершенно по разному... Может это и хорошо ЗЫ Если хочешь - я завтра вышлю тебе свою формулу
Миш, мы мыслим совершенно по разному... Может это и хорошо ЗЫ Если хочешь - я завтра вышлю тебе свою формулу Serge_007
ЮMoney :41001419691823 | WMR :126292472390
Ответить
Сообщение Миш, мы мыслим совершенно по разному... Может это и хорошо ЗЫ Если хочешь - я завтра вышлю тебе свою формулу Автор - Serge_007 Дата добавления - 23.01.2013 в 23:24
MCH
Дата: Вторник, 29.01.2013, 10:19 |
Сообщение № 33
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация:
752
±
Замечаний:
±
новых решений нет, может пора выкладываться?
новых решений нет, может пора выкладываться? MCH
Ответить
Сообщение новых решений нет, может пора выкладываться? Автор - MCH Дата добавления - 29.01.2013 в 10:19
MCH
Дата: Среда, 30.01.2013, 01:21 |
Сообщение № 34
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация:
752
±
Замечаний:
±
Т.к. автор темы молчит (либо сам не решил задачку, либо ни кому не хочет показывать), выкладываю свое решение Для 2007/2010, 127: Код
=ЕСЛИОШИБКА(--ТЕКСТ(ДАТАМЕС(ТЕКСТ(E$4;"Д-М-\0")+СТРОКА(A1)-1;(ГОД(E$4)-2000)*12);"[="&ЕСЛИ(E$4=E$5;0;E5)&"] ;[<="&E$5&"];");"")
Решение с нулем вместо пустой строки в 109 символов - см. во вложение
Т.к. автор темы молчит (либо сам не решил задачку, либо ни кому не хочет показывать), выкладываю свое решение Для 2007/2010, 127: Код
=ЕСЛИОШИБКА(--ТЕКСТ(ДАТАМЕС(ТЕКСТ(E$4;"Д-М-\0")+СТРОКА(A1)-1;(ГОД(E$4)-2000)*12);"[="&ЕСЛИ(E$4=E$5;0;E5)&"] ;[<="&E$5&"];");"")
Решение с нулем вместо пустой строки в 109 символов - см. во вложение MCH
Ответить
Сообщение Т.к. автор темы молчит (либо сам не решил задачку, либо ни кому не хочет показывать), выкладываю свое решение Для 2007/2010, 127: Код
=ЕСЛИОШИБКА(--ТЕКСТ(ДАТАМЕС(ТЕКСТ(E$4;"Д-М-\0")+СТРОКА(A1)-1;(ГОД(E$4)-2000)*12);"[="&ЕСЛИ(E$4=E$5;0;E5)&"] ;[<="&E$5&"];");"")
Решение с нулем вместо пустой строки в 109 символов - см. во вложение Автор - MCH Дата добавления - 30.01.2013 в 01:21
Serge_007
Дата: Среда, 30.01.2013, 10:10 |
Сообщение № 35
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация:
2749
±
Замечаний:
±
Excel 2016
Код
=ВЫБОР((ДЕНЬ(ДАТА(E$3;2;29))=1)*(E5=ДАТА(E$3;2;28))+(E$4+СТРОКА()-6-СЧЁТЕСЛИ(E$4:E5;"")<=E$5)+1;"";E$4+СТРОКА()-6-СЧЁТЕСЛИ(E$4:E5;"");"")
Код
=ВЫБОР((ДЕНЬ(ДАТА(E$3;2;29))=1)*(E5=ДАТА(E$3;2;28))+(E$4+СТРОКА()-6-СЧЁТЕСЛИ(E$4:E5;"")<=E$5)+1;"";E$4+СТРОКА()-6-СЧЁТЕСЛИ(E$4:E5;"");"")
Serge_007
ЮMoney :41001419691823 | WMR :126292472390
Ответить
Сообщение Код
=ВЫБОР((ДЕНЬ(ДАТА(E$3;2;29))=1)*(E5=ДАТА(E$3;2;28))+(E$4+СТРОКА()-6-СЧЁТЕСЛИ(E$4:E5;"")<=E$5)+1;"";E$4+СТРОКА()-6-СЧЁТЕСЛИ(E$4:E5;"");"")
Автор - Serge_007 Дата добавления - 30.01.2013 в 10:10
ZORRO2005
Дата: Среда, 30.01.2013, 16:31 |
Сообщение № 36
Группа: Друзья
Ранг: Обитатель
Сообщений: 382
Репутация:
148
±
Замечаний:
0% ±
Excel2010
MCH, Serge_007 , Спасибо большое, все отлично работает! Очень порадовал формат с помощью формул в квадратных скобках. Цитата (Serge_007 )
Задача очень простая
Больше задавать не буду.
MCH, Serge_007 , Спасибо большое, все отлично работает! Очень порадовал формат с помощью формул в квадратных скобках. Цитата (Serge_007 )
Задача очень простая
Больше задавать не буду. ZORRO2005
Ответить
Сообщение MCH, Serge_007 , Спасибо большое, все отлично работает! Очень порадовал формат с помощью формул в квадратных скобках. Цитата (Serge_007 )
Задача очень простая
Больше задавать не буду. Автор - ZORRO2005 Дата добавления - 30.01.2013 в 16:31