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

Вход

Регистрация

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

 

= Мир MS Excel/Определение дня рождения (истина за 1-30 дней до ДР) - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Определение дня рождения (истина за 1-30 дней до ДР) (Формулы/Formulas)
Определение дня рождения (истина за 1-30 дней до ДР)
ComiC Дата: Воскресенье, 26.02.2017, 20:56 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 50
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Нужна формула(истина):
За 1-30 дней до 20/45 летия (смена паспорта)
В день 20/45 летия
Через 1-30 дней после 20/45 летия

Заранее спасибо!
К сообщению приложен файл: 4973480.xlsx (8.8 Kb)
 
Ответить
СообщениеНужна формула(истина):
За 1-30 дней до 20/45 летия (смена паспорта)
В день 20/45 летия
Через 1-30 дней после 20/45 летия

Заранее спасибо!

Автор - ComiC
Дата добавления - 26.02.2017 в 20:56
Nic70y Дата: Воскресенье, 26.02.2017, 21:08 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 8759
Репутация: 2273 ±
Замечаний: 0% ±

Excel 2010
Код
=ЕЧИСЛО(ПОИСКПОЗ(ГОД(СЕГОДНЯ())-ГОД(I7);{20:45};)*(МАКС(ABS(СЕГОДНЯ()-ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ(I7);ДЕНЬ(I7)));30)=30))
Код
=ЕЧИСЛО(1/(ПОИСКПОЗ(ГОД(СЕГОДНЯ())-ГОД(I7);{20:45};)*(МАКС(ABS(СЕГОДНЯ()-ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ(I7);ДЕНЬ(I7)));30)=30)))


ЮMoney 41001841029809

Сообщение отредактировал Nic70y - Воскресенье, 26.02.2017, 21:11
 
Ответить
Сообщение
Код
=ЕЧИСЛО(ПОИСКПОЗ(ГОД(СЕГОДНЯ())-ГОД(I7);{20:45};)*(МАКС(ABS(СЕГОДНЯ()-ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ(I7);ДЕНЬ(I7)));30)=30))
Код
=ЕЧИСЛО(1/(ПОИСКПОЗ(ГОД(СЕГОДНЯ())-ГОД(I7);{20:45};)*(МАКС(ABS(СЕГОДНЯ()-ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ(I7);ДЕНЬ(I7)));30)=30)))

Автор - Nic70y
Дата добавления - 26.02.2017 в 21:08
Pelena Дата: Воскресенье, 26.02.2017, 21:14 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 19182
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel
Ещё вариант
Код
=И(И((ДАТАМЕС($I$7;{20;45}*12)-СЕГОДНЯ())<>0);ИЛИ(ABS(ДАТАМЕС($I$7;{20;45}*12)-СЕГОДНЯ())<=30))
К сообщению приложен файл: 8299618.xlsx (8.9 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЕщё вариант
Код
=И(И((ДАТАМЕС($I$7;{20;45}*12)-СЕГОДНЯ())<>0);ИЛИ(ABS(ДАТАМЕС($I$7;{20;45}*12)-СЕГОДНЯ())<=30))

Автор - Pelena
Дата добавления - 26.02.2017 в 21:14
ComiC Дата: Воскресенье, 26.02.2017, 21:39 | Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 50
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Ещё вариант

В Вашем примере получается за 30 дней ДО и 30 дней ПОСЛЕ - выполняют одновременно обе формулы. :(
Не очень понял как разделить данную формулу (нужно отдельно ДО и отдельно ПОСЛЕ) :(


Сообщение отредактировал ComiC - Воскресенье, 26.02.2017, 21:41
 
Ответить
Сообщение
Ещё вариант

В Вашем примере получается за 30 дней ДО и 30 дней ПОСЛЕ - выполняют одновременно обе формулы. :(
Не очень понял как разделить данную формулу (нужно отдельно ДО и отдельно ПОСЛЕ) :(

Автор - ComiC
Дата добавления - 26.02.2017 в 21:39
Gustav Дата: Воскресенье, 26.02.2017, 21:48 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2744
Репутация: 1137 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
В Вашем примере получается за 30 дней ДО и 30 дней ПОСЛЕ - выполняют одновременно обе формулы.

Лично я тоже прочитал условия именно так: нужна формула (одна!), которая даёт истину в диапазоне [ДР-30; ДР+30].

И даже состряпал формулку - слегка приближённую (потому что иногда 30, а иногда 31 день), зато компактную:
Код
=ЕЧЁТН(ПОИСКПОЗ(СЕГОДНЯ()-I7;{0;7275;7336;16406;16467}))

20 лет = 365,25 * 20 = 7305 дней
45 лет = 365,25 * 45 = 16436 дней

P.S. А по отдельности получается так (примерно :)):
Код
=ЕЧЁТН(ПОИСКПОЗ(СЕГОДНЯ()-I7;{0;7275;7305;16406;16436}))

Код
=ЕЧЁТН(ПОИСКПОЗ(СЕГОДНЯ()-I7;{0;7305;7306;16436;16437}))

Код
=ЕЧЁТН(ПОИСКПОЗ(СЕГОДНЯ()-I7;{0;7306;7336;16437;16467}))


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

Сообщение отредактировал Gustav - Воскресенье, 26.02.2017, 22:10
 
Ответить
Сообщение
В Вашем примере получается за 30 дней ДО и 30 дней ПОСЛЕ - выполняют одновременно обе формулы.

Лично я тоже прочитал условия именно так: нужна формула (одна!), которая даёт истину в диапазоне [ДР-30; ДР+30].

И даже состряпал формулку - слегка приближённую (потому что иногда 30, а иногда 31 день), зато компактную:
Код
=ЕЧЁТН(ПОИСКПОЗ(СЕГОДНЯ()-I7;{0;7275;7336;16406;16467}))

20 лет = 365,25 * 20 = 7305 дней
45 лет = 365,25 * 45 = 16436 дней

P.S. А по отдельности получается так (примерно :)):
Код
=ЕЧЁТН(ПОИСКПОЗ(СЕГОДНЯ()-I7;{0;7275;7305;16406;16436}))

Код
=ЕЧЁТН(ПОИСКПОЗ(СЕГОДНЯ()-I7;{0;7305;7306;16436;16437}))

Код
=ЕЧЁТН(ПОИСКПОЗ(СЕГОДНЯ()-I7;{0;7306;7336;16437;16467}))

Автор - Gustav
Дата добавления - 26.02.2017 в 21:48
Pelena Дата: Воскресенье, 26.02.2017, 22:03 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 19182
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel
как разделить данную формулу

Код
=ИЛИ((ДАТАМЕС($I$7;{20;45}*12)-СЕГОДНЯ()>0)*(ДАТАМЕС($I$7;{20;45}*12)-СЕГОДНЯ()<=30))
К сообщению приложен файл: 1083423.xlsx (8.8 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщение
как разделить данную формулу

Код
=ИЛИ((ДАТАМЕС($I$7;{20;45}*12)-СЕГОДНЯ()>0)*(ДАТАМЕС($I$7;{20;45}*12)-СЕГОДНЯ()<=30))

Автор - Pelena
Дата добавления - 26.02.2017 в 22:03
bmv98rus Дата: Воскресенье, 26.02.2017, 22:07 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4107
Репутация: 768 ±
Замечаний: 0% ±

Excel 2013/2016
[offtop]
Простите, не удержался. А что, боитесь пропустить эти даты ?


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщение[offtop]
Простите, не удержался. А что, боитесь пропустить эти даты ?

Автор - bmv98rus
Дата добавления - 26.02.2017 в 22:07
Pelena Дата: Воскресенье, 26.02.2017, 22:09 | Сообщение № 8
Группа: Админы
Ранг: Местный житель
Сообщений: 19182
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel
:)
Замена паспорта, я так понимаю


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщение:)
Замена паспорта, я так понимаю

Автор - Pelena
Дата добавления - 26.02.2017 в 22:09
ComiC Дата: Воскресенье, 26.02.2017, 22:19 | Сообщение № 9
Группа: Пользователи
Ранг: Участник
Сообщений: 50
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Простите, не удержался. А что, боитесь пропустить эти даты ?

Да, для работы важно не упустить даты замены паспорта :)

Всем спасибо за помощь!
 
Ответить
Сообщение
Простите, не удержался. А что, боитесь пропустить эти даты ?

Да, для работы важно не упустить даты замены паспорта :)

Всем спасибо за помощь!

Автор - ComiC
Дата добавления - 26.02.2017 в 22:19
ComiC Дата: Воскресенье, 26.02.2017, 22:34 | Сообщение № 10
Группа: Пользователи
Ранг: Участник
Сообщений: 50
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Эх... Рано обрадовался :(
Не придавал значение... А зря...
Данную формулу необходимо было использовать в "условном форматировании". :(
Никогда не сталкивался с подобной ошибкой, но в этот раз получил ошибку:

"Нельзя использовать операторы ссылок (такие как объединения, пересечения и диапазоны) или константы массивов для условий Условное форматирование"

Прошу прощение, не думал, что возникнет ошибка... (
 
Ответить
СообщениеЭх... Рано обрадовался :(
Не придавал значение... А зря...
Данную формулу необходимо было использовать в "условном форматировании". :(
Никогда не сталкивался с подобной ошибкой, но в этот раз получил ошибку:

"Нельзя использовать операторы ссылок (такие как объединения, пересечения и диапазоны) или константы массивов для условий Условное форматирование"

Прошу прощение, не думал, что возникнет ошибка... (

Автор - ComiC
Дата добавления - 26.02.2017 в 22:34
Pelena Дата: Воскресенье, 26.02.2017, 22:43 | Сообщение № 11
Группа: Админы
Ранг: Местный житель
Сообщений: 19182
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel
Моя формула разделяется так
Код
=ИЛИ((ДАТАМЕС($I$7;45*12)-СЕГОДНЯ()>0)*(ДАТАМЕС($I$7;45*12)-СЕГОДНЯ()<=30);(ДАТАМЕС($I$7;20*12)-СЕГОДНЯ()>0)*(ДАТАМЕС($I$7;20*12)-СЕГОДНЯ()<=30))

Или в доп. столбец предыдущую формулу, а УФ уже по этому доп. столбцу


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеМоя формула разделяется так
Код
=ИЛИ((ДАТАМЕС($I$7;45*12)-СЕГОДНЯ()>0)*(ДАТАМЕС($I$7;45*12)-СЕГОДНЯ()<=30);(ДАТАМЕС($I$7;20*12)-СЕГОДНЯ()>0)*(ДАТАМЕС($I$7;20*12)-СЕГОДНЯ()<=30))

Или в доп. столбец предыдущую формулу, а УФ уже по этому доп. столбцу

Автор - Pelena
Дата добавления - 26.02.2017 в 22:43
ComiC Дата: Вторник, 28.02.2017, 14:19 | Сообщение № 12
Группа: Пользователи
Ранг: Участник
Сообщений: 50
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Моя формула разделяется так


Данная формула отображает ИСТИНУ за 30 дней до 20/45 летия?
А как быть если нужно в течение 30 дней после 20/45 летия? :(

Доп столбец очень неудобно делать. :(

Спасибо.
 
Ответить
Сообщение
Моя формула разделяется так


Данная формула отображает ИСТИНУ за 30 дней до 20/45 летия?
А как быть если нужно в течение 30 дней после 20/45 летия? :(

Доп столбец очень неудобно делать. :(

Спасибо.

Автор - ComiC
Дата добавления - 28.02.2017 в 14:19
buchlotnik Дата: Вторник, 28.02.2017, 14:44 | Сообщение № 13
Группа: Заблокированные
Ранг: Участник клуба
Сообщений: 3442
Репутация: 929 ±
Замечаний: 20% ±

2010, 2013, 2016 RUS / ENG
Цитата
30 дней после
уменьшаемое с вычитаемым местами поменяйте :D
Код
=OR((TODAY()-EDATE($I$7;45*12)>0)*(TODAY()-EDATE($I$7;45*12)-TODAY()<=30);(TODAY()-EDATE($I$7;20*12)>0)*(TODAY()-EDATE($I$7;20*12)<=30))
 
Ответить
Сообщение
Цитата
30 дней после
уменьшаемое с вычитаемым местами поменяйте :D
Код
=OR((TODAY()-EDATE($I$7;45*12)>0)*(TODAY()-EDATE($I$7;45*12)-TODAY()<=30);(TODAY()-EDATE($I$7;20*12)>0)*(TODAY()-EDATE($I$7;20*12)<=30))

Автор - buchlotnik
Дата добавления - 28.02.2017 в 14:44
sboy Дата: Вторник, 28.02.2017, 14:49 | Сообщение № 14
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
или знаки
Код
=ИЛИ((ДАТАМЕС($I$7;45*12)-СЕГОДНЯ()<0)*(ДАТАМЕС($I$7;45*12)-СЕГОДНЯ()>=-30);(ДАТАМЕС($I$7;20*12)-СЕГОДНЯ()<0)*(ДАТАМЕС($I$7;20*12)-СЕГОДНЯ()>=-30))


Яндекс: 410016850021169
 
Ответить
Сообщениеили знаки
Код
=ИЛИ((ДАТАМЕС($I$7;45*12)-СЕГОДНЯ()<0)*(ДАТАМЕС($I$7;45*12)-СЕГОДНЯ()>=-30);(ДАТАМЕС($I$7;20*12)-СЕГОДНЯ()<0)*(ДАТАМЕС($I$7;20*12)-СЕГОДНЯ()>=-30))

Автор - sboy
Дата добавления - 28.02.2017 в 14:49
ComiC Дата: Вторник, 28.02.2017, 14:58 | Сообщение № 15
Группа: Пользователи
Ранг: Участник
Сообщений: 50
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
уменьшаемое с вычитаемым местами поменяйте

Что-то не так. ИСТИНА и при 06.07.1947 и при 25.06.1964

(я не бум-бум в формулах, тяжеловато идет)
 
Ответить
Сообщение
уменьшаемое с вычитаемым местами поменяйте

Что-то не так. ИСТИНА и при 06.07.1947 и при 25.06.1964

(я не бум-бум в формулах, тяжеловато идет)

Автор - ComiC
Дата добавления - 28.02.2017 в 14:58
ComiC Дата: Вторник, 28.02.2017, 15:00 | Сообщение № 16
Группа: Пользователи
Ранг: Участник
Сообщений: 50
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
или знаки


Да, оно вроде, спасибо! я пытался ранее менять > и < %))
 
Ответить
Сообщение
или знаки


Да, оно вроде, спасибо! я пытался ранее менять > и < %))

Автор - ComiC
Дата добавления - 28.02.2017 в 15:00
krosav4ig Дата: Вторник, 28.02.2017, 18:00 | Сообщение № 17
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
до кучи
формула для диапазона -30 +30 дней от ДР
Код
=ИЛИ(МУМНОЖ(ABS(ДАТАМЕС(СЕГОДНЯ();-{45:20}*12)+{-30;0;30}-I7);{1:1:1})<=90)

для 30 дней до ДР
Код
=ИЛИ(МУМНОЖ(ABS(ДАТАМЕС(СЕГОДНЯ();-{45:20}*12)-{30;0}-I7);{1:1})=30)
для 30 дней после ДР
Код
=ИЛИ(МУМНОЖ(ABS(ДАТАМЕС(СЕГОДНЯ();-{45:20}*12)+{30;0}-I7);{1:1})=30)

Добавил формулы в диспетчер имен и по ним сделал УФ
К сообщению приложен файл: 7147855.xlsx (17.2 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Вторник, 28.02.2017, 18:02
 
Ответить
Сообщениедо кучи
формула для диапазона -30 +30 дней от ДР
Код
=ИЛИ(МУМНОЖ(ABS(ДАТАМЕС(СЕГОДНЯ();-{45:20}*12)+{-30;0;30}-I7);{1:1:1})<=90)

для 30 дней до ДР
Код
=ИЛИ(МУМНОЖ(ABS(ДАТАМЕС(СЕГОДНЯ();-{45:20}*12)-{30;0}-I7);{1:1})=30)
для 30 дней после ДР
Код
=ИЛИ(МУМНОЖ(ABS(ДАТАМЕС(СЕГОДНЯ();-{45:20}*12)+{30;0}-I7);{1:1})=30)

Добавил формулы в диспетчер имен и по ним сделал УФ

Автор - krosav4ig
Дата добавления - 28.02.2017 в 18:00
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Определение дня рождения (истина за 1-30 дней до ДР) (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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