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

Вход

Регистрация

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

 

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

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
как разнести количество дней периода по месяцам
luckyrok Дата: Пятница, 13.02.2015, 21:06 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
уважаемые товарищи спецы! Помогите!

Нужно разносить койко-дни туристов по месяцам, то есть сколько койко-дней было ,например, в июне, в мае и т.д.
Как это сделать подскажите, пожалуйста!!
К сообщению приложен файл: 123.xlsx (9.5 Kb)
 
Ответить
Сообщениеуважаемые товарищи спецы! Помогите!

Нужно разносить койко-дни туристов по месяцам, то есть сколько койко-дней было ,например, в июне, в мае и т.д.
Как это сделать подскажите, пожалуйста!!

Автор - luckyrok
Дата добавления - 13.02.2015 в 21:06
_Boroda_ Дата: Пятница, 13.02.2015, 21:55 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16911
Репутация: 6616 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Так нужно?
Код
=СУММПРОИЗВ(H$2:H$5*(ТЕКСТ(ДЕНЬ(E8)-ТЕКСТ(B$2:B$5-E8;"\0;0")-ТЕКСТ(D8-A$2:A$5;"\0;0");"0;\0")))
К сообщению приложен файл: 12344646_1.xlsx (9.6 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТак нужно?
Код
=СУММПРОИЗВ(H$2:H$5*(ТЕКСТ(ДЕНЬ(E8)-ТЕКСТ(B$2:B$5-E8;"\0;0")-ТЕКСТ(D8-A$2:A$5;"\0;0");"0;\0")))

Автор - _Boroda_
Дата добавления - 13.02.2015 в 21:55
luckyrok Дата: Понедельник, 16.02.2015, 10:18 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
_Boroda_, Спасибо огромное! Всё работает!! Не знаю как , но работает!)
 
Ответить
Сообщение_Boroda_, Спасибо огромное! Всё работает!! Не знаю как , но работает!)

Автор - luckyrok
Дата добавления - 16.02.2015 в 10:18
_Boroda_ Дата: Понедельник, 16.02.2015, 14:48 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 16911
Репутация: 6616 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Не знаю как

Давайте по порядку опишу.
1. D8-A$2:A$5 - из даты начала месяца вычитаем даты заезда, получаем массив, в котором если дата заезда раньше, чем начало месяца, то будет положительное кол-во дней, иначе - отрицательное.
2. ТЕКСТ(D8-A$2:A$5;"\0;0") - преобразуем массив из п.1. Если положительное значение, то ноль (\ перед любым символом дает нам именно этот символ), если отрицательное, то это же значение, только положительное (для отрицательного нужно было написать -0) - это количество дней разницы (может быть больше 31)
3. ТЕКСТ(B$2:B$5-E8;"\0;0") - аналогично п.п. 1 и 2 - если дата выезда больше даты окончания месяца, то получаем ноль, если меньше, то количество дней разницы (может быть больше 31).
4. ДЕНЬ(E8) - кол-во дней в месяце (можно было написать E8-D8+1).
5. Вычитаем из кол-ва дней в месяце "недостачу" с начала и с окончания месяца из пунктов 2 и 3. Получаем массив из нужного нам количества дней между первым и последним. Но, как всегда, не без засады - когда день заезда и день выезда уходят вовне месяца, то может получиться отрицательное значение, которое мы и убираем еще одним ТЕКСТ(...;"0;\0").
6. Потом умножаем полученный массив дней на такой же по размерности массив с количеством человек и складываем полученные перемноженные части.


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

Давайте по порядку опишу.
1. D8-A$2:A$5 - из даты начала месяца вычитаем даты заезда, получаем массив, в котором если дата заезда раньше, чем начало месяца, то будет положительное кол-во дней, иначе - отрицательное.
2. ТЕКСТ(D8-A$2:A$5;"\0;0") - преобразуем массив из п.1. Если положительное значение, то ноль (\ перед любым символом дает нам именно этот символ), если отрицательное, то это же значение, только положительное (для отрицательного нужно было написать -0) - это количество дней разницы (может быть больше 31)
3. ТЕКСТ(B$2:B$5-E8;"\0;0") - аналогично п.п. 1 и 2 - если дата выезда больше даты окончания месяца, то получаем ноль, если меньше, то количество дней разницы (может быть больше 31).
4. ДЕНЬ(E8) - кол-во дней в месяце (можно было написать E8-D8+1).
5. Вычитаем из кол-ва дней в месяце "недостачу" с начала и с окончания месяца из пунктов 2 и 3. Получаем массив из нужного нам количества дней между первым и последним. Но, как всегда, не без засады - когда день заезда и день выезда уходят вовне месяца, то может получиться отрицательное значение, которое мы и убираем еще одним ТЕКСТ(...;"0;\0").
6. Потом умножаем полученный массив дней на такой же по размерности массив с количеством человек и складываем полученные перемноженные части.

Автор - _Boroda_
Дата добавления - 16.02.2015 в 14:48
  • Страница 1 из 1
  • 1
Поиск:

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