Litrian Пользователь Сообщений: 4 |
Здравствуйте уважаемые форумчане, Заранее благодарю Прикрепленные файлы
|
Joiner Пользователь Сообщений: 408 |
Вот тут все подробно расписано. Никому не отвечай, кoгда ты зол, ничего не обeщай, когда ты счастлив, никогда нe решай, когда ты грустeн. |
V Пользователь Сообщений: 5018 |
#3 03.11.2014 16:44:58 формула для именованного диапазона
Изменено: V — 03.11.2014 16:49:29 |
||
Litrian Пользователь Сообщений: 4 |
V
честно говоря не понял вашу формулу, но применил, и наверное я дурак, потому как ничего не получилось. я записал ее в источник при создании выпадающего списка, не уверен, что это было верно с моей стороны. Joiner спасибо, сам несколько раз читал ту страницу, но только после вашей подачи понял, что мне нужно) применил формулу: =OFFSET(B3;0;0;COUNTA(B3:B302);1) Изменено: Litrian — 03.11.2014 17:57:53 |
Litrian Пользователь Сообщений: 4 |
Источник выпадающего списка не может находится в другой книге, поэтому не выходит применить формулу смещения, попробывал перенести список в другую книгу как ссылку и применил формулу смещения, в итоге выпадающий список опять выдает пустые ячейки, так как засчитываются ячейки с нулевым значением, но с формулой внутри |
V Пользователь Сообщений: 5018 |
#6 03.11.2014 19:28:00
с начало жмем ctrl+f3 смотрим там, потом Данные — Проверка данных. Прикрепленные файлы
|
||
Litrian Пользователь Сообщений: 4 |
V
благодарю, вчера исправился и сделал по вашему методу. Изменено: Litrian — 04.11.2014 11:54:19 |
Как убрать пустоты в выпадающем списке? |
|
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
#9 28.08.2015 15:22:06 cheryapin@bk.ru, измените в своём профиле отображаемое имя: сейчас оно с нарушением Правил. Ознакомьтесь с ними. |
Убрать пустые строки в связанных выпадающих списках. |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
There is another way. Create a dynamically-expanding named range. Then use the range to define the data validation list.
To create your dynamically-expanding range, insert this in the named range box and give it a name:
=OFFSET($A$1,0,0,COUNTA($A:$A),1)
$A$1 should be replaced with the top cell of your range. $A$A should be replaced with the column(s) the range is in.
OFFSET points the named range at a range of cells. COUNTA() is in the fourth position of the OFFSET formula, which sets the height of the range. It counts the number of non-blank cells. As a result, when you add a value, the fourth value of the OFFSET formula increases and you get an expanding range.
Note, this does not work if your named range has blank cells interspersed.
OFFSET formula from excel-easy.com.
Выпадающий список уникальных значений. Автоматическое обновление выпадающего списка
Введение
Выпадающий список — это супер полезный инструмент, который способствует более комфортной работе с информацией. Он позволяет вместить в ячейку сразу несколько значений, с которыми можно работать, как и с любыми другими. Чтобы выбрать нужное, достаточно щелкнуть на значок стрелки, после чего отобразится перечень значений. После выбора конкретного, ячейка автоматически заполняется им.
Рассмотрим особенности создания выпадающих списков на примере:
Исходные данные:
- Список адресов в разных городах
Задача:
- Создать автоматически обновляемый выпадающий список уникальных городов
- На основе выбранного города, создать зависимый выпадающий список адресов
Мы будем двигаться поэтапно, уделяя внимание всем возможностям данного инструмента.
Скачать файлы из этой статьи
Рабочие файлы
Обзорное видео о работе с выпадающими списками в Excel и Google таблицах смотрите ниже. Приятного просмотра!
Начнем с основ. Для того, чтобы создать выпадающий список потребуется список с данными и инструмент «Проверка данных».
Выбираем ячейку, в которой будем создавать выпадающий список. Далее переходим к инструменту «Проверка данных», тип данных – «Список». В поле «Источник» указываем диапазон списка.
Выпадающий список готов!
Такой способ позволяет представить обычный диапазон в виде выпадающего списка. Повторы данных остались в списке (в диапазоне A2:A16 названия городов повторяются и в выпадающем списке они также повторяются). Это, конечно, не удобно. О том, как сделать выпадающий список уникальных значений в Excel мы поговорим далее, пока остановимся на этом варианте.
Как создать зависимый выпадающий список в Excel?
Существует несколько вариантов. Один из них, это сочетание именованных диапазонов и функции ДВССЫЛ
.
Именованный диапазон в Excel – это ячейка (или диапазон ячеек), которой присвоено имя.
Функция ДВССЫЛ
в Excel преобразовывает текст в ссылку.
Способ 1: именованные диапазоны + функция ДВССЫЛ
Для начала создадим именованные диапазоны с адресами. Имя каждому присвоим в соответствии с городом.
Алгоритм создания именованного диапазона: выделяем диапазон, далее «Формулы» – «Задать имя».
У нас получится 5 именованных диапазона: Волгоград, Воронеж, Краснодар, Москва и Ростов_на_Дону.
Обратите внимание, к именам диапазонов есть список требований. Например, в имени не могут содержаться пробелы, запятые, дефисы и прочие символы. Подробнее о создании именованных диапазонов и работе с ними мы говорим в нашем бесплатном курсе Основы Excel.
Поэтому, вместо дефисов в названии города Ростов-на-Дону мы укажем допустимый символ – нижнее подчеркивание.
Именованные диапазоны готовы.
Теперь выбираем ячейку для второго выпадающего списка, того, который будет зависимым. Переходим к инструменту «Проверка данных», тип данных – «Список». В поле «Источник» указываем функцию: =ДВССЫЛ(D2)
, где D2 – это адрес ячейки с первым выпадающим списком городов.
В ячейке D2, которая используется в качестве аргумента функции ДВССЫЛ
, находится текстовое выражение, которое совпадает с именем соответствующего именованного диапазона с названиями городов. В результате функция возвращает ссылку на соответствующий именованный диапазон.
Зависимый выпадающий список адресов готов.
Меняя значения в ячейке D2, меняются списки в ячейке E2. За исключением города Ростов-на-Дону. В выпадающем списке городов (ячейка D2), в названии используется дефис, а в именованном диапазоне – нижнее подчеркивание.
Чтобы устранить это несоответствие, перед тем как применять функцию ДВССЫЛ
, обработаем значения функцией ПОДСТАВИТЬ
.
Функция ПОДСТАВИТЬ
заменяет определенный текст в текстовой строке на новое значение. Вместо: =ДВССЫЛ(D2)
укажем: =ДВССЫЛ(ПОДСТАВИТЬ(D2;"-";"_"))
То есть, мы проводим предварительную обработку значений, чтобы они соответствовали правилам написания имён. Если в названии города имеются дефисы, они будут заменены на нижнее подчеркивание.
Теперь зависимый выпадающий список работает и для города, содержащего в названии дефисы – Ростов-на-Дону. Вернемся к выпадающему списку городов.
Как автоматически обновить выпадающий список в Excel, при добавлении новых данных?
Для начала создадим из диапазона данных «умную» таблицу Excel. Сделать это можно сочетанием клавиш Ctrl+T
.
Одним из полезных свойств умной таблицы является растягивающийся диапазон. То есть, если мы будем добавлять новые строки, они автоматически будут попадать в выпадающий список. Например, добавим новый город – Санкт-Петербург. И вот, он уже появился в нашем первом выпадающем списке.
Как сделать выпадающий список уникальных значений в Excel?
Надоело смотреть на повторяющиеся названия городов в выпадающем списке. Реализуем выпадающий список так, чтобы названия городов в нем не повторялись. Для этого, добавим слева вспомогательный столбец. Мы дали ему название – «Уникальные».
И включим новый столбец в диапазон «умной» таблицы. «Конструктор» – «Размер таблицы». Вместо =$B$1:$C$17
указываем: =$A$1:$C$17
Визуально видно, что диапазон «умной» таблицы Excel расширился. Включать этот столбец в диапазон таблицы необходимо для того, чтобы при добавлении новых данных, пересчет уникальных городов происходил автоматически.
В ячейку А2 добавим формулу массива, которая будет формировать список уникальных городов:
=ЕСЛИОШИБКА(ИНДЕКС([Город];ПОИСКПОЗ(0;СЧЁТЕСЛИ(A$1:A1; [Город]);0));"")
Чтобы Excel воспринял нашу формулу, как формулу массива, жмем Ctrl + Shift + Enter
.
Получаем список уникальных городов, который при добавлении новых строк будет автоматически обновляться.
Из списка уникальных городов создадим именованный диапазон (мы назвали его — «Уникальные»), который затем используем в качестве источника для выпадающего списка городов.
«Проверка данных» – «Список». В источнике данных, вместо предыдущего диапазона с названиями городов =$B$2:$B$18
, задаем имя – =Уникальные
Как видим, список уникальных значений мы получили, но в придачу у нас остались совершенно ненужные пустые строки из таблицы.
Чтобы их убрать, доработаем именованный диапазон «Уникальные». В диспетчере имен, вместо диапазона =Таблица1[Уникальные]
используем: =СМЕЩ(Лист1!$A$2;0;0;СЧЁТЗ(Таблица1[Уникальные])-СЧИТАТЬПУСТОТЫ(Таблица1[Уникальные]))
где: Лист1!$A$2
– ячейка со значением первого пункта списка уникальных значений
Таблица1[Уникальные] – столбец с перечнем всех пунктов списка
Выпадающий список уникальных автоматически обновляемых значений готов.
Вернемся к зависимому списку с адресами. Выпадающий список городов теперь динамический, а вот адреса так и остались фиксированными именованными диапазонами.
Как сделать автоматически обновляемый зависимый список? Способ 2: СМЕЩ+ПОИСКПОЗ+СЧЁТЕСЛИ
Именованные диапазоны, которые мы до этого использовали в сочетании с функцией ДВССЫЛ можно удалить, далее они нам не пригодятся. Рассмотрим способ создания зависимого, автоматически обновляемого выпадающего списка.
В ячейку F2 (зависимый выпадающий список адресов) вместо: =ДВССЫЛ(ПОДСТАВИТЬ(E2;"-";"_"))
вставляем: =СМЕЩ($B$2;ПОИСКПОЗ(E2;$B$2:$B$18;0)-1;1;СЧЁТЕСЛИ($B$2:$B$18;E2);1)
Для корректной работы этого способа, данные в столбце с городом должны быть отсортированы. Функция СМЕЩ
будет динамически ссылаться только на ячейки адресов определенного города.
Аргументы функции:
Ссылка – берем первую ячейку нашего списка, т.е. $B$2
Смещение по строкам – считает функция ПОИСКПОЗ
, которая выдает порядковый номер ячейки с выбранным городом (E2) в заданном диапазоне ($B$2:$B$18
)
Смещение по столбцам = 1, т.к. мы хотим сослаться на адреса в соседнем столбце (С)
Высота – вычисляем с помощью функции СЧЁТЕСЛИ
, которая подсчитывает количество встретившихся в диапазоне ($B$2:$B$18
) нужных нам значений – названий городов (E2)
Ширина = 1, т.к. нам нужен один столбец с адресами
Готово! Добавляем новые данные, сортируем список и пользуемся зависимыми, автоматически обновляемыми выпадающими списками. При необходимости можно скопировать выпадающие списки на строки ниже, они будут корректно работать. При копировании выпадающих списков обращайте внимание на адрес ссылок. Абсолютные ссылки остаются неизменными при копировании, относительные – меняют адрес ячеек относительно нового места.
С выпадающими списками в Google таблицах все немного иначе.
Выпадающий список в Google таблицах
В Google таблицах есть аналогичный инструмент для создания выпадающих списков – «Проверка данных».
Выделяем ячейку, в которой будем размещать выпадающий список.
«Данные» – «Настроить проверку данных» – «Значение из диапазона»
Важное отличие от проверки данных Excel в том, что инструмент «Проверка данных» в Google таблицах автоматически выдает уникальные значения, и значит, нам не придется создавать вспомогательный столбец с расчетами.
Зависимый выпадающий список в Google таблицах
Возвращаемся к двум основным способам, которые мы рассмотрели в Excel.
Способ 1: именованные диапазоны + ДВССЫЛ
Создадим именованные диапазоны с адресами. Имя каждому присвоим в соответствии с городом.
Выделяем ячейки – «Данные» – «Настроить именованные диапазоны»
Указываем имя и жмем готово. У нас получится 5 именованных диапазонов: Волгоград, Воронеж, Краснодар, Москва и Ростов_на_Дону.
Также, как и в Excel, в Google таблицах к именам диапазонов есть список требований.
Поэтому, вместо дефисов в названии города Ростов-на-Дону укажем допустимый символ – нижнее подчеркивание.
В Google таблицах мы не сможем подобно Excel задать функцию ДВССЫЛ в инструменте «Проверка данных». Поэтому, разместим результат функции ДВССЫЛ в пустых ячейках правее. Не забываем добавить обработку значений от дефисов функцией ПОДСТАВИТЬ. Подробнее о том, для чего это нужно, мы говорили ранее в примере Excel.
В ячейке F1 введем: =ДВССЫЛ(ПОДСТАВИТЬ(D2;"_";"-"))
Последний штрих в создании зависимого выпадающего списка, в разделе «Настроить проверку данных», в качестве диапазона указываем список из столбца F:F.
При дальнейшей работе вспомогательный столбец F можно скрыть. Минус такого метода – отсутствие динамичности. Если мы добавим новый город и адрес, то они не появятся в созданных выпадающих списках. Но это решаемо!
Как автоматически обновить выпадающий список в Google таблицах при добавлении новых данных?
В выпадающем списке городов, достаточно расширить диапазон и вместо =$A$2:$A$16
указать: =$A$2:$A
. Теперь при добавлении нового города он автоматически появляется в выпадающем списке.
Как автоматически обновить зависимый выпадающий список в Google таблицах при добавлении новых данных?
Для того, чтобы зависимый выпадающий список автоматически обновлялся с добавлением новых данных, воспользуемся функцией СМЕЩ
.
В ячейке G6 укажем:
=СМЕЩ($A$2;ПОИСКПОЗ($D$7;$A$2:$A;0)-1;1;СЧЁТЕСЛИ($A$2:$A;$D$7);1)
Важно: для корректной работы этого способа, данные в столбце с городом должны быть отсортированы от А до Я, или от Я до А. Подробнее о том, как в данном случае работает функция СМЕЩ читайте выше в примере с Excel.
Заключительным этапом поместим результат функции СМЕЩ
в диапазон выпадающего списка.
Скроем вспомогательные столбцы для удобства.
Работа выпадающих списков в Google таблицах хоть и схожа с Excel, но все же имеет свои отличительные особенности. Добавляем новые данные, сортируем список и пользуемся зависимыми, автоматически обновляемыми выпадающими списками.
Заключение
Теперь Вам известны несколько способов, как создать выпадающие списки в Excel и Google таблицах. Смотрите примеры и создавайте нужные Вам выпадающие списки.
Изучить работу в программе Excel Вы можете на наших курсах: бесплатные онлайн-курсы по Excel
Пройдите бесплатный тест на нашем сайте, чтобы объективно оценить свой уровень владения инструментами и функциями программы Excel: пройти бесплатный тест
У нас Вы можете заказать выполнение задач по MS Excel и Google таблицам
Уточню на всякий случай: если в диапазоне нет числовых значений, СЧЕТ(диапазон)=0
Для счета текстовых значений нужно использовать функцию СЧЕТЗ. Еще лучше СЧЕТЕСЛИ — она сама умеет определять рабочий диапазон и можно безболезненно указывать полный столбец:
=СЧЁТЕСЛИ(Test!$E:$E;"*")
Нужно как-то исключить пустые строки, могут быть в начале, конце или
где-то между значений
Только формируя новый диапазон на листе. Один из вариантов — применение формулы массива:
=ИНДЕКС($E$3:$E$56;НАИМЕНЬШИЙ(ЕСЛИ($E$3:$E$56<>"";СТРОКА($E$3:$E$56)-2);СТРОКА(A1)))
Формула массива вводится сочетанием трех клавиш: Ctrl+Shift+Enter, записывается в одну ячейку и протягивается по строкам.
Если значений меньше, чем ячеек с формулой, в нижних ячейках будет ошибка #ЧИСЛО!. Обойти можно:
=ЕСЛИОШИБКА(формула;0)
Формула именованного диапазона c определением текстовых значений, показанная ниже, ноль учитывать не будет:
=СМЕЩ(Test!$E$3;;;СЧЁТЕСЛИ(Test!$E:$E;"*"))