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

Вход

Регистрация

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

 

= Мир MS Excel/Подсчёт количества дней недели между датами - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Подсчёт количества дней недели между датами
KrosTj Дата: Среда, 24.01.2018, 16:46 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 74
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Добрый день! Помогите пожалуйста решить простенькую наверно задачку. Не нашёл на форуме. Если плохо искал будьте добры ссылку. Суть: Формула для нахождения количества определённых дней недели между заданными датами. Мой случай: Сколько было сред в промежутке между 24.07.2017 и сегодняшней датой. По факту мне нужно 2 формулы: кол-во всех четвергов и их количество за исключением праздничных. Думаю неразумно будет создавать для такого крошечного условия новую тему.
 
Ответить
СообщениеДобрый день! Помогите пожалуйста решить простенькую наверно задачку. Не нашёл на форуме. Если плохо искал будьте добры ссылку. Суть: Формула для нахождения количества определённых дней недели между заданными датами. Мой случай: Сколько было сред в промежутке между 24.07.2017 и сегодняшней датой. По факту мне нужно 2 формулы: кол-во всех четвергов и их количество за исключением праздничных. Думаю неразумно будет создавать для такого крошечного условия новую тему.

Автор - KrosTj
Дата добавления - 24.01.2018 в 16:46
SLAVICK Дата: Среда, 24.01.2018, 17:17 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Код
=СУММПРОИЗВ((ДЕНЬНЕД(СТРОКА($A$30000:$A$60000);2)=4)*(СТРОКА($A$30000:$A$60000)>=B1)*(СТРОКА($A$30000:$A$60000)<=B2)*ЕОШИБКА(ПОИСКПОЗ(СТРОКА($A$30000:$A$60000);F2:F35;0)))
К сообщению приложен файл: -_.xlsx (8.7 Kb)


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
Код
=СУММПРОИЗВ((ДЕНЬНЕД(СТРОКА($A$30000:$A$60000);2)=4)*(СТРОКА($A$30000:$A$60000)>=B1)*(СТРОКА($A$30000:$A$60000)<=B2)*ЕОШИБКА(ПОИСКПОЗ(СТРОКА($A$30000:$A$60000);F2:F35;0)))

Автор - SLAVICK
Дата добавления - 24.01.2018 в 17:17
krosav4ig Дата: Среда, 24.01.2018, 17:51 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Код
=ОТБР((B2-ОКРВВЕРХ(B1-B3-1;7)-B3-1)/7)-СУММПРОИЗВ((F2:F10>=B1)*(F2:F10<=B2)*(ДЕНЬНЕД(F2:F10;2)=B3))
К сообщению приложен файл: 3662645.xlsx (8.4 Kb)


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

Сообщение отредактировал krosav4ig - Среда, 24.01.2018, 17:53
 
Ответить
Сообщение
Код
=ОТБР((B2-ОКРВВЕРХ(B1-B3-1;7)-B3-1)/7)-СУММПРОИЗВ((F2:F10>=B1)*(F2:F10<=B2)*(ДЕНЬНЕД(F2:F10;2)=B3))

Автор - krosav4ig
Дата добавления - 24.01.2018 в 17:51
SLAVICK Дата: Четверг, 25.01.2018, 10:02 | Сообщение № 4
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
krosav4ig, что-то пошло не так :)
в Январе по примеру
Код
4чт - 1вых чт = 3
, а Ваша формула считает 2 :o .


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщениеkrosav4ig, что-то пошло не так :)
в Январе по примеру
Код
4чт - 1вых чт = 3
, а Ваша формула считает 2 :o .

Автор - SLAVICK
Дата добавления - 25.01.2018 в 10:02
KrosTj Дата: Четверг, 25.01.2018, 18:12 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 74
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
SLAVICK, мог бы пояснить написанное и как нибудь без создания чего-то дополнительного вроде столбца для дат января и тд. Просто формулу если возможно.
 
Ответить
СообщениеSLAVICK, мог бы пояснить написанное и как нибудь без создания чего-то дополнительного вроде столбца для дат января и тд. Просто формулу если возможно.

Автор - KrosTj
Дата добавления - 25.01.2018 в 18:12
krosav4ig Дата: Четверг, 25.01.2018, 18:15 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
точно, совсем забыл, нужно было еще 1 неделю вычесть
Код
=ОТБР((B2-ОКРВВЕРХ(B1-B3-8;7)-B3-1)/7)-СУММПРОИЗВ((F2:F10>=B1)*(F2:F10<=B2)*(ДЕНЬНЕД(F2:F10;2)=B3))

или ОКРВНИЗ использовать
Код
=ОТБР((B2-ОКРВНИЗ(С-B3-1;7)-B3-1)/7)-СУММПРОИЗВ((F2:F10>=B1)*(F2:F10<=B2)*(ДЕНЬНЕД(F2:F10;2)=B3))


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

Сообщение отредактировал krosav4ig - Четверг, 25.01.2018, 19:29
 
Ответить
Сообщениеточно, совсем забыл, нужно было еще 1 неделю вычесть
Код
=ОТБР((B2-ОКРВВЕРХ(B1-B3-8;7)-B3-1)/7)-СУММПРОИЗВ((F2:F10>=B1)*(F2:F10<=B2)*(ДЕНЬНЕД(F2:F10;2)=B3))

или ОКРВНИЗ использовать
Код
=ОТБР((B2-ОКРВНИЗ(С-B3-1;7)-B3-1)/7)-СУММПРОИЗВ((F2:F10>=B1)*(F2:F10<=B2)*(ДЕНЬНЕД(F2:F10;2)=B3))

Автор - krosav4ig
Дата добавления - 25.01.2018 в 18:15
SLAVICK Дата: Четверг, 25.01.2018, 18:39 | Сообщение № 7
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Можно и просто формулу.
Но если вы введете туда все выходные даты - она будет оч. длинной
Код
(ДЕНЬНЕД(СТРОКА($A$30000:$A$60000);2)=4) -Это ЧТ (4-й день)

Код
(СТРОКА($A$30000:$A$60000)>=B1) - больше какой даты

Код
(СТРОКА($A$30000:$A$60000)<=B2) - меньше какой даты

Код
ЕОШИБКА(ПОИСКПОЗ(СТРОКА($A$30000:$A$60000);F2:F35;0) - тут поиск выходных

F2:F35 можно заменить на цифровые выражения дат:
Код
{43101;43102;43103;43104;43105;43106}

Вся формула без ячеек:
Код
=СУММПРОИЗВ((ДЕНЬНЕД(СТРОКА($A$30000:$A$60000);2)=4)*(СТРОКА($A$30000:$A$60000)>=--"01.01.2018")*(СТРОКА($A$30000:$A$60000)<=--"30.01.2018")*ЕОШИБКА(ПОИСКПОЗ(СТРОКА($A$30000:$A$60000);{43101;43102;43103;43104;43105;43106};0)))

И ее интерпритация, вообще без использования диапазонов листа:
Код
=СУММПРОИЗВ((ДЕНЬНЕД(СТРОКА(ДВССЫЛ("30000:60000"));2)=4)*(СТРОКА(ДВССЫЛ("30000:60000"))>=--"01.01.2018")*(СТРОКА(ДВССЫЛ("30000:60000"))<=--"30.01.2018")*ЕОШИБКА(ПОИСКПОЗ(СТРОКА(ДВССЫЛ("30000:60000"));{43101;43102;43103;43104;43105;43106};0)))


Иногда все проще чем кажется с первого взгляда.
 
Ответить
СообщениеМожно и просто формулу.
Но если вы введете туда все выходные даты - она будет оч. длинной
Код
(ДЕНЬНЕД(СТРОКА($A$30000:$A$60000);2)=4) -Это ЧТ (4-й день)

Код
(СТРОКА($A$30000:$A$60000)>=B1) - больше какой даты

Код
(СТРОКА($A$30000:$A$60000)<=B2) - меньше какой даты

Код
ЕОШИБКА(ПОИСКПОЗ(СТРОКА($A$30000:$A$60000);F2:F35;0) - тут поиск выходных

F2:F35 можно заменить на цифровые выражения дат:
Код
{43101;43102;43103;43104;43105;43106}

Вся формула без ячеек:
Код
=СУММПРОИЗВ((ДЕНЬНЕД(СТРОКА($A$30000:$A$60000);2)=4)*(СТРОКА($A$30000:$A$60000)>=--"01.01.2018")*(СТРОКА($A$30000:$A$60000)<=--"30.01.2018")*ЕОШИБКА(ПОИСКПОЗ(СТРОКА($A$30000:$A$60000);{43101;43102;43103;43104;43105;43106};0)))

И ее интерпритация, вообще без использования диапазонов листа:
Код
=СУММПРОИЗВ((ДЕНЬНЕД(СТРОКА(ДВССЫЛ("30000:60000"));2)=4)*(СТРОКА(ДВССЫЛ("30000:60000"))>=--"01.01.2018")*(СТРОКА(ДВССЫЛ("30000:60000"))<=--"30.01.2018")*ЕОШИБКА(ПОИСКПОЗ(СТРОКА(ДВССЫЛ("30000:60000"));{43101;43102;43103;43104;43105;43106};0)))

Автор - SLAVICK
Дата добавления - 25.01.2018 в 18:39
krosav4ig Дата: Четверг, 25.01.2018, 19:19 | Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
мог бы пояснить написанное

по моей формуле
Без учета праздничных дней
1) С - Начальная дата от которой считаются дни недели
Код
С    =Лист1!$B$1
2) ПО - Конечная дата до которой считаются дни недели
Код
По    =Лист1!$B$2
3) ДН - порядковый номер дня недели
Код
ДН    =Лист1!$B$3
4) Д1 - Дата, значительно меньшая даты С и с днем недели = ДН
Понедельник - 2.1.1900 = 2
Вторник - 3.1.1900 = 3
...
Воскресенье - 8.1.1900 = 8
Код
Д1    =ДН+1
5) дата с днем недели = ДН <= даты С
Код
Д2    =ОКРВНИЗ(С-Д1;7)+Д1
6) Количество дней недели ДН между датами С и По
Код
КДН    =ОТБР((ПО-Д2)/7)
или
Код
=ОТБР((B2-ОКРВНИЗ(B1-B3-1;7)-B3-1)/7)
К сообщению приложен файл: 8878118.xlsx (9.1 Kb)


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

