Mini-ats102.ru

ООО “Мультилайн”
1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как в excel сделать выпадающий календарь

Exceltip

Одним из распространенных способов использования Excel является создание списков событий, встреч и других мероприятий, связанных с календарем. В то время как Excel способен с легкостью обрабатывать эти данные, он не имеет быстрого способа визуализировать эту информацию. Нам потребуется немного творчества, условного форматирования, несколько формул и 3 строки кода VBA, чтобы создать симпатичный, интерактивный календарь. Рассмотрим, как можем все это реализовать.

Я нашел этот пример на сайте Chandoo.org и делюсь им с вами.

Интерактивный календарь в Excel

На выходе у нас должно получиться что-то вроде этого:

Создаем таблицу с событиями

На листе Расчеты создаем таблицу со всеми событиями

Исходные данные

Настраиваем календарь

Так как все события происходят в рамках двух месяцев, я просто ввел первую дату первого месяца, протянул вниз и отформатировал так, чтобы было похоже на календарь. На данном этапе он должен выглядеть следующим образом.

Календарь excel

Задаем имя диапазону дат в календаре

Это просто, выделяем весь диапазон дат нашего календаря и в поле Имя задаем «Календарь»

имя календаря

Определяем ячейку с выделенной датой

На листе Расчеты выбираем пустую ячейку и задаем ей имя «ВыделеннаяЯчейка». Мы будем использовать ее для определения даты, которую выбрал пользователь. В нашем случае, это ячейка G3.

Добавляем макрос на событие Worksheet_selectionchange()

Описанный ниже код поможет идентифицировать, когда пользователь выбрал ячейку в диапазоне “Календарь”. Добавьте этот код на лист с календарем. Для этого открываем редактор VBA, нажатием Alt+F11. Копируем код ниже и вставляем его Лист1.

VBA редактор

Настраиваем формулы для отображения деталей при выборе даты

Изменение даты на календаре ведет за собой изменение 4-х параметров отображения в анонсе: название, дата, место и описание. Зная, что дата находится в ячейке «ВыделеннаяЯчейка», воспользуемся формулами ВПР, ЕСЛИ и ЕСЛИОШИБКА для определения этих параметров. Логика формул следующая: если на выбранную дату существует событие, возвращает данные этого события, иначе возвращает пустую ячейку. Формулы с определением параметров события находятся на листе Расчеты, в ячейках G10:G13.

Добавление анонса

Наконец добавляем в лист Календарь 4 элемента Надпись и привязываем их к данным, находящихся в ячейках G10:G13 листа Расчеты.

Совет: для того, чтобы привязать значение ячейки к элементу Надпись, просто выделите элемент, в строке формул наберите G10 и щелкните Enter.

Настраиваем условное форматирование для выделенной даты

Наконец, добавьте условное форматирование, чтобы выделить даты с событиями в календаре.

Выберите диапазон дат в календаре

Переходим на вкладке Главная в группу Стили –> Условное форматирование –> Создать правило

Читайте так же:
Импорт excel в базу данных

В диалоговом окне Создание правила форматирования, выберите тип правила Использовать формулу для определения форматируемых ячеек.

Задаем правила выделения как на рисунке

Условное форматирование

Форматируем

Подчищаем рабочий лист, форматируем наш календарь и получаем классную визуализацию.

Выпадающий список в Excel на основе исходных данных.

У нас есть Таблица №1, в которой есть два столбца, один с названием конфет, другой с ценой на эти конфеты. Сделаем выпадающий список на основе столбца с название конфет. Сделаем выпадающий список на том же листе, что и Таблица №1.

Выбираем ячейку, в которой будет располагаться наш выпадающий список. В нашем примере это ячейка F4. Далее, в закладке Данные, находим кнопку Проверка данных.

Выпадающий список в MS Exce

Нажимаем на кнопку Проверка данных, появляется диалоговое окно Проверка вводимых значений. Вводим нужные данные в поля этого диалогового окна.

Тип данных. Выбираем вариант: Список;

Источник. Выбираем диапазон ячеек, с теми данными, которые должны отражаться в нашем выпадающим списке. В нашем примере, это ячейки с названием конфет в Таблице №1 (C4:C13). Выбрать диапазон можно просто поставив курсор в поле Источник. После чего появиться возможность выбрать диапазон. После выбора диапазона, ссылки на него автоматически становятся абсолютными (=$C$4:$C$13).

