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

Вход

Регистрация

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

 

= Мир MS Excel/Подтянуть нужный по порядку рабочий день - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Подтянуть нужный по порядку рабочий день
Samaretz9273 Дата: Вторник, 04.02.2025, 13:01 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Господа, всем здравствуйте!

Есть список дат (дни идут подряд, если это важно) и отметка о том, является ли этот день рабочим (1 - рабочий день, 0 - выходной).

Пользователь в серых ячейках выбирает месяц (ячейка F4 - например, март) и указывает, какой рабочий день ему требуется в формате "WD+Num" или "WD-Num", где Num - целое число (может быть однозначным или двузначным).

Если в ячейке после "WD" указан символ "плюс", то нужно отобразить такой по порядку рабочий день выбранного месяца (в данном случае марта), какое число указано после плюса, т.е. WD+1 должно возвратить первый рабочий день, WD+2 - второй рабочий день и т.п.

Если в ячейке после "WD" указан символ "минус", то нужно отобразить такой по порядку рабочий день С КОНЦА предыдущего месяца (в данном случае получается февраля), какое число указано после минуса, т.е. WD-1 должно возвратить последний рабочий день февраля, WD-2 - предпоследний рабочий день февраля и т.п.

Само собой, определять, рабочий или нерабочий конкретно этот день, необходимо не из внутренней логики Excel, а исходя из массива дат.

Есть идеи, как это можно встроенными формулами Excel реализовать или проще будет начать пилить UDF с подобными требованиями? %)
К сообщению приложен файл: excelworld_wds.xls (43.5 Kb)
 
Ответить
СообщениеГоспода, всем здравствуйте!

Есть список дат (дни идут подряд, если это важно) и отметка о том, является ли этот день рабочим (1 - рабочий день, 0 - выходной).

Пользователь в серых ячейках выбирает месяц (ячейка F4 - например, март) и указывает, какой рабочий день ему требуется в формате "WD+Num" или "WD-Num", где Num - целое число (может быть однозначным или двузначным).

Если в ячейке после "WD" указан символ "плюс", то нужно отобразить такой по порядку рабочий день выбранного месяца (в данном случае марта), какое число указано после плюса, т.е. WD+1 должно возвратить первый рабочий день, WD+2 - второй рабочий день и т.п.

Если в ячейке после "WD" указан символ "минус", то нужно отобразить такой по порядку рабочий день С КОНЦА предыдущего месяца (в данном случае получается февраля), какое число указано после минуса, т.е. WD-1 должно возвратить последний рабочий день февраля, WD-2 - предпоследний рабочий день февраля и т.п.

Само собой, определять, рабочий или нерабочий конкретно этот день, необходимо не из внутренней логики Excel, а исходя из массива дат.

Есть идеи, как это можно встроенными формулами Excel реализовать или проще будет начать пилить UDF с подобными требованиями? %)

Автор - Samaretz9273
Дата добавления - 04.02.2025 в 13:01
прохожий2019 Дата: Вторник, 04.02.2025, 13:28 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 1310
Репутация: 334 ±
Замечаний: 0% ±

365 Beta Channel
Код
=LET(x;--ТЕКСТДО(ТЕКСТПОСЛЕ(E6;"WD");":");n;ЕСЛИ(x>0;F4;F4-1);ВЫБОРСТРОК(ФИЛЬТР(B4:B400;(МЕСЯЦ(B4:B400)=n)*C4:C400);x))
 
Ответить
Сообщение
Код
=LET(x;--ТЕКСТДО(ТЕКСТПОСЛЕ(E6;"WD");":");n;ЕСЛИ(x>0;F4;F4-1);ВЫБОРСТРОК(ФИЛЬТР(B4:B400;(МЕСЯЦ(B4:B400)=n)*C4:C400);x))

Автор - прохожий2019
Дата добавления - 04.02.2025 в 13:28
Samaretz9273 Дата: Вторник, 04.02.2025, 13:31 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

прохожий2019, спасибо, но если бы это еще было в старых формулах - цены бы не было: здесь на работе 2016-ый Офис... :-(
 
Ответить
Сообщениепрохожий2019, спасибо, но если бы это еще было в старых формулах - цены бы не было: здесь на работе 2016-ый Офис... :-(

Автор - Samaretz9273
Дата добавления - 04.02.2025 в 13:31
Nic70y Дата: Вторник, 04.02.2025, 14:27 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 9056
Репутация: 2383 ±
Замечаний: 0% ±

Excel 2010
для древних версий
К сообщению приложен файл: excelworld_wds18.xls (45.5 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщениедля древних версий

Автор - Nic70y
Дата добавления - 04.02.2025 в 14:27
Samaretz9273 Дата: Вторник, 04.02.2025, 14:36 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Nic70y, то, что нужно; спасибо!!! :-)
 
Ответить
СообщениеNic70y, то, что нужно; спасибо!!! :-)

Автор - Samaretz9273
Дата добавления - 04.02.2025 в 14:36
прохожий2019 Дата: Вторник, 04.02.2025, 16:30 | Сообщение № 6
Группа: Проверенные
Ранг: Старожил
Сообщений: 1310
Репутация: 334 ±
Замечаний: 0% ±

365 Beta Channel
для древних версий

Код
=ЕСЛИ(F9>0;НАИМЕНЬШИЙ(ЕСЛИОШИБКА($B$4:$B$400/$C$4:$C$400/(МЕСЯЦ($B$4:$B$400)=$F$4);"");F9);НАИБОЛЬШИЙ(ЕСЛИОШИБКА($B$4:$B$400/$C$4:$C$400/(МЕСЯЦ($B$4:$B$400)=($F$4-1));"");-F9))
К сообщению приложен файл: excelworld_wds18.xlsx (15.8 Kb)
 
Ответить
Сообщение
для древних версий

Код
=ЕСЛИ(F9>0;НАИМЕНЬШИЙ(ЕСЛИОШИБКА($B$4:$B$400/$C$4:$C$400/(МЕСЯЦ($B$4:$B$400)=$F$4);"");F9);НАИБОЛЬШИЙ(ЕСЛИОШИБКА($B$4:$B$400/$C$4:$C$400/(МЕСЯЦ($B$4:$B$400)=($F$4-1));"");-F9))

Автор - прохожий2019
Дата добавления - 04.02.2025 в 16:30
gling Дата: Вторник, 04.02.2025, 20:04 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2596
Репутация: 718 ±
Замечаний: 0% ±

2010
Еще вариант. Доп вычисления в диспетчере имен.
К сообщению приложен файл: 2064618.xls (50.5 Kb)


ЯД-41001506838083
 
Ответить
СообщениеЕще вариант. Доп вычисления в диспетчере имен.

Автор - gling
Дата добавления - 04.02.2025 в 20:04
  • Страница 1 из 1
  • 1
Поиск:

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