Добрый день! Нужно составить график работы два через один. Чтоб можно было ввести дату первого раб. дня и оно на дней 30 просчитывало рабочие и выходные дни. Подскажите куда копать и смотреть. С экселем плохо знаком. Спасибо
Добрый день! Нужно составить график работы два через один. Чтоб можно было ввести дату первого раб. дня и оно на дней 30 просчитывало рабочие и выходные дни. Подскажите куда копать и смотреть. С экселем плохо знаком. СпасибоZaec
В первую очередь копать Правила форума, пункт 3 и выкладывать свои наработки. Потому что без них это получается не "Помогите сделать", а "Сделайте за меня", а для таких вопросов на форуме есть раздел платных услуг Работа
В первую очередь копать Правила форума, пункт 3 и выкладывать свои наработки. Потому что без них это получается не "Помогите сделать", а "Сделайте за меня", а для таких вопросов на форуме есть раздел платных услуг РаботаAlex_ST
Для начала переделать формулы чисел календаря чтобы там отображалось не просто число, а реальная дата. Копать функцию ДАТА. Для наглядности для всех этих чисел задать формат ячеек типа ДД. Создать условное форматирование ячеек с датами. Условие установить исходя из того, что дата в Excel - это обычное число, обозначающее количество дней, прошедших с 1 января 1990 года.
Для начала переделать формулы чисел календаря чтобы там отображалось не просто число, а реальная дата. Копать функцию ДАТА. Для наглядности для всех этих чисел задать формат ячеек типа ДД. Создать условное форматирование ячеек с датами. Условие установить исходя из того, что дата в Excel - это обычное число, обозначающее количество дней, прошедших с 1 января 1990 года.amur84
Я работаю с 2003 Excel, так что возможно пару команд в более поздних версиях вам надо будет поискать самому.
Начнем работать с блоком чисел января - это диапазон B4:H9. Пробежав по всем ячейкам в этом блоке и просмотрев формулы в них, понимаем, что в строках 1, 5 и 6 сложные формулы, а в остальных простые. Сложные формулы сделаны для того, чтобы выводить пустые ячейки. Нам нужно, чтобы вместо вычисленных чисел отображалась реальная дата в ячейках. Есть функция ДАТА, о ней можете подробно почитать в справке. Задается она 3-мя параметрами - год, месяц, и число. Год мы возьмем из ячейки A1, месяц из ячейки E2, а исходное вычисленное число даст нам день. В 1, 5 и 6 строках могут быть пустые ячейки, поэтому с ними надо повозиться. Создаем свои формулы, в которых будет фигурировать исходная формула.
Для ячейки B4 и C4 формула будет следующая. =ЕСЛИ(исходная формула="";"";ДАТА($A$1;Месяц($E2);исходная формула)) Также, для дальнейшего удобства копирования диапазона чисел месяца, нужно во всей исходной формуле $A$2 заменить на $A2. Далее формулу с ячейке C4 "растягиваем" до ячейки H4 - они идентичны.
В строках 2 - 4 формулы оставляем как есть - они просто прибавляют по одному дню к предыдущей дате.
Далее строки 5 и 6. В ячейке B5 исходной формуле нужно заменить МЕСЯЦ(ДАТА($A$1;МЕСЯЦ($E$2);H7)+1) на МЕСЯЦ(H7+1). Это мы делаем в связи с тем, что в ячейке H7 у нас теперь дата, а не просто число. Аналогично меняем и в ячейке С5, не забывая также во всех исходных формулах менять $A$2 на $A2. Теперь растянем две ячейки B5:C5 вниз и поменяем в обеих получившихся ячейках $E3 на $E2. Растягиваем формулы из ячейки С5:C6 до ячейки H6.
С формулами закончили. Теперь в ячейках у нас большие числа - это количество дней, прошедших с 1-го января 1900 года. Меняем отображаемый формат: Выделяем наш рабочий диапазон и заходим в меню Формат - Ячейки... На вкладке Число, в графе Числовые форматы выбираем Дата а затем (все форматы) и в строчке Тип: вписываем ДД Жмем ОК. Теперь наши большие числа превратились в обычные числа нашего месяца.
Я работаю с 2003 Excel, так что возможно пару команд в более поздних версиях вам надо будет поискать самому.
Начнем работать с блоком чисел января - это диапазон B4:H9. Пробежав по всем ячейкам в этом блоке и просмотрев формулы в них, понимаем, что в строках 1, 5 и 6 сложные формулы, а в остальных простые. Сложные формулы сделаны для того, чтобы выводить пустые ячейки. Нам нужно, чтобы вместо вычисленных чисел отображалась реальная дата в ячейках. Есть функция ДАТА, о ней можете подробно почитать в справке. Задается она 3-мя параметрами - год, месяц, и число. Год мы возьмем из ячейки A1, месяц из ячейки E2, а исходное вычисленное число даст нам день. В 1, 5 и 6 строках могут быть пустые ячейки, поэтому с ними надо повозиться. Создаем свои формулы, в которых будет фигурировать исходная формула.
Для ячейки B4 и C4 формула будет следующая. =ЕСЛИ(исходная формула="";"";ДАТА($A$1;Месяц($E2);исходная формула)) Также, для дальнейшего удобства копирования диапазона чисел месяца, нужно во всей исходной формуле $A$2 заменить на $A2. Далее формулу с ячейке C4 "растягиваем" до ячейки H4 - они идентичны.
В строках 2 - 4 формулы оставляем как есть - они просто прибавляют по одному дню к предыдущей дате.
Далее строки 5 и 6. В ячейке B5 исходной формуле нужно заменить МЕСЯЦ(ДАТА($A$1;МЕСЯЦ($E$2);H7)+1) на МЕСЯЦ(H7+1). Это мы делаем в связи с тем, что в ячейке H7 у нас теперь дата, а не просто число. Аналогично меняем и в ячейке С5, не забывая также во всех исходных формулах менять $A$2 на $A2. Теперь растянем две ячейки B5:C5 вниз и поменяем в обеих получившихся ячейках $E3 на $E2. Растягиваем формулы из ячейки С5:C6 до ячейки H6.
С формулами закончили. Теперь в ячейках у нас большие числа - это количество дней, прошедших с 1-го января 1900 года. Меняем отображаемый формат: Выделяем наш рабочий диапазон и заходим в меню Формат - Ячейки... На вкладке Число, в графе Числовые форматы выбираем Дата а затем (все форматы) и в строчке Тип: вписываем ДД Жмем ОК. Теперь наши большие числа превратились в обычные числа нашего месяца.amur84
Теперь создадим условное форматирование. Нашим аргументом для ячейки B5 будет формула =ЕСЛИ(ОСТАТ(B5+1-$H$1;3)=0;B5;0,1) При задании в ячейке H1 даты, данная формула выводит дату, указанную в ячейке B5, при выходном дне, а 0,1 - при рабочем. Выделяем ячейку B5 идем в Формат - Условное форматирование... и создаем 3 условия: 1. Если значение равно "", то оставляем форматирование как есть. 2. Если значение равно нашему аргументу, то делаем ячейку зеленой. 3. Если значение не равно нашему аргументу, то делаем ячейку красной.
Теперь "растягиваем" ячейку B5 до H5 и выбираем Заполнить только форматы. Диапазон B5:H5 растягиваем на 5 строк вниз, также выбирая Заполнить только форматы. Наше условное форматирование при этом копируется с учетом изменения в исходной формуле адреса на исходную ячейку.
Наш диапазон B4:H9 готов. Копируем его и вставляем в другие месяцы.
Вот и все, наш "график 2 через 1" готов.
Если будут вопросы в процессе реализации данного графика - пишите, будем разбираться.
Теперь создадим условное форматирование. Нашим аргументом для ячейки B5 будет формула =ЕСЛИ(ОСТАТ(B5+1-$H$1;3)=0;B5;0,1) При задании в ячейке H1 даты, данная формула выводит дату, указанную в ячейке B5, при выходном дне, а 0,1 - при рабочем. Выделяем ячейку B5 идем в Формат - Условное форматирование... и создаем 3 условия: 1. Если значение равно "", то оставляем форматирование как есть. 2. Если значение равно нашему аргументу, то делаем ячейку зеленой. 3. Если значение не равно нашему аргументу, то делаем ячейку красной.
Теперь "растягиваем" ячейку B5 до H5 и выбираем Заполнить только форматы. Диапазон B5:H5 растягиваем на 5 строк вниз, также выбирая Заполнить только форматы. Наше условное форматирование при этом копируется с учетом изменения в исходной формуле адреса на исходную ячейку.
Наш диапазон B4:H9 готов. Копируем его и вставляем в другие месяцы.
Вот и все, наш "график 2 через 1" готов.
Если будут вопросы в процессе реализации данного графика - пишите, будем разбираться.amur84
Создаем свои формулы, в которых будет фигурировать исходная формула. Для ячейки B4 и C4 формула будет следующая. =ЕСЛИ(исходная формула="";"";ДАТА($A$1;Месяц($E2);исходная формула)) Также, для дальнейшего удобства копирования диапазона чисел месяца, нужно во всей исходной формуле $A$2 заменить на $A2. Далее формулу с ячейке C4 "растягиваем" до ячейки H4 - они идентичны.
Создаем свои формулы, в которых будет фигурировать исходная формула. Для ячейки B4 и C4 формула будет следующая. =ЕСЛИ(исходная формула="";"";ДАТА($A$1;Месяц($E2);исходная формула)) Также, для дальнейшего удобства копирования диапазона чисел месяца, нужно во всей исходной формуле $A$2 заменить на $A2. Далее формулу с ячейке C4 "растягиваем" до ячейки H4 - они идентичны.
это в ячейке C4 =ЕСЛИ(ВЫБОР(ДЕНЬНЕД(ДАТА($A$1;МЕСЯЦ($E$2);1);2);"ПН";"ВТ";"СР";"ЧТ";"ПТ";"СБ";"ВС")=B3;1;"")
а надо =ЕСЛИ(ЕСЛИ(ВЫБОР(ДЕНЬНЕД(ДАТА($A$1;МЕСЯЦ($E2);1);2);"ПН";"ВТ";"СР";"ЧТ";"ПТ";"СБ";"ВС")=B3;1;"")="";"";ДАТА($A$1;Месяц($E2);ЕСЛИ(ВЫБОР(ДЕНЬНЕД(ДАТА($A$1;МЕСЯЦ($E2);1);2);"ПН";"ВТ";"СР";"ЧТ";"ПТ";"СБ";"ВС")=B3;1;"")))
это в ячейке C4 =ЕСЛИ(ВЫБОР(ДЕНЬНЕД(ДАТА($A$1;МЕСЯЦ($E$2);1);2);"ПН";"ВТ";"СР";"ЧТ";"ПТ";"СБ";"ВС")=B3;1;"")
а надо =ЕСЛИ(ЕСЛИ(ВЫБОР(ДЕНЬНЕД(ДАТА($A$1;МЕСЯЦ($E2);1);2);"ПН";"ВТ";"СР";"ЧТ";"ПТ";"СБ";"ВС")=B3;1;"")="";"";ДАТА($A$1;Месяц($E2);ЕСЛИ(ВЫБОР(ДЕНЬНЕД(ДАТА($A$1;МЕСЯЦ($E2);1);2);"ПН";"ВТ";"СР";"ЧТ";"ПТ";"СБ";"ВС")=B3;1;"")))amur84
Новый день. А что успел сделать ты?
Сообщение отредактировал amur84 - Суббота, 24.11.2012, 19:09
Тут моя ошибка. Извиняюсь. Дело в том, что в первой ячейке нашего месячного диапазона, обычное число становится большим числом, а дальше мы это большое число ставим в день месяца, поэтому и происходит сбой в числах.
Тут моя ошибка. Извиняюсь. Дело в том, что в первой ячейке нашего месячного диапазона, обычное число становится большим числом, а дальше мы это большое число ставим в день месяца, поэтому и происходит сбой в числах.amur84
Новый день. А что успел сделать ты?
Сообщение отредактировал amur84 - Понедельник, 26.11.2012, 10:00