Остальные пункты диалогового окна Проверка вводимых значений не трогаем.

Выпадающий список в MS Excel

Нажимаем ОК. После этого появиться выпадающий список в указанной нами ячейки. В нашем примере, в выпадающем списке будет перечень названия конфет из Таблицы №1.

Выпадающий список в MS Excel

Вместо использования диапазона, в поле Источник, можно использовать Заданное имя. Тогда в поле Источник, вместо диапазона =$C$4:$C$13, нужно будет прописать Заданное имя с знаком равно перед ним. Например: = Конфеты.

Выпадающий список в MS Excel

Можно разместить выпадающий список на отдельном листе. Например, наша Таблица №1 будет на Листе 1, а выпадающий список, на основе этой таблицы, будет на Листе 2. Алгоритм точно такой же, просто в поле Источник, выбираем нужный нам диапазон из Таблицы 1. При этом, в поле Источник, будет прописан не только диапазон ячеек, но и название Листа, на котором он находиться: =Лист1!$E$6:$E$15. В случае, если вместо диапазона используется Заданное имя, например Конфеты, то различий вообще нет. В поле Источник, будет прописано Заданное имя, перед которым будет знак равно: =Конфеты.

Пошаговая инструкция создания календаря в Excel

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

Делаем заголовки

В ячейку A1 вбиваем следующую формулу: ="Календарь на " & ГОД(СЕГОДНЯ()) & " год". Функция СЕГОДНЯ() возвращает текущую дату (мы часто будем ей пользоваться). Соответственно связка функций ГОД(СЕГОДНЯ()) возвратит нам текущий год.

Читайте так же:
Можно ли есть двухжелтковые яйца

Теперь создадим заголовки месяцев. В ячейку где стоит Январь запишем следующую формулу =ДАТА(ГОД(СЕГОДНЯ());1;1). Эта функция возвращает первое января текущего года (01.01.2015 в моем случае). Применим к этой ячейке такой формат, чтобы отображалось только название месяца. Для этого откроем формат ячеек сочетанием клавиш Ctrl + 1 и выберем соответствующий формат (см. рисунок).

Для создания заголовков последующих месяцев будем использовать еще одну очень полезную функцию =ДАТАМЕС(B3;1). Эта функция возвращает дату отстоящую от указанной на заданное число месяцев (в нашем случае на один). Таким образом, у нас получается следующая картина (дополнительно я добавил немного форматирования):

Проставляем числа

Для автоматического проставления чисел в календаре мы будем использовать всего одну формулу — формулу массива. На вид звучит страшновато, но если разобраться — все легко и просто. Выделяем ячейки B5:H10 и вводим следующую формулу (не спешим жать Enter): =ДАТА(ГОД(B3);МЕСЯЦ(B3);1-1)-(ДЕНЬНЕД(ДАТА(ГОД(B3);МЕСЯЦ(B3);1-1))-1)+<0:1:2:3:4:5:6>*7+

Вместо Enter нажимаем сочетание клавиш Ctrl+Shift+Enter, вставляя таким образом формула массива. В результате в выделенном диапазоне получаем числа указанного в ячейке B3 месяца.

Аналогичную операцию проводим с другими месяцами или просто копируем диапазон дат января в следующие месяца. Получаем следующую картину:

Форматируем

Отформатируем ячейки таким образом, чтобы они содержали только числа (а не полностью даты). Выделяем даты, открываем формат ячеек (Ctrl+1) и вводим вручную следующий формат:

Календарь принимает все более привычный вид.

Добавляем условного форматирования

Сейчас в январе календарь содержит даты 29, 30, 31 декабря, а также часть дат февраля. Давайте немного скроем эти числа. Для этого будем использовать условное форматирование. Выделяем ячейки B5:H10 и создаем правило условного форматирования. Форматироваться будут ячейки, для которых следующая формула будет являться ИСТИНОЙ: =И(МЕСЯЦ(B5)<>1+3*(ЧАСТНОЕ(СТРОКА(B5)-5;9))+ЧАСТНОЕ(СТОЛБЕЦ(B5);9))

В качестве формата я выбрал серый текст шрифта и получил следующую картину:

Автоматически выделяем текущую дату в календаре

Для этого создаем еще одно правило условного форматирования. Ячейка будет форматироваться только в том случае, если ее значение будет равно текущей дате (=СЕГОДНЯ()):

Добавляем праздничные дни

