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

Вход

Регистрация

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

 

= Мир MS Excel/Полное количество месяцев между диапазоном дат - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Полное количество месяцев между диапазоном дат (Формулы/Formulas)
Полное количество месяцев между диапазоном дат
julia5555 Дата: Среда, 12.07.2017, 14:47 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Здравствуйте! Совсем запуталась есть две даты нужно найти полные месяца, исхожу из такой логики если первая дата например 02.02.2017
то прибавляю отстатки дней до конца месяца и сравниваю со второй, но если дата с 1 числа то неверно считает и если диапазон дат в одном месяце
тоже неверно

файл прикладываю

Заранее спасибо за помощь
К сообщению приложен файл: 0520567.xls(32Kb)
 
Ответить
СообщениеЗдравствуйте! Совсем запуталась есть две даты нужно найти полные месяца, исхожу из такой логики если первая дата например 02.02.2017
то прибавляю отстатки дней до конца месяца и сравниваю со второй, но если дата с 1 числа то неверно считает и если диапазон дат в одном месяце
тоже неверно

файл прикладываю

Заранее спасибо за помощь

Автор - julia5555
Дата добавления - 12.07.2017 в 14:47
AlexM Дата: Среда, 12.07.2017, 15:01 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3560
Репутация: 898 ±
Замечаний: 0% ±

Excel 2003
Примеров мало.
Если с 10.01.2017 по 20.03.2017. Сколько полных месяцев?
1 или 2?



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеПримеров мало.
Если с 10.01.2017 по 20.03.2017. Сколько полных месяцев?
1 или 2?

Автор - AlexM
Дата добавления - 12.07.2017 в 15:01
sboy Дата: Среда, 12.07.2017, 15:04 | Сообщение № 3
Группа: Проверенные
Ранг: Ветеран
Сообщений: 771
Репутация: 200 ±
Замечаний: 0% ±

Excel 2010
Если правильно понял...
Код
=ВЫБОР((F9=L9)+(D9=P9)+1;0;МЕСЯЦ(C9)-МЕСЯЦ(B9);МЕСЯЦ(C9)-МЕСЯЦ(B9)+1)

поторопился, не правильно считает...

Вот так вроде получилось, файл перевложил
Код
=(МЕСЯЦ(C9)-МЕСЯЦ(B9))+ВЫБОР((ДЕНЬ(C9)>=ДЕНЬ(B9))+((ДЕНЬ(B9)=1)*(ДЕНЬ(C9)=ДЕНЬ(КОНМЕСЯЦА(C9;0)))+1);-1;0;1)
К сообщению приложен файл: 7760903.xls(38Kb)


Сообщение отредактировал sboy - Среда, 12.07.2017, 15:32
 
Ответить
СообщениеЕсли правильно понял...
Код
=ВЫБОР((F9=L9)+(D9=P9)+1;0;МЕСЯЦ(C9)-МЕСЯЦ(B9);МЕСЯЦ(C9)-МЕСЯЦ(B9)+1)

поторопился, не правильно считает...

Вот так вроде получилось, файл перевложил
Код
=(МЕСЯЦ(C9)-МЕСЯЦ(B9))+ВЫБОР((ДЕНЬ(C9)>=ДЕНЬ(B9))+((ДЕНЬ(B9)=1)*(ДЕНЬ(C9)=ДЕНЬ(КОНМЕСЯЦА(C9;0)))+1);-1;0;1)

Автор - sboy
Дата добавления - 12.07.2017 в 15:04
julia5555 Дата: Среда, 12.07.2017, 16:50 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
AlexM, 1, только февраль
 
Ответить
СообщениеAlexM, 1, только февраль

Автор - julia5555
Дата добавления - 12.07.2017 в 16:50
julia5555 Дата: Среда, 12.07.2017, 16:54 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
sboy, спасибо большое, но если я ставлю дату например 15.01.17 по 15.05.2017 полных месяцев (февраль, март, апрель) 3 штуки, а мне пишет 4
и если ставлю у даты конца периода день больше дня у начала периода, тоже неверно
и не могли бы рассказать почему вы выбрали функцию ВЫБОР
Спасибо


Сообщение отредактировал julia5555 - Среда, 12.07.2017, 17:04
 
Ответить
Сообщениеsboy, спасибо большое, но если я ставлю дату например 15.01.17 по 15.05.2017 полных месяцев (февраль, март, апрель) 3 штуки, а мне пишет 4
и если ставлю у даты конца периода день больше дня у начала периода, тоже неверно
и не могли бы рассказать почему вы выбрали функцию ВЫБОР
Спасибо

Автор - julia5555
Дата добавления - 12.07.2017 в 16:54
sboy Дата: Среда, 12.07.2017, 16:59 | Сообщение № 6
Группа: Проверенные
Ранг: Ветеран
Сообщений: 771
Репутация: 200 ±
Замечаний: 0% ±

Excel 2010
julia5555, значит я не правильно понял задачу.
у меня логика была 15.01-15.02(1 полный месяц), сейчас переделаю
вот так проверьте
Код
=(МЕСЯЦ(C9)-МЕСЯЦ(B9))+ВЫБОР((ДЕНЬ(B9)=1)+(ДЕНЬ(C9)=ДЕНЬ(КОНМЕСЯЦА(C9;0)))+1;-1;0;1)
К сообщению приложен файл: 5818983.xls(38Kb)


Сообщение отредактировал sboy - Среда, 12.07.2017, 17:02
 
Ответить
Сообщениеjulia5555, значит я не правильно понял задачу.
у меня логика была 15.01-15.02(1 полный месяц), сейчас переделаю
вот так проверьте
Код
=(МЕСЯЦ(C9)-МЕСЯЦ(B9))+ВЫБОР((ДЕНЬ(B9)=1)+(ДЕНЬ(C9)=ДЕНЬ(КОНМЕСЯЦА(C9;0)))+1;-1;0;1)

Автор - sboy
Дата добавления - 12.07.2017 в 16:59
_Boroda_ Дата: Среда, 12.07.2017, 17:02 | Сообщение № 7
Группа: Модераторы
Ранг: Местный житель
Сообщений: 10842
Репутация: 4479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
А так?
Код
=РАЗНДАТ(КОНМЕСЯЦА(B10-1;0);КОНМЕСЯЦА(C10+1;-1)+1;"m")
К сообщению приложен файл: 0520567_1.xls(38Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеА так?
Код
=РАЗНДАТ(КОНМЕСЯЦА(B10-1;0);КОНМЕСЯЦА(C10+1;-1)+1;"m")

Автор - _Boroda_
Дата добавления - 12.07.2017 в 17:02
Gustav Дата: Среда, 12.07.2017, 17:23 | Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 1391
Репутация: 540 ±
Замечаний: 0% ±

начинал с Excel 4.0...
Можно, не касаясь дней, всё в месяцах считать, умножая годы на 12. Тогда такая банальная и сразу понятная формула:
Код
=12*(ГОД(кон)-ГОД(нач))+МЕСЯЦ(кон)-МЕСЯЦ(нач)-1

Даёт, правда, -1 для дат в одном месяце. Если это неприемлемо, то можно подавить небольшим усложнением:
Код
=МАКС(0; 12*(ГОД(кон)-ГОД(нач))+МЕСЯЦ(кон)-МЕСЯЦ(нач)-1)


P.S. Да, судя по другим ответам, я не совсем правильно понял задание. Но стираться не буду, сохраню для истории и примера - иногда сквозные расчёты в полных месяцах могут оказаться вполне полезными или натолкнуть на какую иную мыЗль.


Мой tip box - яд 41001663842605

Сообщение отредактировал Gustav - Среда, 12.07.2017, 19:21
 
Ответить
СообщениеМожно, не касаясь дней, всё в месяцах считать, умножая годы на 12. Тогда такая банальная и сразу понятная формула:
Код
=12*(ГОД(кон)-ГОД(нач))+МЕСЯЦ(кон)-МЕСЯЦ(нач)-1

Даёт, правда, -1 для дат в одном месяце. Если это неприемлемо, то можно подавить небольшим усложнением:
Код
=МАКС(0; 12*(ГОД(кон)-ГОД(нач))+МЕСЯЦ(кон)-МЕСЯЦ(нач)-1)


P.S. Да, судя по другим ответам, я не совсем правильно понял задание. Но стираться не буду, сохраню для истории и примера - иногда сквозные расчёты в полных месяцах могут оказаться вполне полезными или натолкнуть на какую иную мыЗль.

Автор - Gustav
Дата добавления - 12.07.2017 в 17:23
julia5555 Дата: Среда, 12.07.2017, 17:24 | Сообщение № 9
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
sboy, ребята спасибо вам огромное!!! вы просто гении! вроде все работает yes
надеюсь я когда нибудь дорасту до Ваших знаний

завтра проверю еще раз, чтобы точно все было

функция ВЫБОР мне конечно вообще не понятна...если есть возможность можете на примере вашей формулы, объяснить что мы там делали


Сообщение отредактировал julia5555 - Среда, 12.07.2017, 17:30
 
Ответить
Сообщениеsboy, ребята спасибо вам огромное!!! вы просто гении! вроде все работает yes
надеюсь я когда нибудь дорасту до Ваших знаний

завтра проверю еще раз, чтобы точно все было

функция ВЫБОР мне конечно вообще не понятна...если есть возможность можете на примере вашей формулы, объяснить что мы там делали

Автор - julia5555
Дата добавления - 12.07.2017 в 17:24
julia5555 Дата: Среда, 12.07.2017, 17:26 | Сообщение № 10
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
_Boroda_, ребята спасибо вам огромное!!! вы просто гении! вроде все работает yes
надеюсь я когда нибудь дорасту до Ваших знаний

ваша логика мне более менее понятна...
завтра проверю еще раз, чтобы точно все было


Сообщение отредактировал julia5555 - Среда, 12.07.2017, 17:28
 
Ответить
Сообщение_Boroda_, ребята спасибо вам огромное!!! вы просто гении! вроде все работает yes
надеюсь я когда нибудь дорасту до Ваших знаний

ваша логика мне более менее понятна...
завтра проверю еще раз, чтобы точно все было

Автор - julia5555
Дата добавления - 12.07.2017 в 17:26
sboy Дата: Среда, 12.07.2017, 17:44 | Сообщение № 11
Группа: Проверенные
Ранг: Ветеран
Сообщений: 771
Репутация: 200 ±
Замечаний: 0% ±

Excel 2010
julia5555, в Выборе мы считали полный ли начальный и конечный месяц, и исходя из полученного прибавляли/убавляли его
конструкцию
Код
ВЫБОР((ДЕНЬ(B9)=1)+(ДЕНЬ(C9)=ДЕНЬ(КОНМЕСЯЦА(C9;0)))+1;-1;0;1)

можно представить с помощью ЕСЛИ(), может так понятней будет
Код
ЕСЛИ((ДЕНЬ(B9)=1);ЕСЛИ(ДЕНЬ(C9)=ДЕНЬ(КОНМЕСЯЦА(C9;0));1;0);ЕСЛИ(ДЕНЬ(C9)=ДЕНЬ(КОНМЕСЯЦА(C9;0));1;-1))
 
Ответить
Сообщениеjulia5555, в Выборе мы считали полный ли начальный и конечный месяц, и исходя из полученного прибавляли/убавляли его
конструкцию
Код
ВЫБОР((ДЕНЬ(B9)=1)+(ДЕНЬ(C9)=ДЕНЬ(КОНМЕСЯЦА(C9;0)))+1;-1;0;1)

можно представить с помощью ЕСЛИ(), может так понятней будет
Код
ЕСЛИ((ДЕНЬ(B9)=1);ЕСЛИ(ДЕНЬ(C9)=ДЕНЬ(КОНМЕСЯЦА(C9;0));1;0);ЕСЛИ(ДЕНЬ(C9)=ДЕНЬ(КОНМЕСЯЦА(C9;0));1;-1))

Автор - sboy
Дата добавления - 12.07.2017 в 17:44
_Boroda_ Дата: Среда, 12.07.2017, 19:08 | Сообщение № 12
Группа: Модераторы
Ранг: Местный житель
Сообщений: 10842
Репутация: 4479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
ВЫБОР((ДЕНЬ(B9)=1)+(ДЕНЬ(C9)=ДЕНЬ(КОНМЕСЯЦА(C9;0)))+1;-1;0;1)

=
Код
=(ДЕНЬ(B9)=1)+(ДЕНЬ(C9)=ДЕНЬ(КОНМЕСЯЦА(C9;0)))-1
Не?


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
ВЫБОР((ДЕНЬ(B9)=1)+(ДЕНЬ(C9)=ДЕНЬ(КОНМЕСЯЦА(C9;0)))+1;-1;0;1)

=
Код
=(ДЕНЬ(B9)=1)+(ДЕНЬ(C9)=ДЕНЬ(КОНМЕСЯЦА(C9;0)))-1
Не?

Автор - _Boroda_
Дата добавления - 12.07.2017 в 19:08
julia5555 Дата: Четверг, 13.07.2017, 08:53 | Сообщение № 13
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
_Boroda_, проверила еще раз если вводить дату 02.02.2017-27.02.2017, то полных месяцев 0, а мне пишет ошибку (ЧИСЛО)
НО если ставлю 01.02.2017-27.02.2017 то пишет 0
и если вторая дата это конец месяца 02.02.2017-28.02.2017 тоже 0


Сообщение отредактировал julia5555 - Четверг, 13.07.2017, 09:09
 
Ответить
Сообщение_Boroda_, проверила еще раз если вводить дату 02.02.2017-27.02.2017, то полных месяцев 0, а мне пишет ошибку (ЧИСЛО)
НО если ставлю 01.02.2017-27.02.2017 то пишет 0
и если вторая дата это конец месяца 02.02.2017-28.02.2017 тоже 0

Автор - julia5555
Дата добавления - 13.07.2017 в 08:53
_Boroda_ Дата: Четверг, 13.07.2017, 09:13 | Сообщение № 14
Группа: Модераторы
Ранг: Местный житель
Сообщений: 10842
Репутация: 4479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Да, согласен, если даты в одном месяце, то не то. Тогда чуть усложним
Код
=РАЗНДАТ(КОНМЕСЯЦА(B10-1;0);МАКС(КОНМЕСЯЦА(B10-1;0);КОНМЕСЯЦА(C10+1;-1)+1);"m")
К сообщению приложен файл: 0520567_2.xls(38Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеДа, согласен, если даты в одном месяце, то не то. Тогда чуть усложним
Код
=РАЗНДАТ(КОНМЕСЯЦА(B10-1;0);МАКС(КОНМЕСЯЦА(B10-1;0);КОНМЕСЯЦА(C10+1;-1)+1);"m")

Автор - _Boroda_
Дата добавления - 13.07.2017 в 09:13
julia5555 Дата: Четверг, 13.07.2017, 09:54 | Сообщение № 15
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
_Boroda_, вроде все идеально!
Посмотрите мой файл я добавила условие, мне необходимо если начало периода меньше 01.01.2017 (например 05.04.2016) то чтобы месяца рассчитывались с 01.01.2017
К сообщению приложен файл: __.xls(24Kb)
 
Ответить
Сообщение_Boroda_, вроде все идеально!
Посмотрите мой файл я добавила условие, мне необходимо если начало периода меньше 01.01.2017 (например 05.04.2016) то чтобы месяца рассчитывались с 01.01.2017

Автор - julia5555
Дата добавления - 13.07.2017 в 09:54
_Boroda_ Дата: Четверг, 13.07.2017, 10:12 | Сообщение № 16
Группа: Модераторы
Ранг: Местный житель
Сообщений: 10842
Репутация: 4479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Так хотели?
Код
=РАЗНДАТ(КОНМЕСЯЦА(МАКС(F$2;B10)-1;0);МАКС(КОНМЕСЯЦА(B10-1;0);КОНМЕСЯЦА(C10+1;-1)+1);"m")


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТак хотели?
Код
=РАЗНДАТ(КОНМЕСЯЦА(МАКС(F$2;B10)-1;0);МАКС(КОНМЕСЯЦА(B10-1;0);КОНМЕСЯЦА(C10+1;-1)+1);"m")

Автор - _Boroda_
Дата добавления - 13.07.2017 в 10:12
sboy Дата: Четверг, 13.07.2017, 10:45 | Сообщение № 17
Группа: Проверенные
Ранг: Ветеран
Сообщений: 771
Репутация: 200 ±
Замечаний: 0% ±

Excel 2010

ДА!) даже проще можно
Код
=(ДЕНЬ(B9)=1)+(C9=КОНМЕСЯЦА(C9;0))-1
 
Ответить
Сообщение
ДА!) даже проще можно
Код
=(ДЕНЬ(B9)=1)+(C9=КОНМЕСЯЦА(C9;0))-1

Автор - sboy
Дата добавления - 13.07.2017 в 10:45
julia5555 Дата: Суббота, 15.07.2017, 10:40 | Сообщение № 18
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
_Boroda_, спасибо большое! еще тестирую, но пока все отлично!!! спасибо еще раз
 
Ответить
Сообщение_Boroda_, спасибо большое! еще тестирую, но пока все отлично!!! спасибо еще раз

Автор - julia5555
Дата добавления - 15.07.2017 в 10:40
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Полное количество месяцев между диапазоном дат (Формулы/Formulas)
Страница 1 из 11
Поиск:

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