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

Вход

Регистрация

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

 

= Мир MS Excel/Кол-во Суббот в месяце - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Кол-во Суббот в месяце
mike Дата: Воскресенье, 07.04.2013, 22:20 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

Привет!)
Не могу найти как вычисляется кол-во, например, Суббот в текущем месяце...(
Заранее спасибо!)
 
Ответить
СообщениеПривет!)
Не могу найти как вычисляется кол-во, например, Суббот в текущем месяце...(
Заранее спасибо!)

Автор - mike
Дата добавления - 07.04.2013 в 22:20
ikki Дата: Воскресенье, 07.04.2013, 22:31 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
Цитата (mike)
Не могу найти

просто чисто любопытно: как именно искали?
не с фонариком в городском парке?

запрос в гугле "excel посчитать число суббот" (вот так тупо, да) прямиком вывел сюда: http://otvety.google.ru/otvety/thread?tid=471e41676e02599a
не уверен, что там приведено оптимальное решение, но оно вполне рабочее.


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki
 
Ответить
Сообщение
Цитата (mike)
Не могу найти

просто чисто любопытно: как именно искали?
не с фонариком в городском парке?

запрос в гугле "excel посчитать число суббот" (вот так тупо, да) прямиком вывел сюда: http://otvety.google.ru/otvety/thread?tid=471e41676e02599a
не уверен, что там приведено оптимальное решение, но оно вполне рабочее.

Автор - ikki
Дата добавления - 07.04.2013 в 22:31
_Boroda_ Дата: Воскресенье, 07.04.2013, 22:43 | Сообщение № 3
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Цитата (ikki)
прямиком вывел сюда

Это все хорошо, а одной формулой?
У меня получилось так:
Код
=СУММПРОИЗВ(--(ЕСЛИ(МЕСЯЦ(СТРОКА(A1:A31)+СЕГОДНЯ()-ДЕНЬ(СЕГОДНЯ()))=МЕСЯЦ(СЕГОДНЯ());ДЕНЬНЕД(СТРОКА(A1:A31)+СЕГОДНЯ()-ДЕНЬ(СЕГОДНЯ());2);8)=6))

Формула массива, вводить одновременным нажатием Контрл Шифт и Ентер
Со СМЕЩ должно быть покороче, но зато эта нелетучая и без подключения надстроек для 2003.


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
Цитата (ikki)
прямиком вывел сюда

Это все хорошо, а одной формулой?
У меня получилось так:
Код
=СУММПРОИЗВ(--(ЕСЛИ(МЕСЯЦ(СТРОКА(A1:A31)+СЕГОДНЯ()-ДЕНЬ(СЕГОДНЯ()))=МЕСЯЦ(СЕГОДНЯ());ДЕНЬНЕД(СТРОКА(A1:A31)+СЕГОДНЯ()-ДЕНЬ(СЕГОДНЯ());2);8)=6))

Формула массива, вводить одновременным нажатием Контрл Шифт и Ентер
Со СМЕЩ должно быть покороче, но зато эта нелетучая и без подключения надстроек для 2003.

Автор - _Boroda_
Дата добавления - 07.04.2013 в 22:43
Gustav Дата: Воскресенье, 07.04.2013, 22:47 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2766
Репутация: 1140 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
У меня такая, тоже массива, для даты из A1:

Код
=СУММ(1*(6=ДЕНЬНЕД(КОНМЕСЯЦА(A1;0)+1-СТРОКА(ДВССЫЛ("1:"&ДЕНЬ(КОНМЕСЯЦА(A1;0))));2)))


МОИ: Ник, Tip box: 41001663842605
 
Ответить
СообщениеУ меня такая, тоже массива, для даты из A1:

Код
=СУММ(1*(6=ДЕНЬНЕД(КОНМЕСЯЦА(A1;0)+1-СТРОКА(ДВССЫЛ("1:"&ДЕНЬ(КОНМЕСЯЦА(A1;0))));2)))

Автор - Gustav
Дата добавления - 07.04.2013 в 22:47
mike Дата: Воскресенье, 07.04.2013, 22:53 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

