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

Вход

Регистрация

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

 

= Мир MS Excel/Расчёт количества по условию частоты дней недели - Мир MS Excel

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

Excel 2016
Привет, друзья!
Такая вот задачка:
есть начало и конец периода, а также частота выполнения условия по дням недели пн, ср, пт, вс - например.
Как посчитать общее количество выполнения условия
в исходной таблице это выглядит как

01.01.2019 | 30.09.2019 | 1357

где 1357 - номера дней недели с пн по вс.
 
Ответить
СообщениеПривет, друзья!
Такая вот задачка:
есть начало и конец периода, а также частота выполнения условия по дням недели пн, ср, пт, вс - например.
Как посчитать общее количество выполнения условия
в исходной таблице это выглядит как

01.01.2019 | 30.09.2019 | 1357

где 1357 - номера дней недели с пн по вс.

Автор - Transmiter
Дата добавления - 01.11.2019 в 23:16
bmv98rus Дата: Суббота, 02.11.2019, 08:20 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4112
Репутация: 769 ±
Замечаний: 0% ±

Excel 2013/2016
массивная
Код
=SUM(IFERROR(--(WEEKDAY(ROW(INDEX(A:A;A1):INDEX(A:A;B1));2)=--MID(C1;{1\2\3\4\5\6\7};1));))

А так длиннее, но должна быть пошустрее
Код
=INT(INT(B1-A1+1)/7)*LEN(C1)+IF(MOD(B1-A1+1;7);SUM(IFERROR(--(ROW(INDEX(A:A;WEEKDAY(A1;2)):INDEX(A:A;WEEKDAY(B1;2)))=--MID(C1;{1\2\3\4\5\6\7};1));));)
И ошибочно считает :-(


Замечательный Временно просто медведь , процентов на 20.

Сообщение отредактировал bmv98rus - Суббота, 02.11.2019, 21:11
 
Ответить
Сообщениемассивная
Код
=SUM(IFERROR(--(WEEKDAY(ROW(INDEX(A:A;A1):INDEX(A:A;B1));2)=--MID(C1;{1\2\3\4\5\6\7};1));))

А так длиннее, но должна быть пошустрее
Код
=INT(INT(B1-A1+1)/7)*LEN(C1)+IF(MOD(B1-A1+1;7);SUM(IFERROR(--(ROW(INDEX(A:A;WEEKDAY(A1;2)):INDEX(A:A;WEEKDAY(B1;2)))=--MID(C1;{1\2\3\4\5\6\7};1));));)
И ошибочно считает :-(

Автор - bmv98rus
Дата добавления - 02.11.2019 в 08:20
Transmiter Дата: Суббота, 02.11.2019, 16:36 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Попробовал 2-й вариант. На косые \ - где дни недели xls ругнулся. Убрал косые и заменил на (1234567)
ввел диапазон дат 01.01.2019 - 31.01.2019 частоту дней поставил 1234567 - результат почему-то не 31, а 28.
Ну и при частоте 14 (понедельник, четверг) выдаёт 8, а не 9.
Где тут "собака порылась"? ))
 
Ответить
СообщениеПопробовал 2-й вариант. На косые \ - где дни недели xls ругнулся. Убрал косые и заменил на (1234567)
ввел диапазон дат 01.01.2019 - 31.01.2019 частоту дней поставил 1234567 - результат почему-то не 31, а 28.
Ну и при частоте 14 (понедельник, четверг) выдаёт 8, а не 9.
Где тут "собака порылась"? ))

Автор - Transmiter
Дата добавления - 02.11.2019 в 16:36
bmv98rus Дата: Суббота, 02.11.2019, 17:21 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4112
Репутация: 769 ±
Замечаний: 0% ±

Excel 2013/2016
Где тут "собака порылась"? ))
в том что или формулы надо нормально перевести на русский с учетом разных разделителей. или сразу пример файла прикладывать.
кажется \ надо заменить на ;


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщение
Где тут "собака порылась"? ))
в том что или формулы надо нормально перевести на русский с учетом разных разделителей. или сразу пример файла прикладывать.
кажется \ надо заменить на ;

Автор - bmv98rus
Дата добавления - 02.11.2019 в 17:21
Transmiter Дата: Суббота, 02.11.2019, 19:14 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
bmv98rus, файл прикрепляю, замена не помогла...
К сообщению приложен файл: Days_expml.xlsx (7.9 Kb)
 
Ответить
Сообщениеbmv98rus, файл прикрепляю, замена не помогла...

Автор - Transmiter
Дата добавления - 02.11.2019 в 19:14
bmv98rus Дата: Суббота, 02.11.2019, 19:19 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4112
Репутация: 769 ±
Замечаний: 0% ±

Excel 2013/2016
замена не помогла...

а
массивная

было не просто так написано. вводить CTRL+SHIFT+ENTER


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщение
замена не помогла...

а
массивная

было не просто так написано. вводить CTRL+SHIFT+ENTER

Автор - bmv98rus
Дата добавления - 02.11.2019 в 19:19
Transmiter Дата: Суббота, 02.11.2019, 20:47 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
bmv98rus, так а дело в том, что и это не помогает. Если вводить период 1 - 31 июля 2019 г. и частоту 1234567, т.е. каждый день, то выдаёт кол-во верно - 31 день, а если, например, тот же период за 2000 г., выдаёт результат 34 дня...
 
Ответить
Сообщениеbmv98rus, так а дело в том, что и это не помогает. Если вводить период 1 - 31 июля 2019 г. и частоту 1234567, т.е. каждый день, то выдаёт кол-во верно - 31 день, а если, например, тот же период за 2000 г., выдаёт результат 34 дня...

Автор - Transmiter
Дата добавления - 02.11.2019 в 20:47
Pelena Дата: Суббота, 02.11.2019, 20:56 | Сообщение № 8
Группа: Админы
Ранг: Местный житель
Сообщений: 19392
Репутация: 4537 ±
Замечаний: ±

Excel 365 & Mac Excel
Первая формула правильно считает


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

Автор - Pelena
Дата добавления - 02.11.2019 в 20:56
bmv98rus Дата: Суббота, 02.11.2019, 21:10 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4112
Репутация: 769 ±
Замечаний: 0% ±

Excel 2013/2016
выдаёт результат 34 дня

Да, недоперемудрил :-). получаются значения 6 и 1 и от 6 до 1 это не 6,7,1 а 1-6 , вот и разница набегает как раз в 3.
Дабы не усложнять , наверно лучше первую использовать.


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщение
выдаёт результат 34 дня

Да, недоперемудрил :-). получаются значения 6 и 1 и от 6 до 1 это не 6,7,1 а 1-6 , вот и разница набегает как раз в 3.
Дабы не усложнять , наверно лучше первую использовать.

Автор - bmv98rus
Дата добавления - 02.11.2019 в 21:10
Transmiter Дата: Суббота, 02.11.2019, 22:06 | Сообщение № 10
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Pelena, да!
Спасибо всем огромное!
 
Ответить
СообщениеPelena, да!
Спасибо всем огромное!

Автор - Transmiter
Дата добавления - 02.11.2019 в 22:06
bmv98rus Дата: Понедельник, 04.11.2019, 08:16 | Сообщение № 11
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4112
Репутация: 769 ±
Замечаний: 0% ±

Excel 2013/2016
Вариант и не медленный и короткий
Код
=SUM(--(ISNUMBER(FIND(WEEKDAY(ROW(INDEX(A:A;A1):INDEX(A:A;B1));2);C1))))


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
СообщениеВариант и не медленный и короткий
Код
=SUM(--(ISNUMBER(FIND(WEEKDAY(ROW(INDEX(A:A;A1):INDEX(A:A;B1));2);C1))))

Автор - bmv98rus
Дата добавления - 04.11.2019 в 08:16
  • Страница 1 из 1
  • 1
Поиск:

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