Сообщение отредактировал krosav4ig - Четверг, 25.01.2018, 20:58
 
Ответить
Сообщение
мог бы пояснить написанное

по моей формуле
Без учета праздничных дней
1) С - Начальная дата от которой считаются дни недели
Код
С    =Лист1!$B$1
2) ПО - Конечная дата до которой считаются дни недели
Код
По    =Лист1!$B$2
3) ДН - порядковый номер дня недели
Код
ДН    =Лист1!$B$3
4) Д1 - Дата, значительно меньшая даты С и с днем недели = ДН
Понедельник - 2.1.1900 = 2
Вторник - 3.1.1900 = 3
...
Воскресенье - 8.1.1900 = 8
Код
Д1    =ДН+1
5) дата с днем недели = ДН <= даты С
Код
Д2    =ОКРВНИЗ(С-Д1;7)+Д1
6) Количество дней недели ДН между датами С и По
Код
КДН    =ОТБР((ПО-Д2)/7)
или
Код
=ОТБР((B2-ОКРВНИЗ(B1-B3-1;7)-B3-1)/7)

Автор - krosav4ig
Дата добавления - 25.01.2018 в 19:19
krosav4ig Дата: Четверг, 25.01.2018, 22:50 | Сообщение № 9
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
С учетом праздничных дней
Код
=ОТБР((B2-ОКРВНИЗ(B1-B3-1;7)-B3-1)/7)-СЧЁТ(1/(ДЕНЬНЕД(ТЕКСТ(ТЕКСТ({43101:43102:43103:43104:43105:43106:43107:43108:43154:43167:43168:43220:43221:43222:43229:43262:43263:43409:43465};"[>="&B1&"]0;");"[<="&B2&"]0;"))=B3))
К сообщению приложен файл: 9135550.xlsx (8.8 Kb)


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

Сообщение отредактировал krosav4ig - Пятница, 26.01.2018, 00:27
 
Ответить
СообщениеС учетом праздничных дней
Код
=ОТБР((B2-ОКРВНИЗ(B1-B3-1;7)-B3-1)/7)-СЧЁТ(1/(ДЕНЬНЕД(ТЕКСТ(ТЕКСТ({43101:43102:43103:43104:43105:43106:43107:43108:43154:43167:43168:43220:43221:43222:43229:43262:43263:43409:43465};"[>="&B1&"]0;");"[<="&B2&"]0;"))=B3))

Автор - krosav4ig
Дата добавления - 25.01.2018 в 22:50
  • Страница 1 из 1
  • 1
Поиск:

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