ахах, не думал, что всё так сложно) с виду задачка простая)
спасибо!
 
Ответить
Сообщениеахах, не думал, что всё так сложно) с виду задачка простая)
спасибо!

Автор - mike
Дата добавления - 07.04.2013 в 22:53
_Boroda_ Дата: Воскресенье, 07.04.2013, 22:59 | Сообщение № 6
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Цитата (Gustav)
У меня такая, тоже массива, для даты из A1:

Ну, если с ДВССЫЛ и КОНМЕСЯЦА, то можно немного короче
Код
=СУММ(1*(6=ДЕНЬНЕД(СТРОКА(ДВССЫЛ(КОНМЕСЯЦА(A1;-1)+1&":"&КОНМЕСЯЦА(A1;0)));2)))


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
Цитата (Gustav)
У меня такая, тоже массива, для даты из A1:

Ну, если с ДВССЫЛ и КОНМЕСЯЦА, то можно немного короче
Код
=СУММ(1*(6=ДЕНЬНЕД(СТРОКА(ДВССЫЛ(КОНМЕСЯЦА(A1;-1)+1&":"&КОНМЕСЯЦА(A1;0)));2)))

Автор - _Boroda_
Дата добавления - 07.04.2013 в 22:59
ShAM Дата: Воскресенье, 07.04.2013, 23:02 | Сообщение № 7
Группа: Друзья
Ранг: Старожил
Сообщений: 1347
Репутация: 249 ±
Замечаний: 0% ±

Excel 2010
Ну, и я выложу, раз написал. Массивный ввод не нужен.
Код
=СУММПРОИЗВ(--(ДЕНЬНЕД(ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ(СЕГОДНЯ());СТРОКА(ДВССЫЛ("1:"&ДЕНЬ(КОНМЕСЯЦА(СЕГОДНЯ();0))))))=7))
 
Ответить
СообщениеНу, и я выложу, раз написал. Массивный ввод не нужен.
Код
=СУММПРОИЗВ(--(ДЕНЬНЕД(ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ(СЕГОДНЯ());СТРОКА(ДВССЫЛ("1:"&ДЕНЬ(КОНМЕСЯЦА(СЕГОДНЯ();0))))))=7))

Автор - ShAM
Дата добавления - 07.04.2013 в 23:02
ikki Дата: Воскресенье, 07.04.2013, 23:14 | Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
Цитата (_Boroda_)
Это все хорошо, а одной формулой?

дело не в этом.
biggrin


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki
 
Ответить
Сообщение
Цитата (_Boroda_)
Это все хорошо, а одной формулой?

дело не в этом.
biggrin

Автор - ikki
Дата добавления - 07.04.2013 в 23:14
ShAM Дата: Воскресенье, 07.04.2013, 23:21 | Сообщение № 9
Группа: Друзья
Ранг: Старожил
Сообщений: 1347
Репутация: 249 ±
Замечаний: 0% ±

Excel 2010
Цитата (_Boroda_)
Ну, если с ДВССЫЛ и КОНМЕСЯЦА, то можно немного короче

Можно еще на пару символов короче smile
Код
=СУММ(1*(7=ДЕНЬНЕД(СТРОКА(ДВССЫЛ(КОНМЕСЯЦА(A1;-1)+1&":"&КОНМЕСЯЦА(A1;0))))))
 
Ответить
Сообщение
Цитата (_Boroda_)
Ну, если с ДВССЫЛ и КОНМЕСЯЦА, то можно немного короче

Можно еще на пару символов короче smile
Код
=СУММ(1*(7=ДЕНЬНЕД(СТРОКА(ДВССЫЛ(КОНМЕСЯЦА(A1;-1)+1&":"&КОНМЕСЯЦА(A1;0))))))

Автор - ShAM
Дата добавления - 07.04.2013 в 23:21
MCH Дата: Воскресенье, 07.04.2013, 23:40 | Сообщение № 10
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация: 752 ±
Замечаний: ±

ну и мой вариант, без массивов и пакета анализа:
Код
=4+(ДЕНЬ(ДАТА(ГОД(A1);МЕСЯЦ(A1)+1;))-ОСТАТ(6-A1+ДЕНЬ(A1);7)>28)
 
Ответить
Сообщениену и мой вариант, без массивов и пакета анализа:
Код
=4+(ДЕНЬ(ДАТА(ГОД(A1);МЕСЯЦ(A1)+1;))-ОСТАТ(6-A1+ДЕНЬ(A1);7)>28)

Автор - MCH
Дата добавления - 07.04.2013 в 23:40
AlexM Дата: Понедельник, 08.04.2013, 10:14 | Сообщение № 11
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1129 ±
Замечаний: 0% ±

Excel 2003
Михаил, в вашей формуле лишние 10 знаков
Код
=4+(ДЕНЬ(ДАТА(ГОД(A1);МЕСЯЦ(A1)+1;))-ОСТАТ(-A1;7)>28)



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеМихаил, в вашей формуле лишние 10 знаков
Код
=4+(ДЕНЬ(ДАТА(ГОД(A1);МЕСЯЦ(A1)+1;))-ОСТАТ(-A1;7)>28)

Автор - AlexM
Дата добавления - 08.04.2013 в 10:14
MCH Дата: Понедельник, 08.04.2013, 13:32 | Сообщение № 12
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация: 752 ±
Замечаний: ±

Цитата (AlexM)
Михаил, в вашей формуле лишние 10 знаков

Я с этим не согласен, предложенная Вами формула работает не корректно
в A1 ведь не обязательно может быть первое число месяца, там ведь может быть любая дата (например полученная через функцию СЕГОДНЯ)

Как работает моя формула:
В месяце может быть либо 4 либо 5 суббот, другого не может быть, отсюда часть формулы: =4+
часть формулы ДЕНЬ(ДАТА(ГОД(A1);МЕСЯЦ(A1)+1;)) - вычисляем количество дней в месяце (можно сократить за счет использования КОНМЕСЯЦА)
часть формулы ОСТАТ(6-A1+ДЕНЬ(A1);7) вычисляет, сколько прошло дней до первой субботы в месяце
поэтому не корректно эту часть формулы заменять на ОСТАТ(-A1;7), т.к. в A1 может находится любая дата, а не только первое число

Если количество дней в месяце за вычетом дней до первой субботы больше 28, то в месяце 5 суббот, иначе - 4
К сообщению приложен файл: Dates.xlsx (70.0 Kb)
 
Ответить
Сообщение
Цитата (AlexM)
Михаил, в вашей формуле лишние 10 знаков

Я с этим не согласен, предложенная Вами формула работает не корректно
в A1 ведь не обязательно может быть первое число месяца, там ведь может быть любая дата (например полученная через функцию СЕГОДНЯ)

Как работает моя формула:
В месяце может быть либо 4 либо 5 суббот, другого не может быть, отсюда часть формулы: =4+
часть формулы ДЕНЬ(ДАТА(ГОД(A1);МЕСЯЦ(A1)+1;)) - вычисляем количество дней в месяце (можно сократить за счет использования КОНМЕСЯЦА)
часть формулы ОСТАТ(6-A1+ДЕНЬ(A1);7) вычисляет, сколько прошло дней до первой субботы в месяце
поэтому не корректно эту часть формулы заменять на ОСТАТ(-A1;7), т.к. в A1 может находится любая дата, а не только первое число

Если количество дней в месяце за вычетом дней до первой субботы больше 28, то в месяце 5 суббот, иначе - 4

Автор - MCH
Дата добавления - 08.04.2013 в 13:32
AlexM Дата: Понедельник, 08.04.2013, 13:59 | Сообщение № 13
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1129 ±
Замечаний: 0% ±

Excel 2003
Согласен с вами.
Как формула работает я разобрался.
Мне просто не повезло заменить разные результаты. Проверял на пару десятках разных дат. Результат был один.



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеСогласен с вами.
Как формула работает я разобрался.
Мне просто не повезло заменить разные результаты. Проверял на пару десятках разных дат. Результат был один.

Автор - AlexM
Дата добавления - 08.04.2013 в 13:59
  • Страница 1 из 1
  • 1
Поиск:

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