Создадим новый лист Excel (Праздники) и добавим на него умную таблицу со столбцом Праздничные дни. В этот столбец занесем все праздничные дни. Я это уже сделал, можете спокойно копировать и использовать.

Вернемся в наш календарь и создадим еще одно правило условного форматирования. Формула условного форматирования будет проверять является ли дата праздником. И в случае если формула вернет ИСТИНА ячейка будет форматироваться. Вот эта формула: =НЕ(ЕОШИБКА(ПОИСКПОЗ(B5;ДВССЫЛ("Праздники[Праздничные дни]");0))). Стоит отметить, что при добавлении или изменении праздничных дней, календарь будет автоматически форматироваться.

Читайте так же:
Можно ли вешать икону в изголовье кровати

Осталось скопировать ячейки B5:H10 в другие месяца и наш автоматический календарь готов и может служить нам не один год.

Вариант 3: Выбор массива с именем

В Excel есть функция, позволяющая присвоить массиву имя и в дальнейшем выбирать его при использовании формул. Как вы видели в предыдущих вариантах, объявление «‎Источника» при формировании выпадающего списка тоже похоже на создание формулы, а это значит, что в нем можно использовать массив, предварительно объявив его.

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

Измените имя массива на любое, начинающееся с буквы.Переименование массива данных для создания выпадающего списка в Excel

Создайте выпадающий список в ячейке листа, для чего снова перейдите в то же самое меню, предварительно выделив саму клетку.Выбо пустой ячейки для создания выпадающего списка в Excel

В качестве источника укажите созданный массив, написав его название после «‎=».Указание названия массива данных для создания выпадающего списка в Excel

В итоге у вас должен получиться перечень, куда входят все значения массива.Проверка массива данных для создания выпадающего списка в Excel

Как автоматически заполнять даты в Excel

Если вам надо заполнить большую часть таблицы датами, то можно воспользоваться специальной функцией, которая называется автозаполнением. Давайте рассмотрим некоторые частные случаи ее использования.

Как автоматически проставить дату в Excel

Предположим, нам надо заполнить перечень дат, каждая из которых больше на один день по сравнению с предыдущей. В таком случае необходимо использовать автозаполнение так, как и с любыми другими значениями. Сначала необходимо указать в ячейке первоначальную дату, а потом с помощью маркера автозаполнения переместить формулу или вниз или вправо в зависимости от того, в какой последовательности расположена информация в таблице конкретно в вашем случае. Маркер автозаполнения – это маленький квадратик, который находится в правом нижнем углу ячейки, перетаскивая который, можно автоматически заполнить огромное количество информации. Программа автоматически определяет то, как правильно заполнять, и в большинстве случаев оказывается правой. На этом скриншоте мы заполнили дни в столбик. Получился следующий результат.

Но на этом возможности автозаполнения не заканчиваются. Можно выполнить его даже применительно к будням, месяцам или годам. Есть целых два способа, как это сделать.

  1. Использовать стандартный маркер автозаполнения так, как было описано выше. После того, как программа автоматически закончит все, нужно нажать на значок с параметрами автозаполнения и выбрать подходящий метод.
  2. Перетащить маркер автозаполнения с помощью правой кнопки мыши, и когда вы отпустите ее, автоматически появится меню с настройками. Выбираете тот способ, который вам нужен, и радуетесь.
Читайте так же:
Как в фотошопе выделять нужное

Также можно осуществить автоматическую вставку каждого N дня. Для этого нужно добавить значение к ячейке, щелкнуть правой кнопкой мыши по маркеру автозаполнения, зажать ее и перетащить до того места, в котором должна заканчиваться числовая последовательность. После этого выбираем параметр заполнения «Прогрессия» и выбираем значение шага.

Изменение даты

Выбрав один из шаблонов, вы увидите календарную сетку. Вероятней всего, дата не будет совпадать с днем недели, и это нормально. Нам всего-навсего необходимо в Excel сделать дату календаря вручную. В каждом шаблоне она меняется по-разному, но мы сейчас рассмотрим более-менее универсальный способ ее изменения. Вам нужно выбрать год. После того как вы это сделаете, отыщите кнопку, на которой нарисована стрелка вниз (▼). Нажмите ее. Теперь перед вами будут опции. Настройте все необходимые параметры.

как сделать выпадающий календарь в excel

Чтобы изменить первую дату недели, нажмите на нее и в меню определите нужный день. Кстати, некоторые шаблоны имеют подсказки. По большему счету, они не нужны и только портят вид календаря, поэтому если они вам мешают, вы можете попросту их удалить. Мы уже практически разобрались, как в Excel сделать календарь, но это еще не все. Конечно, число, дни недели, год мы выставили, и календарем можно начинать пользоваться, однако необходимо еще поговорить о том, как поменять оформление календаря.

Иконка программы

При заполнении больших документов с множеством параметров появляется желание как-то упростить процесс. Для этого может быть полезным знание, как создать выпадающий список в excel. Это иногда может избавить от необходимости вводить одни и те же параметры. К примеру, когда вы заполняете названия брендов компании, которые повторяются, то в следующей ячейке страницы (без пропусков) нажмите Alt+стрелка вниз. У вас появится перечень введенных ранее данных этого столбца, из которого есть возможность выбрать необходимый вариант.

Еще один способ, как сделать выпадающий список в Экселе — с использованием инструментов ActiveX. Для их использования нужно сначала сделать доступной вкладку «разработчик». Для этого нужно:

  1. Открыть вверху пункт «файл».
  2. Перейти в раздел «Параметры».
  3. Во вкладке «Настроить ленту» поставить галочку напротив «Разработчик».

После этого появится дополнительное поле в верхнем меню под названием «Разработчик», где будет кнопка «Вставить». Там будет возможность выбрать пункт «Поле со списком» в подразделе «ActiveX». У вас появится возможность нарисовать поле в любом месте документа Эксель, где необходимо сделать выпадающий перечень. Далее этот элемент следует настроить:

  1. В той же вкладке перейдите на вкладку «Режим конструктора», нажмите кнопку «Свойства».
  2. Откроется много параметров, но основными являются только три, которые следует настроить.
  3. ListFillRange — здесь необходимо задать диапазон используемых значений.
  4. ListRows — тут задается количество данных для выпадающего меню.
  5. ColumnCount — здесь указывается количество столбцов, которые будут использованы.
Читайте так же:
Можно ли есть сопли

Пошаговые действия

С функцией мультивыбора

Для удобства заполнения есть возможность сделать меню с мультивыбором, когда существует опция добавления нескольких значений для ячеек из одного перечня. Считается такой вариант классическим, но нужна некоторая дополнительная настройка с помощью программного кода. Сделать такое меню можно так:

  1. Создайте перечень данных, из которого будут браться значения.
  2. Выделите ячейки, для которых нужно сделать меню с мультивыбором.
  3. Во вкладке «Данные» в верхней части меню инструментов нажмите на кнопку «Проверка данных».
  4. В «Параметры» задайте значение «Список», а в «Источник» укажете диапазон ячеек, из которых будут браться значения.

Напротив ячеек будет возможность мультивыбора, данные из них будут заполняться на той же строке автоматически. Чтобы функция работала верно, нужно использовать программный код, который будет автоматически добавлять значения на ту же строку. Для этого по ярлычку списка кликните правой кнопкой и выберите «Исходный код». Без этого куска на языке программирования функция добавления работать не будет. Появится окно редактора Visual Basic, вставьте следующий кусок кода:

Private Sub Worksheet_Change(ByVal Target As Range)

On Error Resume Next

If Not Intersect(Target, Range(«C2:C5«)) Is Nothing And Target.Cells.Count = 1 Then

If Len(Target.Offset(0, 1)) = 0 Then

Target.Offset(0, 1) = Target

Target.End(xlToRight).Offset(0, 1) = Target

С наполнением

Это еще один простой способ создания стандартного перечня, который упростит процесс ввода данных таблицы. Чтобы его сделать, следует использовать «умные таблицы программы», которые запрограммированы в Экселе. С их помощью можно легко изменять и форматировать все строки с наполнением. Сделать такой перечень можно следующим образом:

  1. Выделите все ячейки, которые будут использованы для подстановки.
  2. Далее необходимо нажать на главной вкладке кнопку «форматировать как таблицу».
  3. Редактор Экселя позволит изменять столбцы по вашему желанию.

Раскрывающийся список в ячейке excel

Пример создания

Выше описан самый простой способ, как сделать выпадающий список в Экселе. Есть более сложные варианты использования этого инструмента. Выбор из него позволит избежать ошибок при вводе, описок и ускорит заполнение. Такой способ позволит добавить выпадающее меню на любом участке документа и брать данные даже из другого конца таблицы. Ниспадающий перечень создается по такому алгоритму:

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector