Выпадающие списки excel только уникальные значения

 

IDmitry

Пользователь

Сообщений: 51
Регистрация: 20.11.2015

Уважаемые знатоки
Подскажите пожалуйста есть ли возможность без дополнительных столбцов/ячеек реализовать выпадающий список, чтоб значения в нём не повторялись.

Изучил много информации про вывод уникальных значений.
использовал в разных задачах.
Есть вывод списка уникальных значений

http://www.planetaexcel.ru/techniques/2/81/
http://www.excel-vba.ru/chto-umeet-excel/kak-poluchit-spisok-unikalnyxne-povtoryayushhixsya-znacheni…

Для использования статьи придётся строить дополнительную таблицу/список.
Может у Вас появится идея без дополнительного списка?

(т.е непосредствнно вывод данного списка нигде не нужен, достаточно виртуально именованного диапазона или формулы в Окне «Проверка данных))

Помогите пожалуйста

 

Юрий М

Модератор

Сообщений: 60577
Регистрация: 14.09.2012

Контакты см. в профиле

А чем не устраивает именованный динамический во вспомогательном столбце? Его можно просто скрыть.

 

Пытливый

Пользователь

Сообщений: 4587
Регистрация: 22.12.2012

Гораздо проще (имхо) сделать, как в статьях описано, а вспомогательные столбцы спрятать. :)
Пока я не придумал как без доп.столбцов.

Кому решение нужно — тот пример и рисует.

 

Юрий М

Модератор

Сообщений: 60577
Регистрация: 14.09.2012

Контакты см. в профиле

Можно и без доп. столбца, но есть ограничение на количество символов.

 

IDmitry

Пользователь

Сообщений: 51
Регистрация: 20.11.2015

Это то понятно, что можно скрыть (мостить его просто негде ))))

 

IDmitry

Пользователь

Сообщений: 51
Регистрация: 20.11.2015

#6

12.02.2016 15:30:14

Цитата
Юрий М написал: Можно и без доп. столбца, но есть ограничение на количество символов.

каким путём?
какая величина ограничения?

 

Пытливый

Пользователь

Сообщений: 4587
Регистрация: 22.12.2012

Много листов в книге? :) Сложно новый создать и сделать его скрытым? :)

Кому решение нужно — тот пример и рисует.

 

The_Prist

Пользователь

Сообщений: 14182
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

#8

12.02.2016 15:31:01

Цитата
IDmitry написал: мостить его просто негде

Создали отдельный лист, занесли туда. Лист

сделали очень скрытым

. Ничего никому не мешает, список работает…

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

Александр Сергеевич

Пользователь

Сообщений: 481
Регистрация: 01.01.1970

Если не отвечаю, пишите в личку.

#9

12.02.2016 15:31:34

Цитата
IDmitry написал: Это то понятно, что можно скрыть (мостить его просто негде ))))

на отдельном листе, и после его скрыть, не?

не нужно оскорблять.

 

IDmitry

Пользователь

Сообщений: 51
Регистрация: 20.11.2015

И листов в файле тоже много (
если других  вариантов нет — тогда конечно на нём прийдётся остановиться.

 

IDmitry

Пользователь

Сообщений: 51
Регистрация: 20.11.2015

#11

12.02.2016 15:44:04

Цитата
Юрий М написал: есть ограничение на количество символов.

Юрий, подскажете?

 

Юрий М

Модератор

Сообщений: 60577
Регистрация: 14.09.2012

Контакты см. в профиле

 

Jack_Famous

Пользователь

Сообщений: 10848
Регистрация: 07.11.2014

OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome

Вариант, «динамического» списка уникальных значений (например для выпадающего списка)
Мне больше всего подошло вот что (по-моему с сайта Дмитрия «The_Prist» Щербакова

http://www.excel-vba.ru/

. Нужно из вашего столбца повторяющихся значений, сделать сводную. В поле»строки» вывести тот единственный столбец». Сводная выводит только уникальные значения, поэтому всё что остаётся — это известным способом (через СМЕЩ+ПОИСКПОЗ) создать именованный динамический диапазон из этой сводной и выпадающим списком сослаться на него. Также не забывать обновлять сводную при добавлении/изменении значений в исходнике, т.к. сама она это не делает. Есть вариант записать макрос на такое автообновление…

Изменено: Jack_Famous10.05.2016 21:10:02

Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄

 

jakim

Пользователь

Сообщений: 1946
Регистрация: 01.03.2013

Copy—>Paste—>Удалить дубликаты—>=F9—>Delete=—>Ctrl H—>Find {—>Replace «» и т.д.

 

Jack_Famous

Пользователь

Сообщений: 10848
Регистрация: 07.11.2014

OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome

#15

12.02.2016 16:55:07

Макрос на удаление дубликатов (работает в выделенном диапазоне). Отсюда, но не помню от кого…

Код
Sub UNIQ()
Dim iCount As Long, i As Long, j As Long, k As Long
Dim Str1 As String, Str2 As String
Dim Group As Range
k = 1
iCount = Selection.Cells.Count
    For i = k To iCount
        Str1 = CStr(Selection.Cells(i).Value)
            If Str1 <> "" Then
                For j = i To iCount
                    Str2 = CStr(Selection.Cells(j).Value)
                        If i <> j And Str1 = Str2 Then
                            If Group Is Nothing Then _
                                Set Group = Selection.Cells(j) Else Set Group = Union(Group, Selection.Cells(j))
                        End If
                Next j
            End If
    Next i
On Error Resume Next
Group.Delete Shift:=xlUp
End Sub

Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄

 

IDmitry

Пользователь

Сообщений: 51
Регистрация: 20.11.2015

#16

15.02.2016 13:13:36

Цитата
Юрий М написал: Можно и без доп. столбца, но есть ограничение на количество символов.

Юрий, поделитесь решением?

 

Юрий М

Модератор

Сообщений: 60577
Регистрация: 14.09.2012

Контакты см. в профиле

 

IDmitry

Пользователь

Сообщений: 51
Регистрация: 20.11.2015

Вы написали, что есть решение без допстолбца, но с ограничением на кол-во символов. Я правильно понял Ваш пост?

 

Юрий М

Модератор

Сообщений: 60577
Регистрация: 14.09.2012

Контакты см. в профиле

Я и хотел уточнить — какой вариант Вам нужен. Вот без доп. столбца.

 

IDmitry

Пользователь

Сообщений: 51
Регистрация: 20.11.2015

Спасибо.
в данном случае макрос запускается вручную? или каким то событием?

 

Юрий М

Модератор

Сообщений: 60577
Регистрация: 14.09.2012

Контакты см. в профиле

Вручную. Но можно вызывать и по событию.

 

IDmitry

Пользователь

Сообщений: 51
Регистрация: 20.11.2015

 

S-shirokova

Пользователь

Сообщений: 1
Регистрация: 14.10.2016

Добрый вечер.
Подскажите как «включить» макрос в свою таблицу?

 

Z

Пользователь

Сообщений: 6111
Регистрация: 21.12.2012

Win 10, MSO 2013 SP1

#24

14.10.2016 19:03:15

Цитата
S-shirokova написал: Подскажите

Не вопрос —

http://www.planetaexcel.ru/techniques/3/59/

;)

«Ctrl+S» — достойное завершение ваших гениальных мыслей!.. ;)

 

IGAR

Пользователь

Сообщений: 1
Регистрация: 07.10.2018

#25

06.03.2022 05:11:11

Цитата
написал:
Я и хотел уточнить — какой вариант Вам нужен. Вот без доп. столбца.

Если в ячейке диапазона находится значение с «,» (например 0,3), то в выпадающий список попадает два значения («0» и «3»). Помогите пожалуйста подправить макрос так, чтобы в выпадающем списке было то же самое, что и в строке, один в один.

Выпадающий список уникальных значений. Автоматическое обновление выпадающего списка

Введение

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

Рассмотрим особенности создания выпадающих списков на примере:

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

  • Список адресов в разных городах

Задача:

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

Визуализация задачи

Мы будем двигаться поэтапно, уделяя внимание всем возможностям данного инструмента.

Скачать файлы из этой статьи

Рабочие файлы

Обзорное видео о работе с выпадающими списками в Excel и Google таблицах смотрите ниже. Приятного просмотра!

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

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

Указываем диапазон с данными для выпадающего списка

Выпадающий список готов!

Простой выпадающий список готов

Такой способ позволяет представить обычный диапазон в виде выпадающего списка. Повторы данных остались в списке (в диапазоне A2:A16 названия городов повторяются и в выпадающем списке они также повторяются). Это, конечно, не удобно. О том, как сделать выпадающий список уникальных значений в Excel мы поговорим далее, пока остановимся на этом варианте.

Как создать зависимый выпадающий список в Excel?

Существует несколько вариантов. Один из них, это сочетание именованных диапазонов и функции ДВССЫЛ.

Именованный диапазон в Excel – это ячейка (или диапазон ячеек), которой присвоено имя.

Функция ДВССЫЛ в Excel преобразовывает текст в ссылку.

Способ 1: именованные диапазоны + функция ДВССЫЛ

Для начала создадим именованные диапазоны с адресами. Имя каждому присвоим в соответствии с городом.

Алгоритм создания именованного диапазона: выделяем диапазон, далее «Формулы» – «Задать имя».

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

У нас получится 5 именованных диапазона: Волгоград, Воронеж, Краснодар, Москва и Ростов_на_Дону.

Обратите внимание, к именам диапазонов есть список требований. Например, в имени не могут содержаться пробелы, запятые, дефисы и прочие символы. Подробнее о создании именованных диапазонов и работе с ними мы говорим в нашем бесплатном курсе Основы Excel.

Ошибка в создании именованного диапазона

Поэтому, вместо дефисов в названии города Ростов-на-Дону мы укажем допустимый символ – нижнее подчеркивание.

Корректное имя для названия с дефисами

Именованные диапазоны готовы.

Именованные диапазоны созданы

Теперь выбираем ячейку для второго выпадающего списка, того, который будет зависимым. Переходим к инструменту «Проверка данных», тип данных – «Список». В поле «Источник» указываем функцию: =ДВССЫЛ(D2), где D2 – это адрес ячейки с первым выпадающим списком городов.

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

Проверка данных. Функция ДВССЫЛ

Зависимый выпадающий список адресов готов.

Зависимый выпадающий список функцией ДВССЫЛ

Зависимый выпадающий список функцией ДВССЫЛ (2)

Меняя значения в ячейке D2, меняются списки в ячейке E2. За исключением города Ростов-на-Дону. В выпадающем списке городов (ячейка D2), в названии используется дефис, а в именованном диапазоне – нижнее подчеркивание.

Для города, в названии которого содержатся дефисы, выпадающие списки пока не отражаются

Чтобы устранить это несоответствие, перед тем как применять функцию ДВССЫЛ, обработаем значения функцией ПОДСТАВИТЬ.

Функция ПОДСТАВИТЬ заменяет определенный текст в текстовой строке на новое значение. Вместо: =ДВССЫЛ(D2) укажем: =ДВССЫЛ(ПОДСТАВИТЬ(D2;"-";"_"))

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

Выпадающий список для города, в названии которого содержатся дефисы, после обработки функцией ПОДСТАВИТЬ

Теперь зависимый выпадающий список работает и для города, содержащего в названии дефисы – Ростов-на-Дону. Вернемся к выпадающему списку городов.

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

Как автоматически обновить выпадающий список в Excel, при добавлении новых данных?

Для начала создадим из диапазона данных «умную» таблицу Excel. Сделать это можно сочетанием клавиш Ctrl+T.

Создаем умную таблицу Excel

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

Автоматическое обновление данных выпадающего списка

Как сделать выпадающий список уникальных значений в Excel?

Надоело смотреть на повторяющиеся названия городов в выпадающем списке. Реализуем выпадающий список так, чтобы названия городов в нем не повторялись. Для этого, добавим слева вспомогательный столбец. Мы дали ему название – «Уникальные».

Создаем вспомогательный столбец

И включим новый столбец в диапазон «умной» таблицы. «Конструктор» – «Размер таблицы». Вместо =$B$1:$C$17 указываем: =$A$1:$C$17

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

Вспомогательный столбец включен в диапазон умной таблицы 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 таблицах есть аналогичный инструмент для создания выпадающих списков – «Проверка данных».

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

«Данные» – «Настроить проверку данных» – «Значение из диапазона»

Создание выпадающего списка в Google таблицах

Важное отличие от проверки данных Excel в том, что инструмент «Проверка данных» в Google таблицах автоматически выдает уникальные значения, и значит, нам не придется создавать вспомогательный столбец с расчетами.

Выпадающий список в Google таблицах

Зависимый выпадающий список в Google таблицах

Возвращаемся к двум основным способам, которые мы рассмотрели в Excel.

Способ 1: именованные диапазоны + ДВССЫЛ

Создадим именованные диапазоны с адресами. Имя каждому присвоим в соответствии с городом.

Выделяем ячейки – «Данные» – «Настроить именованные диапазоны»

Указываем имя и жмем готово. У нас получится 5 именованных диапазонов: Волгоград, Воронеж, Краснодар, Москва и Ростов_на_Дону.

Также, как и в Excel, в Google таблицах к именам диапазонов есть список требований.

Ошибка при введении некорректного имени

Поэтому, вместо дефисов в названии города Ростов-на-Дону укажем допустимый символ – нижнее подчеркивание.

Именованные диапазоны готовы

В Google таблицах мы не сможем подобно Excel задать функцию ДВССЫЛ в инструменте «Проверка данных». Поэтому, разместим результат функции ДВССЫЛ в пустых ячейках правее. Не забываем добавить обработку значений от дефисов функцией ПОДСТАВИТЬ. Подробнее о том, для чего это нужно, мы говорили ранее в примере Excel.

В ячейке F1 введем: =ДВССЫЛ(ПОДСТАВИТЬ(D2;"_";"-"))

Функция ДВССЫЛ в действии

Последний штрих в создании зависимого выпадающего списка, в разделе «Настроить проверку данных», в качестве диапазона указываем список из столбца F:F.

Зависимый выпадающий список в Google таблицах готов

Зависимый выпадающий список в Google таблицах готов (2)

При дальнейшей работе вспомогательный столбец 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 таблицах готов

Скроем вспомогательные столбцы для удобства.

Скрыли вспомогательные столбцы

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

Заключение

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

Изучить работу в программе Excel Вы можете на наших курсах: бесплатные онлайн-курсы по Excel

Пройдите бесплатный тест на нашем сайте, чтобы объективно оценить свой уровень владения инструментами и функциями программы Excel: пройти бесплатный тест

У нас Вы можете заказать выполнение задач по MS Excel и Google таблицам

Отбор уникальных значений из двух диапазонов в MS EXCEL

​Смотрите также​Application.Undo​ это делать, описано​ список.​ Target As Range)​

​ Получаем следующий вид​​ для проверки введенных​​PS: alx74-Расширенный фильтр​: Да не такая​ что здесь я​

Задача

​: Ещё одна немассивная​ Шифт Ентер​ функцию ИНДЕКС, которая​

​ уникальные фамилии продавцов.​ компании (столбцы​ примера).​1. Введите в ячейку​

Решение с использованием объединенного списка

​Имея два списка с​oldval = Target​ выше. С его​Открываем параметры проверки данных.​ Dim lReply As​ диапазона:​ данных. Повысить комфорт​​ не подходит потому​​ она уж и​
​ не помогу…​
​ формула.​

​sv2014​ вернёт нам необходимые​ Т.е. должен получиться​HI​Создадим таблицу, состоящую только​А9​ однотипными повторяющимися значениями,​If Len(oldval) <>​ помощью справа от​ В поле «Источник»​ Long If Target.Cells.Count​Ставим курсор в ячейку,​ работы с данными​

​ что слишком много​ простая. Здесь уже​Болезнь не позволяет​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=IFERROR(INDEX($B$2:$B$123;MATCH(1;INDEX((COUNTIF($H$1:H1;$B$2:$B$123)=0)*(A$2:A$123=G$1);0);0));»»)​

​: Sancho, добрый день​​ текстовые значения из​​ такой список:​
​).​
​ из строк с​

​название новой компании​ создадим из них​ 0 And oldval​ выпадающего списка будут​

Тестируем

​ вводим формулу: =ДВССЫЛ(“[Список1.xlsx]Лист1!$A$1:$A$9”).​​ > 1 Then​​ где будет находиться​ позволяют возможности выпадающих​
​ телодвижений​ решали , и​ мне использовать мозг​astradewa​ вариант с макросом,кнопка​

Решение без использования объединенного списка

​ соответствующего массива. В​Козлов​1. Выберите в желтой​ уникальными названиями компаний.​ – ООО Фортик​
​ список, содержащий только​
​ <> newVal Then​
​ добавляться выбранные значения.Private​
​Имя файла, из которого​

​ Exit Sub If​ выпадающий список. Открываем​ списков: подстановка данных,​​, а надо​​ формулами, и макросом.​ на полную катушку,​

excel2.ru

Отбор уникальных значений на основании значений из соседнего столбца в MS EXCEL

​: На сайте www.excel-vba.ru​ yyy в файл-примере​ жёлтых ячейках итог:​Смирнов​ ячейке значение Рублевый;​ Уникальные значения будем​2. В таблице​ уникальные значения.​Target = Target​ Sub Worksheet_Change(ByVal Target​ берется информация для​ Target.Address = «$C$2″​ параметры инструмента «Проверка​ отображение данных другого​ чтобы при заполнении​alx74​

​ а стандартного решения​ The_Prist (Щербаков Дмитрий)​200?’200px’:»+(this.scrollHeight+5)+’px’);»> Sub zzz()​

​МИНУСЫ​Кузнецов​2. В столбце​ выбирать не из​ Уникальные значения через​Пусть столбцы​ & «,» &​ As Range) On​ списка, заключено в​ Then If IsEmpty(Target)​ данных» (выше описан​ листа или файла,​

Задача

​ таблицы данными​: Добрый день. Подскажите,​ формулами Вашей задачи​ нашёл формулу вывода​Dim z, i&​: Формулы массивов сильно​Сидоров​G​ всех названий компаний,​ объединенный список будет​

Решение

​АВ​ newVal​ Error Resume Next​​ квадратные скобки. Этот​​ Then Exit Sub​​ путь). В поле​​ наличие функции поиска​​автоматом в назначенный​​ может я чего​ нет​ уникальных значений из​z = Range(«A2:B»​ замедляют скорость пересчёта​Петров​будет выведен список​ а сначала из​

​ автоматически выведено название​​содержат списки названий​​Else​ If Not Intersect(Target,​ файл должен быть​

​ If WorksheetFunction.CountIf(Range(«Деревья»), Target)​ «Источник» прописываем такую​ и зависимости.​​ столбец выводились уникальные​​ не понимаю: Почему​
​astradewa​
​ столбца в назначенный​
​ & Range(«A» &​

​ листа.​​Иванов​​ названий компаний с​ компаний с типом​ новой компании.​ компаний, в некоторых​

​Target = newVal​ Range(«Е2:Е9»)) Is Nothing​ открыт. Если книга​ = 0 Then​ функцию:​Путь: меню «Данные» -​ значения.​ нельзя решить Расширенным​: Serge_007, спасибо за​​ столбец. Помогите переделать​​ Rows.Count).End(xlUp).Row).Value​

Тестируем

​ОБЛАСТЬ ПРИМЕНЕНИЯ​ПРОБЛЕМА​
​ типом контракта –​​ контракта Валютный, затем​​В принципе, можно обойтись​ ячейках имеются дубликаты.​End If​ And Target.Cells.Count =​
​ с нужными значениями​ lReply = MsgBox(«Добавить​Протестируем. Вот наша таблица​ инструмент «Проверка данных»​Ещё раз всем​
​ фильтром? Пример простой​​ участие, желаю Вам​​ формулу так, чтобы​With CreateObject(«scripting.dictionary»): .comparemode​: Любая версия Excel​: Как формулами извлечь​
​ Рублевый:​​ — Рублевый.​​ и без объединенного​Создадим список, состоящий только​If Len(newVal) =​
​ 1 Then Application.EnableEvents​ находится в другой​​ введенное имя «​​ со списком на​ — вкладка «Параметры».​

​ Большое спасибо.​ и фильтр там​
​ скорейшего выздоровления и​ она выбирала и​ = 1​ПРИМЕЧАНИЯ​ уникальные значения?​- в исходной​Для удобства создадим динамические​

​ списка. Платой за​ из уникальных значений​

​ 0 Then Target.ClearContents​
​ = False If​ папке, нужно указывать​ & _ Target​ одном листе:​

excel2.ru

Извлечение уникальных значений формулами

​ Тип данных –​Kogarys​ работает. Пробовал вчера​ вообще кавказского здоровья​

​ выводила в столбец​For i =​: Для устранения значения​РЕШЕНИЕ​ таблице Условным форматированием​

​ диапазоны: Компании (названия​
​ это будет значительное​
​ (см. файл примера).​
​Application.EnableEvents = True​
​ Len(Target.Offset(0, 1)) =​
​ путь полностью.​

​ & » в​​Добавим в таблицу новое​ «Список».​
​: Всем привет!​​ и в посте​и долголетия​​ уникальные значения из​​ 1 To UBound(z,​
​ ошибки можно использовать​
​: Формула массива (вводится​
​ будут выделены строки​​ компаний из столбца​​ усложнение формулы массива:​​Решим задачу двумя способами:​End If​ 0 Then Target.Offset(0,​Возьмем три именованных диапазона:​ выпадающий список?», vbYesNo​ значение «елка».​Ввести значения, из которых​​Люди, помогите пожалуйста:​​ 2 написал об​Serge_007​
​ диапазона А2:Е20, если​ 1)​ проверку на ошибку​ нажатием​ с типом контракта​А​​=ЕСЛИОШИБКА(ЕСЛИОШИБКА(​​ через промежуточное создание​End Sub​ 1) = Target​​Это обязательное условие. Выше​​ + vbQuestion) If​Теперь удалим значение «береза».​

​ будет складываться выпадающий​Есть два столбца​ этом, правда ТС​: Спасибо!​ это возможно. Спасибо​If z(i, 1)​ согласно Вашей версии​Ctrl+Shift+Enter​ Рублевый;​), Тип_контракта (столбец​ИНДЕКС(Список1;ПОИСКПОЗ(0;СЧЁТЕСЛИ($F$4:F4;Список1);0));​ объединенного списка и​Не забываем менять диапазоны​ Else Target.End(xlToRight).Offset(0, 1)​

​ описано, как сделать​​ lReply = vbYes​Осуществить задуманное нам помогла​ список, можно разными​
​ с данными. И​​ промолчал.​
​Но видимо пора​​ за помощь.​ = «вспомогательное» Then​ Excel или использовать​): Code =ИНДЕКС($B$2:$B$16;НАИБОЛЬШИЙ(ЕСЛИ(ПОИСКПОЗ($B$2:$B$16;$B$2:$B$16;0)=СТРОКА($A$1:$A$15);СТРОКА($A$1:$A$15));СТРОКА(A1)))​- в столбце​B​

excelworld.ru

Выборка уникальных значений по условию из второго столбца (Формулы/Formulas)

​ИНДЕКС(Список2;ПОИСКПОЗ(0;СЧЁТЕСЛИ($F$4:F4;Список2);0))​​ без него.​
​ на «свои». Списки​ = Target End​ обычный список именованным​ Then Range(«Деревья»).Cells(Range(«Деревья»).Rows.Count +​ «умная таблица», которая​ способами:​ нужна формула, которая​
​alx74​ на свалку​alx74​ .Item(z(i, 2)) =​ Условное Форматирование​В английской версии:​H​

​) и Продажи (столбец​​);»»)​
​В статье Объединение списков​​ создаем классическим способом.​
​ If Target.ClearContents Application.EnableEvents​

​ диапазоном (с помощью​​ 1, 1) =​ легка «расширяется», меняется.​Вручную через «точку-с-запятой» в​​ выводила бы в​

​:​​ikki​: Что мешает использовать​ 0​
​Sancho​
​Code =INDEX($B$2:$B$16,LARGE(IF(MATCH($B$2:$B$16,$B$2:$B$16,0)=ROW($A$1:$A$15),ROW($A$1:$A$15)),ROW(A1)))​будут выведены суммарные​
​С​
​Для вывода промежуточных результатов​ изложено решение создания​ А всю остальную​

​ = True End​​ «Диспетчера имен»). Помним,​ Target End If​Теперь сделаем так, чтобы​
​ поле «Источник».​
​ третий столбец массив​
​Serge_007​: макрос или UDF​ Расширенный фильтр?​
​Next i​: Всем добрых суток.​
​КАК ЭТО РАБОТАЕТ:​ продажи отобранных компаний​). Если в таблицу​
​ вычислений можно воспользоваться​ объединенного списка из​ работу будут делать​ If End Sub​
​ что имя не​
​ End If End​ можно было вводить​
​Ввести значения заранее. А​
​ из уникальных значений,​

​, собственно увидел, что​​ не подходят?​
​Для 2007 и​Range(«I2»).Resize(.Count, 1) =​Пошарил форум, решений​Функция​ (по данному типу​ будет добавлена новая​ клавише​
​ 2-х списков. Воспользуемся​ макросы.​Чтобы выбранные значения показывались​ может содержать пробелов​ If End Sub​ новые значения прямо​ в качестве источника​ состоящий из СЦЕПКИ​ решается просто, а​
​ikki​ 2010: Вкладка Данные-Сортировка​ Application.Transpose(.Keys)​ много, но видимо​ПОИСКПОЗ​ контракта);​

​ строка, то ее​​F9​ этим решением и​На вкладке «Разработчик» находим​ снизу, вставляем другой​hands

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

excelworld.ru

Вывод уникальных значений из диапазона в столбец

​ первых двух столбцов.​​ сейчас сомневаюсь, когда​: эт куда сабрался?​ и фильтр-Дополнительно-Ставим галку​End With​ придется разбираться на​, сравнивающая два массива​- в столбце​ значения будут автоматически​, выделив интересующую часть​ создадим объединенный список,​ инструмент «Вставить» –​ код обработчика.Private Sub​Создадим первый выпадающий список,​

​ «с поддержкой макросов».​​ этим списком. И​ со списком.​
​Файлик прилагаю​ разговор пошел про​ста-ять!!!​ Только уникальные записи-Переключатель​End Sub​ своем примере. Извините​ возвращает ИСТИНА только​I​

​ включены в Динамические​​ формулы.​ записав в ячейке​ «ActiveX». Здесь нам​ Worksheet_Change(ByVal Target As​ куда войдут названия​Переходим на лист со​ данные автоматически добавлялись​smile​Назначить имя для диапазона​Z​
​ макросы от старожил​рановато ещё.​ скопировать результат в​Sancho​ если уже вопрос​ в том случае,​будет выведено количество​ диапазоны и нижеследующие​Имеется таблица, состоящая их​С5​ нужна кнопка «Поле​

​ Range) On Error​​ диапазонов.​​ списком. Вкладка «Разработчик»​​ в диапазон.​ значений и в​: Расширенный фильтр, только​ и ветеранов. Вот​
​Serge_007​ другое место. Указываете​: Здравствуйте, Serge.​ вызывает у вас​ если вхождение искомого​ продаж (кол-во контрактов​

​ формулы не придется​​ нескольких столбцов. В​формулу​ со списком» (ориентируемся​ Resume Next If​smile​Когда поставили курсор в​biggrin

​ — «Код» -​​Сформируем именованный диапазон. Путь:​
​ поле источник вписать​ уникальные…​smile

​ я и подумал,​​: Пора-пора…​ диапазоны Исходный и​

​Что то с​​ «оскомину».​wacko​ значения в массив​
​ выбранного типа).​wink

​ модифицировать.​​ одном из столбцов​
​=ЕСЛИ(СТРОКА()-СТРОКА($C$4)>СЧЁТЗ(Список1);​ на всплывающие подсказки).​

​ Not Intersect(Target, Range(«Н2:К2»))​​ поле «Источник», переходим​ «Макросы». Сочетание клавиш​ «Формулы» — «Диспетчер​ это имя.​Z​ может чего не​Простую задачу не​smile
​ Куда поместить результат.​

​ кодом не то,​​Требуется выборка уникальных​​ является первым. В​​3. Теперь в​​Также создадим в ячейке​​ имеются повторяющиеся текстовые​ИНДЕКС(Список2;СТРОКА(C5)-СЧЁТЗ(Список1)-СТРОКА($B$4));A5)​Щелкаем по значку –​
​ Is Nothing And​ на лист и​ для быстрого вызова​ имен» — «Создать».​Любой из вариантов даст​: 1:1, всего два​ догоняю?​

​ могу решить…​​astradewa​ даже в вашем​ значений в диапазон​ результате работы​ зеленой ячейке​

​E5​​ значения. Создадим список,​Динамический диапазон Список1 представляет​ становится активным «Режим​ Target.Cells.Count = 1​ выделяем попеременно нужные​ – Alt +​ Вводим уникальное название​ такой результат.​ года тому назад…​alx74​astradewa​

​: Serge_007, добрый вечер,​​ варианте выбранные данные​​ I2:I23 из столбца​​ПОИСКПОЗ​Е12​Выпадающий (раскрывающийся) список​ состоящий только из​ собой Исходный список​ конструктора». Рисуем курсором​ Then Application.EnableEvents =​ ячейки.​ F8. Выбираем нужное​

​ диапазона – ОК.​​​-​

​: Во вложении файл​​: ikki, доброе утро,​ читая форумы Excel,​
​ не уникальны цех​ B по условию​мы получаем массив:​выберите компанию ООО​

​ с двумя значениями:​​ уникальных текстовых значений.​ №1 с названиями​
​ (он становится «крестиком»)​ False If Len(Target.Offset(1,​Теперь создадим второй раскрывающийся​smile

​ имя. Нажимаем «Выполнить».​​Создаем раскрывающийся список в​Необходимо сделать раскрывающийся список​Владимир​dry

​ и скрин.​​ макрос или UDF​ в том числе​ 1116 повторяется 7​ в столбце A,​
​ {ИСТИНА:ИСТИНА:ИСТИНА:ЛОЖЬ:ИСТИНА:ЛОЖЬ:ИСТИНА:ЛОЖЬ и т.д.}.​ Рога и копытца​ Валютный и Рублевый.​ Уникальные значения будем​biggrin​ компаний, причем его​ небольшой прямоугольник –​ 0)) = 0​
​ список. В нем​Когда мы введем в​ любой ячейке. Как​
​ со значениями из​:​

excelworld.ru

Вывод списка уникальных значений (формулой)

​Serge_007​​ подойдут, если не​
​ и Ваш, я​
​ раз.​ задает условие ячейка​С помощью функции​4. Установите серый флажок​Для создания списка уникальных​ выбирать не из​ границы могут изменяться​ место будущего списка.​
​ Then Target.Offset(1, 0)​

​ должны отражаться те​​ пустую ячейку выпадающего​ это сделать, уже​;)

​ динамического диапазона. Если​​=ЕСЛИОШИБКА(ИНДЕКС($B$5:$B$8&», «&$C$5:$C$8;НАИМЕНЬШИЙ(ЕСЛИ(ПОИСКПОЗ($B$5:$B$8&», «&$C$5:$C$8;$B$5:$B$8&», «&$C$5:$C$8;)=СТРОКА($A$5:$A$8)-4;СТРОКА($A$5:$A$8)-4);СТРОКА(A1)));»»)​: Это не совсем​;)
​ жалко, можно и​

​ понял что Вы​​при постановке кода​​ H1.​
​ ЕСЛИ мы сравниваем​

​ Выделите компанию​​ значений введем в​​ всех повторяющиеся значений​​ в зависимости от​Жмем «Свойства» – открывается​ = Target Else​ слова, которые соответствуют​
​ списка новое наименование,​​ известно. Источник –​ вносятся изменения в​:)​Формула массива.​

planetaexcel.ru

Выпадающий список в Excel с помощью инструментов или макросов

​ верно​ то и другое​ один из главных​ в ячейки I2:I23​Serge_007​ получившийся массив с​5. В исходной​

​ ячейку​ исходной таблицы, а​ количества числа введенных​ перечень настроек.​ Target.End(xlDown).Offset(1, 0) =​ выбранному в первом​ появится сообщение: «Добавить​ имя диапазона: =деревья.​ имеющийся диапазон (добавляются​Kogarys​

Создание раскрывающегося списка

​ТС не заполнил​ (для общего т.с.​ «формулистов»​ в свой изначальный​: Здравствуйте​

Создание выпадающего списка.

​ массивом {1:2:3:4:5:6:7:8 и​ таблице будут выделены​G5​ только из тех,​

  1. ​ значений (пропуски не​Вписываем диапазон в строку​Ввод значений.
  2. ​ Target End If​ списке названию. Если​ введенное имя баобаб​Снимаем галочки на вкладках​Проверка вводимых значений.
  3. ​ или удаляются данные),​:​ пример, но интересуют​ развития)​

Имя диапазона. Раскрывающийся список.

​, поэтому обратился​ файл у меня​

​Формула массива:​

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

​ т.д.}, полученном в​ 2 строки содержащие​формулу массива:​ у которых соответствующие​ допускаются). Аналогичные диапазоны​ ListFillRange (руками). Ячейку,​ Target.ClearContents Application.EnableEvents =​ «Деревья», то «граб»,​

  1. ​ в выпадающий список?».​ «Сообщение для ввода»,​ они автоматически отражаются​Z,​Форматировать как таблицу.
  2. ​ значения из ДИАПАЗОНА​Спасибо за помощь.​ к Вам.​ совсем иная картина.​200?’200px’:»+(this.scrollHeight+5)+’px’);»>​ результате работы функции​ название компании ООО​=ЕСЛИОШИБКА(ИНДЕКС(Компании;​ значения в соседних​ Список2 и Объединенный_список​ куда будет выводиться​ True End If​ «дуб» и т.д.​Выпадающий список.
  3. ​Нажмем «Да» и добавиться​ «Сообщение об ошибке».​ в раскрывающемся списке.​-снкс,посмотрел темку, топикстартер​ в столбце​Alex_ST​А вопрос -​ на вспомогательное производство​

Ввод значения в источник.

​=ИНДЕКС(B$2:B$23;НАИМЕНЬШИЙ(ЕСЛИ(H$1=A$2:A$23;СТРОКА($1:$22));СТРОКА(A1)))​СТРОКА​ Рога и копытца​

Список и таблица.

​ПОИСКПОЗ(0;ЕСЛИ(E$5=Тип_контракта;0;1)+СЧЁТЕСЛИ($G$4:G4;Компании);0)​ столбцах удовлетворяют определенному​

Добавлено значение елка.

​ созданы для столбцов​

Удалено значение береза.

​ выбранное значение –​ End Sub​ Вводим в поле​

​ еще одна строка​ Если этого не​Выделяем диапазон для выпадающего​ хотел немножко не​RAN​: Александр,​ переделать формулу так,​

Ввод данных из списка.

  1. ​ выбирает только цех​Serge_007​с заданным диапазоном​ с типом контракта​);»»)​Создание имени.
  2. ​ критерию.​ Исходный список №2​ в строку LinkedCell.​Чтобы выбираемые значения отображались​ «Источник» функцию вида​
  3. ​ со значением «баобаб».​ сделать, Excel не​ списка. В главном​ то. Но все​: Я думаю, дело​astradewa​ чтобы она выбирала​Сообщение об ошибке.
  4. ​ 1111 относящийся к​: Если еще и​ и в случае​ Рублевый​При выборе в ячейке​Разовьем идеи, изложенные в​ и Объединенный список.​ Для изменения шрифта​ в одной ячейке,​ =ДВССЫЛ(E3). E3 –​Когда значения для выпадающего​ позволит нам вводить​ меню находим инструмент​ равно спасибо.​ в неудачном примере.​просит​ и выводила в​ основному.​ коды уникальные нужны,​ если​Созданная структура является разновидностью​E5​ статье Отбор уникальных​Далее используем решение, приведенное​ и размера –​ разделенные любым знаком​ ячейка с именем​ списка расположены на​ новые значения.​ «Форматировать как таблицу».​Владимир,​Заполнен 1 столбец,​формулами​
  5. ​ столбец уникальные значения​и почему в​Сообщение об ошибке.
  6. ​ то:​ПОИСКПОЗ​ Связанного списка.​значения Валютный, все​ значений (убираем повторы).​ в статье Отбор​ Font.​ препинания, применим такой​

Макрос.

​ первого диапазона.​ другом листе или​Вызываем редактор Visual Basic.​Откроются стили. Выбираем любой.​- СПАСИБО ОГРОМНОЕ!​ а должно быть​

​, поэтому код VBA​ из диапазона А2:Е20​ коде СТРОКА($1:$22));СТРОКА(A1))) если​

Выпадающий список в Excel с данными с другого листа/файла

​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ИНДЕКС(B$2:B$23;НАИМЕНЬШИЙ(ЕСЛИ((H$1=A$2:A$23)*(ПОИСКПОЗ(B$2:B$23;B$2:B$23;)=СТРОКА($1:$22));СТРОКА($1:$22));СТРОКА(A1)))​вернул ИСТИНА получаем​СОВЕТ:​ компании, НЕ поставляющие​Пусть исходная таблица содержит​ уникальных значений (убираем​Скачать пример выпадающего списка​ модуль.​Бывает, когда из раскрывающегося​ в другой книге,​ Для этого щелкаем​

  1. ​ Для решения нашей​ То, что нужно!​ 4.​
  2. ​ его вряд ли​ (у The_Prist формула​ у нас условия​

​_Boroda_​ номер строки вхождения.​Другим подходом к​ по валютным контрактам,​ три столбца: один​ дубликаты из столбца).​При вводе первых букв​Private Sub Worksheet_Change(ByVal​ списка необходимо выбрать​ стандартный способ не​

Как сделать зависимые выпадающие списки

​ правой кнопкой мыши​

Три именованных диапазона.

​ задачи дизайн не​))))​alx74​ устроит.​ извлекает уникальные из​ и нужные данные​: Еще вариант для​Собственно говоря задача​

  1. ​ решению этой задачи​ будут проигнорированы,​ с названиями компаний,​Список диапазонов.
  2. ​Записав в​ с клавиатуры высвечиваются​ Target As Range)​ сразу несколько элементов.​ работает. Решить задачу​Таблица со списком.
  3. ​ по названию листа​ имеет значения. Наличие​Под выпадающим списком понимается​: Теперь понял, спасибо.​Но на всякий​ столбца в столбец,​ находятся в строках​ уникальных кодов по​ решена. Теперь остаётся​ является использование Сводных​и список уникальных значений​ другой с указанием​E5​Второй раскрывающийся список.

    Выбор нескольких значений из выпадающего списка Excel

    ​ подходящие элементы. И​On Error Resume​ Рассмотрим пути реализации​ можно с помощью​ и переходим по​

    1. ​ заголовка (шапки) важно.​ содержание в одной​ (невнимательно прочитал первый​ случай, если формулами​ а надо из​ 2:23?​ условию​ только оформить итог​ таблиц.​ будет сформирован только​ типа контракта (валютный​формулу массива:​ это далеко не​ Next​ задачи.​ функции ДВССЫЛ: она​ вкладке «Исходный текст».​ В нашем примере​ ячейке нескольких значений.​ пост А2:Е20).​ так никто и​ диапазона).​Sancho​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ИНДЕКС(B$2:B$23;ПОИСКПОЗ(;СЧЁТЕСЛИ(I$1:I1;ЕСЛИ(A$2:A$23=H$1;B$2:B$23;I$1));))​ списком. Для этого​Предположим, что у​
    2. ​ из тех компаний,​ или рублевый), третий​=ЕСЛИОШИБКА(ИНДЕКС(Объединенный_список;​ все приятные моменты​If Not Intersect(Target,​Создаем стандартный список с​ сформирует правильную ссылку​ Либо одновременно нажимаем​ это ячейка А1​ Когда пользователь щелкает​astradewa​ не решит, то​Serge_007​: Вот вы блин​С проверкой на​ используем функцию НАИБОЛЬШИЙ,​ Вас есть вот​ которые имеют контракты​ с суммами продаж​
    3. ​ПОИСКПОЗ(0;СЧЁТЕСЛИ($E$4:E4;Объединенный_список);0));»»)​ данного инструмента. Здесь​ Range(«C2:C5»)) Is Nothing​ помощью инструмента «Проверка​ на внешний источник​
      ​ клавиши Alt +​ со словом «Деревья».​
      ​ по стрелочке справа,​: Спасибо Всем ответившим​
      ​ в "Готовых решениях"​:​ шайтаны все))) Всем​ ошибку​
      ​ которая создаст вариативный​
      ​ такой файл по​
      ​ в валюте. Также​
      ​ по контракту. Столбец​
      ​и скопировав ее вниз​ можно настраивать визуальное​ And Target.Cells.Count =​
      ​ данных». Добавляем в​ информации.​ F11. Копируем код​
      ​ То есть нужно​
      ​ появляется определенный перечень.​
      ​ за помощь, буду​
      ​ я выкладывал макрос​astradewa​
      ​ спасибо огромное -​
      ​Код200?'200px':''+(this.scrollHeight+5)+'px');">=ЕСЛИОШИБКА(ИНДЕКС(B$2:B$23;ПОИСКПОЗ(;СЧЁТЕСЛИ(I$1:I1;ЕСЛИ(A$2:A$23=H$1;B$2:B$23;I$1));));"")​
      ​ ряд сначала из​

    ​ продажам региональных менеджеров:​ будут подсчитаны суммарные​ с названиями компаний​ получим список уникальных​ представление информации, указывать​ 1 Then​

    Выпадающий список с поиском

    1. ​ исходный код листа​Делаем активной ячейку, куда​ (только вставьте свои​ выбрать стиль таблицы​ Можно выбрать конкретное.​ разбираться в предоставленном​Вставить ActiveX.
    2. ​ NoDups_in_Range​, спасибо за лестное​ работает​Формулы массива. Вводятся​ чисел, потом из​Из него Вам​Элемент ActiveX.
    3. ​ продажи и количество​ содержит повторяющиеся значения,​Свойства ActiveX.
    4. ​ значений из двух​ в качестве источника​Application.EnableEvents = False​ готовый макрос. Как​ хотим поместить раскрывающийся​ параметры).Private Sub Worksheet_Change(ByVal​ со строкой заголовка.​Очень удобный инструмент Excel​

    ​ материале.​

    ​Michael_S​ мнение, но думаю​jakim​ одновременным нажатием Контрл​ значений ЛОЖЬ и​ необходимо извлечь все​ продаж по каждой​ т.к. (см. файл​ столбцов.​ сразу два столбца.​

    exceltable.com

​newVal = Target​

A dynamic drop down (also known as a  dependent drop down) is a term for drop downs with a dynamic list. The list items of a dynamic drop down get updated according to another input which is usually another drop down as well. A common example is to have lots of items under different categories. Instead of trying to finding an item in a huge list, you can first select a category and then find your desired item in a filtered list. In this article, we are going to show you how to create a dynamic drop down list Excel using the dynamic array functions UNIQUE and FILTER.

Designing the dynamic drop downs

Our sample data consists of a 2-column table containing names and types. As a result, we need a drop down for each column. However, there 2 problems we need to address first:

  • Type values occur multiple times in the corresponding column. Listing an item multiple times may confuse our users.
  • We want the Name values to be listed based on the selection of type. For example, if we set the type to «WATER», the second drop down should only list the names that match with type «WATER».

dynamic drop down list excel

There are multiple ways to create a dynamic drop down list Excel. Here are a few examples:

  • How to create dependent dropdowns
  • Transforming a Complex Pricing List into a Quoting Tool in Excel

However, mos of these methods require an extensive use of formulas. Fortunately, the new dynamic array functions make things a lot easier. Let’s take a look at the basics of the dynamic array functions UNIQUE and FILTER.

UNIQUE and FILTER

In September, 2018, Microsoft has introduced new concepts like the dynamic arrays and spilling, in addition to a set of new functions, like the UNIQUE and the FILTER functions. The common characteristic of these two functions is their ability to return an array of values. We will be using this feature to populate the lists of unique items in our dynamic Excel drop down list.

UNIQUE Function

The UNIQUE function returns an array of unique values from a given array or range. This function is very helpful in eliminating items that occur multiple times. If you have a data set similar to our example that contains multiple values, like under the column Type, this formula will help simplify those lists.

When using the UNIQUE function, add the reference for the column of values you need, and the function will return a list of unique items.

=UNIQUE(Type)

*Type is named range referring C4:C17

For more information and examples for the UNIQUE function, please see our related guide.

dynamic drop down list excel

FILTER Function

The FILTER function, on the other hand, can filter an array of values by a criteria. The FILTER function accepts three (required) arguments:

  • An array to be filtered
  • An array of Boolean values to identify the filtered values
  • A return value if there are no other values left

For example, the following formula returns an array of values in a named range Name, where the values of the range Type is equal to the value of the DropdownType. Here, DropdownType is a single value, while «Name» and «Type» are ranges.

=FILTER(Name,Type=DropdownType,»No Name Found»)

In the screenshot below, DropdownType is equal to «FIRE». Thus, only two values, «Arcanine» and «Entei», are returned by the formula.

dynamic drop down list excel

Finalizing the structure

After this brief introduction, we can now create our dynamic drop down list Excel.

Create a higher level drop down containing the unique values

First step is creating a unique list of types and bind them to a drop down. In our example, we used the UNIQUE function on cell E4. The UNIQUE function spills its return array through the rest of the column.

Next is binding the spilled array into a drop down. To do this,

  • Select a cell to make a drop down.
  • Go to Data Validation
  • Select List under Allow
  • Type in your cell reference with the UNIQUE formula with a # character. This is =E4# in our example.

The # is the spill operator which saves us from guessing the size of the outcome array. Using # you can get all items returned from the UNIQUE formula.

dynamic drop down list excel

Create dynamic drop down with a dynamic list

This is where the FILTER function comes in. In our example, we named the ranges and used them in the formulas.

  • Type dropdown (H7) as DropdownType
  • List of types (C4:C17) as Type
  • List of names (B4:B17) as Name

Our formula in this example is in cell E15:

=FILTER(Name,Type=DropdownType,»No Name Found»)

The drop down procedure is very similar to previous one. The only difference is the reference of the cell contains the FILTER, =E15#.

That’s all!

На чтение 11 мин Просмотров 1.1к. Опубликовано 24.10.2020

Содержание

  1. Задача
  2. Решение
  3. Решение для списков с пустыми ячейками
  4. Решение без формул массива
  5. Пример создания зависимого выпадающего списка в ячейке Excel
  6. Список категорий и подкатегорий в зависимом выпадающем списке Excel
  7. Зависимый выпадающий список подкатегорий
  8. Рабочая исходная таблица Excel
  9. 1. Имена диапазонов ячеек
  10. 2. Создание раскрывающегося списка для категории
  11. 3. Создание зависимого выпадающего списка для подкатегории
  12. Проверка вводимых значений для подкатегории в зависимом выпадающем списке

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

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

Задача

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

Для наглядности уникальные значения в исходном списке выделены цветом с помощью Условного форматирования.

Решение

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

Для создания Динамического диапазона:

  • на вкладке Формулы в группе Определенные имена выберите команду Присвоить имя;
  • в поле Имя введите: Исходный_список;
  • в поле Диапазон введите формулу =СМЕЩ(УникальныеЗначения!$A$5;;; СЧЁТЗ(УникальныеЗначения!$A$5:$A$30))
  • нажмите ОК.

Список уникальных значений создадим в столбце B с помощью формулы массива (см. файл примера ). Для этого введите следующую формулу в ячейку B5:

После ввода формулы вместо ENTER нужно нажать CTRL + SHIFT + ENTER. Затем нужно скопировать формулу вниз, например, с помощью Маркера заполнения. Чтобы все значения исходного списка были гарантировано отображены в списке уникальных значений, необходимо сделать размер списка уникальных значений равным размеру исходного списка (на тот случай, когда все значения исходного списка не повторяются). В случае наличия в исходном списке большого количества повторяющихся значений, список уникальных значений можно сделать меньшего размера, удалив лишние формулы, чтобы исключить ненужные вычисления, тормозящие пересчет листа.

Разберем работу формулу подробнее:

  • Здесь использование функции СЧЁТЕСЛИ() не совсем обычно: в качестве критерия (второй аргумент) указано не одно значение, а целый массив Исходный_список , поэтому функция возвращает не одно значение, а целый массив нулей и единиц. Возвращается 0, если значение из исходного списка не найдено в диапазоне B4:B4(B4:B5 и т.д.), и 1 если найдено. Например, в ячейке B5 формулой СЧЁТЕСЛИ(B$4:B5;Исходный_список) возвращается массив <1:0:0:0:0:0:0:1:0:0:0:0:1:1:0>. Т.е. в исходном списке найдено 4 значения «ООО Рога и копытца» (B5). Массив легко увидеть с помощью клавиши F9 (выделите в Строке формул выражение СЧЁТЕСЛИ(B$4:B5;Исходный_список) , нажмите F9: вместо формулы отобразится ее результат);
  • ПОИСКПОЗ() – возвращает позицию первого нуля в массиве из предыдущего шага. Первый нуль соответствует значению еще не найденному в исходном списке (т.е. значению «ОАО Уважаемая компания» для формулы в ячейке B5);
  • ИНДЕКС() – восстанавливает значение по его позиции в диапазоне Исходный_список ;
  • ЕСЛИОШИБКА() подавляет ошибку, возникающую, когда функция ПОИСКПОЗ() пытается в массиве нулей и единиц, возвращенном СЧЁТЕСЛИ() , найти 0, которого нет (ситуация возникает в ячейке B12, когда все уникальные значения уже извлечены из исходного списка).

Формула будет работать и в случае если исходный список содержит числовые значения.

Примечание. Функция ЕСЛИОШИБКА() будет работать начиная с версии MS EXCEL 2007, чтобы обойти это ограничение читайте статью про функцию ЕСЛИОШИБКА() . В файле примера имеется лист Для 2003, где эта функция не используется.

Решение для списков с пустыми ячейками

Если исходная таблица содержит пропуски, то нужно использовать другую формулу массива (см. лист с пропусками файла примера ):
=ЕСЛИОШИБКА(ИНДЕКС($A$5:$A$19;
ПОИСКПОЗ( 0;ЕСЛИ(ЕПУСТО($A$5:A19);»»;СЧЁТЕСЛИ($B$4:B4;$A$5:$A$19));0)
);»»)

Решение без формул массива

Для отбора уникальных значений можно обойтись без использования формул массива. Для этого создайте дополнительный служебный столбец для промежуточных вычислений (см. лист «Без CSE» в файле примера ).

СОВЕТ: Список уникальных значений можно создать разными способами, например, с использованием Расширенного фильтра (см. статью Отбор уникальных строк с помощью Расширенного фильтра), Сводных таблиц или через меню Данные/ Работа с данными/ Удалить дубликаты . У каждого способа есть свои преимущества и недостатки. Преимущество использования формул состоит в том, чтобы при добавлении новых значений в исходный список, список уникальных значений автоматически обновлялся.

СОВЕТ2: Для тех, кто создает список уникальных значений для того, чтобы в дальнейшем сформировать на его основе Выпадающий список, необходимо учитывать, что вышеуказанные формулы возвращают значение Пустой текст «», который требует аккуратного обращения, особенно при подсчете значений (вместо обычной функции СЧЕТЗ() нужно использовать СЧЕТЕСЛИ() со специальными аргументами). Например, см. статью Динамический выпадающий список в MS EXCEL.

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

Не могли бы вы мне помочь с удалением дубликатов в раскрывающемся списке . Этот перечень не является статичным. Пример:

До

После

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

Я попытался ниже, но не успех:

Шаг 1 — С оригинальными названиями в колонке А, поставить этот массив formula¹ где-то справа во втором ряду. Я буду использовать Z2.

Заполните вниз, пока не кончатся имен, а затем еще несколько строк, чтобы для будущего расширения.

Шаг 2 — Переход к формулам ► Defined имен ► Диспетчер имен и создать новое имя.

Шаг 3 — Перейдите к ячейке, которую вы хотите, вы проверку данных и использовать инструменты Data ► данных ► Проверка данных.

¹ Формула массива должна быть завершена с Ctrl + Shift + Enter↵ . Если введено правильно, Excel наматывается формула в фигурных скобках (например , <и > ). Вы не вводите скобки в себе. После ввода в первую ячейку правильно, они могут быть заполнены или скопированы вниз или вправо, как и любой другой формула. Попробуйте уменьшить ваши ссылки полных столбцов диапазонов более точно представляющих экстенты ваших фактических данных. Формулы массива жевать циклы вычисления логарифмически так это хорошая практика , чтобы сузить диапазон ссылки к минимуму. См Рекомендации и примеры формул массивов для получения дополнительной информации.

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

Пример создания зависимого выпадающего списка в ячейке Excel

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

Каждый продавец сначала определял товарную группу, а затем конкретный товар из этой группы. Форма должна включать полное имя группы и определенный индекс товара. Поскольку набирать это вручную было бы слишком трудоемким (и раздражающим) занятием, я предложил очень быстрое и простое решение — 2 зависимых выпадающих списка.

Первым был список всех категорий продуктов, второй — список всех продуктов, находящихся в выбранной категории. Поэтому я создал выпадающий список, зависимый от выбора, сделанного в предыдущем списке (здесь вы найдете материал о том, как создать два зависимых раскрывающихся списка).

Тот же самый результат хочет получить пользователь шаблона домашнего бюджета где нужна категория и подкатегория расходов. Пример данных находится на рисунке ниже:

Так, например, если мы выберем категорию Развлечения, то в списке подкатегорий должно быть: Кинотеатр, Театр, Бассейн. Очень быстрое решение, если в своем домашнем бюджете вы хотите проанализировать более подробную информацию.

Список категорий и подкатегорий в зависимом выпадающем списке Excel

Признаюсь, что в предложенном мной варианте домашнего бюджета я ограничиваюсь только категорией, поскольку для меня такого разделения расходов вполне достаточно (название расходов / доходов рассматривается как подкатегория). Однако, если вам нужно разделить их на подкатегории, то метод, который я описываю ниже, будет идеальным. Смело используйте!

А конечный результат выглядит следующим образом:

Зависимый выпадающий список подкатегорий

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

Рабочая исходная таблица Excel

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

Можно было бы также использовать таблицы с первого изображения. Разумеется, формулы были бы разными. Однажды даже я нашел в сети такое решение, но оно мне не понравилось, потому что там была фиксированная длина списка: а значит, иногда список содержал пустые поля, а иногда и не отображал все элементы. Конечно, я могу избежать этого ограничения, но признаюсь, что мне больше нравится мое решение, поэтому к тому решению я больше не возвращался.

Ну хорошо. Теперь, по очереди я опишу шаги создания зависимого выпадающего списка.

1. Имена диапазонов ячеек

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

Присвоим имена двум диапазонам. Список всех категорий и рабочий список категорий. Это будут диапазоны A3:A5 (список категорий в зеленой таблице на первом изображении) и G3:G15 (список повторяющихся категорий в фиолетовой рабочей таблице).

Для того чтобы назвать список категорий:

  1. Выберите диапазон A3:A5.
  2. В поле имени (поле слева от строки формулы) введите название «Категория».
  3. Подтвердите с помощью клавиши Enter.

Такое же действие совершите для диапазона рабочего списка категорий G3:G15, который вы можете вызвать «Рабочий_Список». Этот диапазон мы будем использовать в формуле.

2. Создание раскрывающегося списка для категории

Это будет просто:

  1. Выберите ячейку, в которую вы хотите поместить список. В моем случае это A12.
  2. В меню «ДАННЫЕ» выберите инструмент «Проверка данных». Появится окно «Проверка вводимых значений».
  3. В качестве типа данных выберите «Список».
  4. В качестве источника введите: =Категория (рисунок ниже).
  5. Подтвердите с помощью OK.

Проверка вводимых значений – Категория.

Раскрывающийся список для категории.

3. Создание зависимого выпадающего списка для подкатегории

Сейчас будет весело. Создавать списки мы умеем — только что это сделали для категории. Только единственный вопрос: «Как сказать Excelю выбрать только те значения, которые предназначены для конкретной категории?» Как вы, наверное, догадываетесь, я буду использовать здесь рабочую таблицу и, конечно же, формулы.

Начнем с того, что мы уже умеем, то есть с создания раскрывающегося списка в ячейке B12. Поэтому выберите эту ячейку и нажмите «Данные» / «Проверка данных», а в качестве типа данных — «Список».

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

Вид окна «Проверка вводимых значений»:

Проверка вводимых значений для подкатегории в зависимом выпадающем списке

Как видите, весь трюк зависимого списка состоит в использовании функции СМЕЩ. Ну хорошо, почти весь. Помогают ей функции ПОИСКПОЗ и СЧЕТЕСЛИ. Функция СМЕЩ позволяет динамически определять диапазоны. Вначале мы определяем ячейку, от которой должен начинаться сдвиг диапазона, а в последующих аргументах определяем его размеры.

В нашем примере диапазон будет перемещаться по столбцу Подкатегория в рабочей таблице (G2:H15). Перемещение начнем от ячейки H2, которая также является первым аргументом нашей функции. В формуле ячейку H2 записали как абсолютную ссылку, потому что предполагаю, что мы будем использовать раскрывающийся список во многих ячейках.

Поскольку рабочая таблица отсортирована по Категории, то диапазон, который должен быть источником для раскрывающегося списка, будет начинаться там, где впервые встречается выбранная категория. Например, для категории Питание мы хотим отобразить диапазон H6:H11, для Транспорта — диапазон H12: H15 и т. д. Обратите внимание, что все время мы перемещаемся по столбцу H, а единственное, что изменяется, это начало диапазона и его высота (то есть количество элементов в списке).

Начало диапазона будет перемещено относительно ячейки H2 на такое количество ячеек вниз (по числу), сколько составляет номер позиции первой встречающейся категории в столбце Категория. Проще будет понять на примере: диапазон для категории Питание перемещен на 4 ячейки вниз относительно ячейки H2 (начинается с 4 ячейки от H2). В 4-ой ячейке столбца Подкатегория (не включая заголовок, так как речь идет о диапазоне с именем Рабочий_Список), есть слово Питание (его первое появление). Мы используем этот факт собственно для определения начала диапазона. Послужит нам для этого функция ПОИСКПОЗ (введенная в качестве второго аргумента функции СМЕЩ):

Высоту диапазона определяет функция СЧЕТЕСЛИ. Она считает все встречающиеся повторения в категории, то есть слово Питание. Сколько раз встречается это слово, сколько и будет позиций в нашем диапазоне. Количество позиций в диапазоне — это его высота. Вот функция:

Конечно же, обе функции уже включены в функцию СМЕЩ, которая описана выше. Кроме того, обратите внимание, что как в функции ПОИСКПОЗ, так и в СЧЕТЕСЛИ, есть ссылка на диапазон названный Рабочий_Список. Как я уже упоминал ранее, не обязательно использовать имена диапазонов, можно просто ввести $H3: $H15. Однако использование имен диапазонов в формуле делает ее проще и легко читаемой.

Одна формула, ну не такая уж и простая, но облегчающая работу и защищает от ошибок при вводе данных!

Два варианта использования этого трюка я уже представил. Интересно, как вы его будете использовать?

Skip to content

Как получить список уникальных значений

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

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

  • Формулы для уникальных значений в столбце.
  • Как извлечь уникальные + 1е вхождение дубликатов.
  • Если нужно игнорировать пустые ячейки.
  • Выбираем уникальные с учетом регистра.
  • Отбор уникальных значений по условию.
  • Как извлечь уникальные значения из диапазона.
  • Применяем встроенный инструмент удаления дубликатов.
  • Список уникальных при помощи расширенного фильтра.
  • Извлечение уникальных данных при помощи Duplicate Remover.

Базовые формулы для получения уникальных значений.

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

Уникальные значения — это значения, которые присутствуют в списке только один раз. Например:

Чтобы получить список уникальных значений в Excel, используйте одну из следующих формул.

Формула уникальных значений массива (заполняется нажатием Ctrl + Shift + Enter):

=ЕСЛИОШИБКА(ИНДЕКС($A$2:$A$10; ПОИСКПОЗ(0; СЧЁТЕСЛИ($B$1:B1;$A$2:$A$10) + (СЧЁТЕСЛИ($A$2:$A$10; $A$2:$A$10)<>1); 0)); «»)

Можно воспользоваться и обычной формулой (вводится нажатием Enter):

=ЕСЛИОШИБКА(ИНДЕКС($A$2:$A$10; ПОИСКПОЗ(0;ИНДЕКС(СЧЁТЕСЛИ($B$1:B1; $A$2:$A$10) + (СЧЁТЕСЛИ($A$2:$A$10; $A$2:$A$10)<>1);0;0); 0)); «»)

В приведенных выше формулах используются следующие ссылки:

  • A2: A10 – исходных перечень данных.
  • B1 — верхняя ячейка уникального списка минус одна строка. В этом примере мы начинаем создавать список уникальных в B2, и поэтому мы записываем B1 в формулу (B2 — 1 строка = B1). Если ваш список начинается, скажем, с ячейки C3, измените $B$1:B1 на $C$2:C2.

В этом примере мы извлекаем уникальные имена из столбца A (точнее из диапазона A2: A10), а следующий скриншот демонстрирует формулу в действии:

Вот наш порядок действий:

  • Измените любую из формул в соответствии с вашим диапазоном данных.
  • Введите ее в первую ячейку, с которой начнётся формирование списка (в данном примере B2).
  • Если вы используете формулу массива, нажмите Ctrl + Shift + Enter. Если вы выбрали обычную, нажмите просто клавишу Enter.
  • Скопируйте вниз настолько, насколько это необходимо, перетащив мышкой маркер заполнения. Поскольку обе формулы заключены в функцию ЕСЛИОШИБКА, вы можете скопировать вниз с запасом. Это не испортит ваши данные какими-либо ошибками, независимо от того, сколько уникальных значений было извлечено.

Как извлечь различные значения.

Различные значения — появляются в перечне данных хотя бы один раз. Это все уникальные и первое вхождение повторяющихся значений.

Например:

Чтобы получить их список в Excel, используйте следующие формулы.

Формула массива (требуется нажать Ctrl + Shift + Enter):

{=ЕСЛИОШИБКА(ИНДЕКС($A$2:$A$13; ПОИСКПОЗ(0; СЧЁТЕСЛИ($B$1:B1; $A$2:$A$13); 0)); «»)}

или можно так:

{=ЕСЛИОШИБКА(ИНДЕКС($A$2:$A$13; НАИМЕНЬШИЙ(ЕСЛИ(ЕНД(ПОИСКПОЗ($A$2:$A$13;$B$1:B1;0)); СТРОКА($A$1:$A$15);»»);1));»»)}

Обычная  формула:

=ЕСЛИОШИБКА(ИНДЕКС($A$2:$A$13; ПОИСКПОЗ(0; ИНДЕКС(СЧЁТЕСЛИ($B$1:B1; $A$2:$A$13); 0; 0); 0)); «»)

Где:

  • A2: A13 — это список источников.
  • B1 — это ячейка над первой ячейкой отдельного списка. В этом примере отдельный список начинается с ячейки B2 (это первая ячейка, в которую вы вводите формулу), поэтому вы ссылаетесь на B1.

Как извлечь значения, игнорируя пустые ячейки

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

Формула массива для извлечения различных значений, исключая пустые ячейки:

{=ЕСЛИОШИБКА(ИНДЕКС($A$2:$A$13; ПОИСКПОЗ(0;СЧЁТЕСЛИ($C$1:C1;$A$2:$A$13&»») + ЕСЛИ($A$2:$A$13=»»;1;0); 0)); «»)}

Аналогичным образом вы можете получить список различных значений, исключая пустые ячейки и ячейки с числами:

{=ЕСЛИОШИБКА(ИНДЕКС($A$2:$A$13; ПОИСКПОЗ(0;СЧЁТЕСЛИ($D$1:D1;$A$2:$A$13&»») + ЕСЛИ(ЕТЕКСТ($A$2:$A$13)=ЛОЖЬ;1;0); 0)); «»)}

Напоминаем, что в приведенных выше формулах A2: A13 – это исходный список, а B1 – ячейка прямо над первой позицией формируемого списка.

На этом скриншоте показан результат отбора:

Быть может, кому-то будет полезна еще одна формула –

=ЕСЛИОШИБКА(ИНДЕКС($A$2:$A$13; АГРЕГАТ(15;6;(СТРОКА($A$2:$A$13)-СТРОКА($A$2)+1) / (ПОИСКПОЗ($A$2:$A$13;$A$2:$A$13;0)=СТРОКА($A$2:$A$13)-СТРОКА($A$2)+1); ЧСТРОК($A$2:$A2)));»»)

Она работает с числами и текстом, игнорирует пустые ячейки.

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

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

Для этого используйте формулу массива, где A2: A10 — это исходный список, а B1 — это ячейка над первой ячейкой отдельного списка.

Формула массива для получения различных значений с учетом регистра (требуется нажатие Ctrl + Shift + Enter)

{=ЕСЛИОШИБКА(ИНДЕКС($A$2:$A$10; ПОИСКПОЗ(0; ЧАСТОТА(ЕСЛИ(СОВПАД($A$2:$A$10; ТРАНСП($B$1:B1)); ПОИСКПОЗ(СТРОКА($A$2:$A$10); СТРОКА($A$2:$A$10)); «»); ПОИСКПОЗ(СТРОКА($A$2:$A$10); СТРОКА($A$2:$A$10))); 0)); «»)}

Как видите, при отборе регистр здесь имеет значение.

Отбор уникальных значений по условию.

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

Сначала отберем из таблицы только те строки, которые удовлетворяют заданным условиям, затем из этих строк выберем уникальные наименования товаров.

В ячейке G2 указываем нужного нам заказчика, а в H2 записываем эту формулу массива:

{=ЕСЛИОШИБКА(ИНДЕКС($B$2:$B$20; ПОИСКПОЗ(0;ЕСЛИ((($A$2:$A$20=$G$2)); СЧЁТЕСЛИ($H$1:H1;$B$2:$B$20);»»);0));»»)}

Не забудьте, что формулу массива нужно вводить в ячейку EXCEL с помощью одновременного нажатия CTRL+SHIFT+ENTER. Копируем ее по столбцу вниз при помощи маркера заполнения. Получаем список из четырех позиций.

Усложним задачу. Определим список не только для этого покупателя, но также и для определённого менеджера.

Вот наша формула массива:

{=ЕСЛИОШИБКА(ИНДЕКС($B$2:$B$20;ПОИСКПОЗ(0; ЕСЛИ((($A$2:$A$20=$G$2)+($D$2:$D$20=$H$2))=2; СЧЁТЕСЛИ($I$1:I1;$B$2:$B$20);»»);0));»»)}

Как видите, теперь товаров всего два. В подсчете принимают участие только те строки, которые удовлетворяют сразу двум условиям: должно совпасть название фирмы и фамилия менеджера. Только из них мы извлекаем уникальные названия товаров.

В случае, если условий будет больше, нужно просто добавить соответствующий критерий в функцию ЕСЛИ и изменить число 2 на 3 или большее (в зависимости от количества условий).

Извлечь уникальные значения из диапазона.

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

Используем формулу массива

{=ДВССЫЛ(ТЕКСТ(МИН(ЕСЛИ(($A$2:$C$9<>»») * (СЧЁТЕСЛИ($E$1:E1;$A$2:$C$9)=0); СТРОКА($2:$9)*100 + СТОЛБЕЦ($A:$C);7^8));»R0C00″);)&»»}

Здесь A2:C9 обозначает диапазон, из которого вы хотите извлечь уникальные значения. E1 – это первая ячейка столбца, в который вы хотите поместить результат. $2:$9 указывает на строки, содержащие данные, которые вы хотите использовать. $A:$C указывает на столбцы, из которых вы берёте исходные данные. Пожалуйста, измените их на свои собственные.

Нажмите Shift + Ctrl + Enter , а затем перетащите маркер заполнения, чтобы вывести уникальные значения, пока не появятся пустые ячейки.

Как видите, извлекаются все уникальные и первые вхождения дубликатов.

Встроенный инструмент удаления дубликатов.

Начиная с Excel 2007 функция удаления дубликатов является стандартной. Найти ее можно на вкладке  Данные > Удаление дубликатов.

Вам нужно при помощи птички указать столбцы, в которых нужно найти и удалить повторяющиеся значения. Если сделать так, как на скриншоте, то в таблице останутся только уникальные пары «Заказчик – Товар». Остальное будет удалено. Если включить только флажок «Заказчик», то останется только по одной строке для каждого заказчика и т.д.

Использование расширенного фильтра.

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

  1. Выберите столбец данных, из которого вы хотите извлечь отдельные значения.
  2. Перейдите на вкладку «Данные» > группа «Сортировка и фильтр» и нажмите кнопку «Дополнительно» .
  3. В диалоговом окне Расширенный фильтр выберите следующие параметры:
    • Установите флажок Копировать в другое место .
    • В поле Исходный диапазон убедитесь, что он указан правильно.
    • В параметре Поместить результат в…   укажите самую верхнюю ячейку целевого диапазона. Помните, что вы можете копировать отфильтрованные данные только на текущий лист.
    • Выберите пункт «Только уникальные записи».
  4. Наконец, нажмите кнопку ОК и проверьте результат.

Как видите, мы проверили колонку B, и затем список уникальных наименований товара, найденных в ней, поместили в столбец K.

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

Теперь немного усложним задачу.

Если требуется искать записи не по одному, а по нескольким столбцам, то можно их предварительно «склеить» при помощи функции СЦЕПИТЬ.

=СЦЕПИТЬ(A2;B2)

Записываем это в столбец F и копируем вниз. Получаем вспомогательную колонку.

В качестве исходного диапазона мы по-прежнему выбираем данные, из которых извлекаем уникальные значения. Теперь это два столбца – A и B.

Но искать уникальные мы по-прежнему можем только в одном столбце. Вот для этого нам и пригодится вспомогательная колонка F с объединенными данными. Ее то мы и указываем в поле «Диапазон условий».

Все остальное – так же, как и в предыдущем примере.

В результате мы получили все имеющиеся в таблице комбинации «Заказчик — Товар» на основе данных во вспомогательном столбце F.

Думаю, вы понимаете, что аналогичные действия можно произвести и с тремя столбцами (например Фамилия – Имя – Отчество). Главное условие – исходный диапазон должен быть непрерывным, то есть все столбцы должны находиться рядом.

Как видите формулы здесь не нужны. Однако, если исходные данные изменятся, то все манипуляции придется повторять заново.

Извлечение уникальных значений с помощью Duplicate Remover.

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

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

А теперь давайте посмотрим, как работает инструмент Duplicate Remover.

Предположим, у вас есть большая таблица, созданная путем объединения данных из нескольких других таблиц. Очевидно, что она содержит много повторяющихся строк, и ваша задача состоит в том, чтобы извлечь уникальные строки, которые появляются в таблице только один раз, или различные строки, включая уникальные и первые повторяющиеся вхождения. В любом случае, с надстройкой Duplicate Remover работа выполняется за несколько шагов.

  1. Выберите любую ячейку в исходной таблице и нажмите кнопку DuplicateRemover на вкладке AblebitsData в группе Dedupe.

Мастер Duplicate Remover запустится и выберет всю таблицу. Итак, просто нажмите « Далее», чтобы перейти к следующему шагу.

  1. Выберите тип значения, который вы хотите найти, и нажмите Далее :
    • Уникальные
    • Уникальные + 1е вхождения (различные)
В этом примере мы хотим извлечь различные строки, которые появляются в исходной таблице хотя бы один раз, поэтому мы выбираем опцию Unique + 1st occurences:

  1. Выберите один или несколько столбцов для проверки уникальных значений.

В этом примере мы хотим убрать все повторяющиеся значения на основе значений в 2 столбцах ( заказчик и товар), поэтому мы выбираем только нужные нам столбцы.

В нашем случае таблица имеет заголовок, поэтому отмечаем птичкой пункт My table has headers.

Думаю, нам не нужны пустые строки, которые могут случайно встретиться при объединении данных из разных таблиц. Поэтому отмечаем такжеSkip empty cells.

Если вдруг в наших записях случайно появились лишние пробелы, то, думаю, стоит их игнорировать. Поэтому отмечаем также Ignore extra spaces.

Также наш поиск буден нечувствителен к регистру, то есть не будем при сравнении данных различать прописные и строчные буквы. Поэтому  не трогаем опцию Case-sensitive match.

  1. Выберите действие, которое нужно выполнить с найденными значениями. Вам доступны следующие варианты:
    • Выделить цветом.
    • Выбрать и выделить.
    • Отметить в столбце статуса.
    • Копировать в другое место.

Чтобы не менять исходные данные, выберите «Копировать в другое место» (Copy to another location), а затем укажите, где именно вы хотите видеть новую таблицу – на этом же листе (выберите параметр «Custom Location» и укажите верхнюю ячейку целевого диапазона), на новом листе (New worksheet) или в новой книге (New workbook).

В этом примере давайте выберем новый лист:

  1. Нажмите кнопку « Готово» , и все готово!

В итоге у нас осталось всего 20 записей.

Понравился этот быстрый и простой способ получить список уникальных значений или записей в Excel? Если да, то я рекомендую вам загрузить полнофункциональную ознакомительную версию Ultimate Suite и попробовать в работе Duplicate Remover.

В Ultimate Suite for Excel также включено много других полезных инструментов, которые помогут вам сэкономить много времени. Мы о них также будем подробно рассказывать в других материалах на сайте.

Если пользователю Excel приходится работать с большой электронной таблицей и задача состоит в том, чтобы найти уникальные значения, соответствующие определенному критерию, им часто приходится использовать такой инструмент, как фильтр. Но в некоторых случаях необходимо сделать что-то еще, то есть выбрать все серии, в которых есть определенные значения по отношению к другим сериям. Если говорить об этой ситуации, то здесь необходимо использовать другую функцию — условное форматирование.

Чтобы максимизировать производительность, при необходимости следует использовать раскрывающийся список.

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

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

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

Подготовка содержания выпадающего списка

Чтобы сделать нашу работу сегодня более наглядной, возьмем историю соглашений с клиентами. Это будет так, как показано на картинке. 

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

  1. Выберем первый столбец нашей таблицы.
  2. Воспользуемся инструментом «Данные» — «Сортировка и фильтр» — «Дополнительно». Как сделать выбор в Excel из списка
  3. Далее перед нами появится окно, в котором мы должны выбрать тип обработки «копировать результат в другое место», а также поставить галочку напротив пункта «Только уникальные записи». В нашем случае диапазон, который мы используем, будет ячейкой с адресом $ F $ 1. Знак доллара означает, что ссылка является абсолютной и не будет изменяться в зависимости от того, копирует ли человек содержимое ячейки, связанной с ней, или вставляет ее. Как сделать выбор в Excel из списка
  4. После установки всех необходимых параметров нам необходимо нажать кнопку ОК и затем мы подтверждаем свои действия.

Теперь мы видим список ячеек с уникальными фамилиями, которые больше не повторяются. Это будет наш выбор для списка. Как сделать выбор в Excel из списка

Модификация исходной таблицы

После этого нам нужно внести некоторые изменения в нашу таблицу. Для этого выделите первые две строчки и нажмите комбинацию клавиш Ctrl + Shift + =. Поэтому мы вставили две дополнительные строки. Во вновь созданной ячейке A1 введите слово «Клиент».

Как сделать выбор в Excel из списка

Создание выпадающего списка

Далее нам нужно создать раскрывающийся список. Для этого выполните следующие действия:

  1. Щелкаем по ячейке B1. Переходим во вкладку «Данные» — «Работа с данными» — «Проверка данных». Как сделать выбор в Excel из списка
  2. Появится диалоговое окно, в котором мы должны выбрать тип данных «Список» и выбрать наш список фамилий в качестве источника данных. Затем нажмите кнопку ОК.

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

В нашем случае в этом нет необходимости, потому что у нас уже есть вся информация на одном листе.

Выборка ячеек из таблицы по условию

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

Появится меню, в котором мы должны нажать на пункт «Создать правило», так как мы выбираем «Использовать формулу для определения форматированных ячеек». Как сделать выбор в Excel из списка

Как сделать выбор в Excel из списка

Затем введите формулу, показанную на снимке экрана, затем нажмите кнопку «Форматировать», чтобы все ячейки были того же цвета, что и фамилия. Например, зеленый. Далее подтверждаем все ранее выполненные действия, многократно нажимая «ОК» во всех окнах, которые будут открыты в этот момент. Впоследствии, когда мы выбираем фамилию нашего человека, все ячейки, которые ее включают, выделяются указанным нами цветом.

Как сделать выбор в Excel из списка

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

Принцип работы следующий: проверяется значение в столбце A. Если оно совпадает с выбранным в списке в ячейке B1, эта формула возвращает значение ИСТИНА. После этого вся строка форматируется так, как вы хотите. В принципе, вы можете не только выделить эту строку отдельным цветом, но и произвольно настроить шрифт, границы и другие параметры. Но мелирование цветом — самый быстрый способ.

Как мы получили цвет всей строки, а не отдельной ячейки? Для этого мы применили ссылку на ячейку, где адрес столбца является абсолютным, а номер строки относительным.

4 способа выборки данных в Excel

Но это не конец нашего образования. Фактически, у нас есть до четырех способов сформировать выборку данных в Excel.

Расширенный автофильтр

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

  1. Предположим, у вас есть таблица, содержащая название продукта, дату и общую сумму, полученную от продажи определенного предмета в определенный день. Нам нужно выбрать область, в которой мы хотим выбрать образец. Для этого переходим во вкладку «Главная», где находим кнопку «Сортировка и фильтр» и нажимаем на нее. Его можно найти в наборе инструментов редактирования. Далее находим опцию «Фильтр». Вот скриншот для наглядности. Как сделать выбор в Excel из списка
  2. В этом случае есть и второй способ действовать. Вы можете найти кнопку «Фильтр» в группе «Сортировка и фильтр» на вкладке «Данные». Как сделать выбор в Excel из списка
  3. После этого вверху таблицы появятся стрелки, с помощью которых вы сможете выбрать данные для фильтра. Мы должны щелкнуть по одному из них (какой зависит от столбца, в котором мы должны сортировать). Затем найдите «Числовые фильтры» и нажмите «Пользовательский фильтр». Как сделать выбор в Excel из списка
  4. После этого появится окно, в котором можно настроить настраиваемый фильтр. С его помощью пользователь может установить критерий, по которому будут отбираться данные. В раскрывающемся списке для столбца, который содержит числовые ячейки (то есть, давайте использовать их, например), вы можете выбрать такие критерии, как равно, не равно, больше, больше или равно и меньше. То есть стандартные арифметические операции сравнения.
    Устанавливаем для наглядности правило, согласно которому программа должна отбирать только те значения, при которых сумма выручки превышает 10 тысяч рублей. Следовательно, мы должны установить пункт «больше чем» в поле, обозначенном цифрой 1 на скриншоте, и установить значение 10 тысяч (цифрами) в поле, обозначенном цифрой 2. Так что остается только подтвердить наши действия. Как сделать выбор в Excel из списка
  5. Как мы поняли, после фильтрации данных остались только те строки, где сумма заработка без вычета налогов превышает 10 тысяч рублей. Как сделать выбор в Excel из списка
  6. Но у нас есть возможность добавить еще один критерий. Для этого нам нужно вернуться к настраиваемому фильтру, внизу которого мы видим еще два поля, которые имеют ту же форму, что и то, в которое мы ввели наши критерии. Здесь вы можете установить второй параметр. Например, предположим, что вам нужно выбрать только те данные, которые не превышают 14999. Для этого выберите правило «Минус» и установите значение «15000».
    вы также можете использовать опцию условия, которая может принимать одно из двух значений: И и ИЛИ. Изначально он настроен для первого варианта, но если человеку необходимо выполнить какое-либо из этих условий, можно выбрать значение ИЛИ. Чтобы изменить тип взаимосвязи между условиями, тумблер необходимо установить в соответствующее положение. После выполнения всех необходимых действий нажмите кнопку «ОК». Как сделать выбор в Excel из списка
  7. Теперь в нашей таблице показаны только значения от 10 тысяч до 14999 рублей.

Формула массива

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

  1. Скопируйте заголовок таблицы в желаемое место. Как сделать выбор в Excel из списка
  2. Выделите все ячейки, содержащиеся в первом столбце вновь созданной таблицы, и переместите курсор в строку для ввода формул. Далее вводим туда следующую формулу (значения разумеется меняем на свои). = ИНДЕКС (LA2: A29; МАЛЫЙ (ЕСЛИ (15000
  3. Подтвердите ввод, используя комбинацию клавиш Ctrl + Shift + Enter.
  4. Аналогичную операцию проделываем со вторым столбиком.
  5. То же проделываем с третьим столбиком.

Во всех трех ситуациях формула в основном одинакова, меняются только координаты.

Как сделать выбор в Excel из списка

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

Выборка с несколькими условиями с помощью формулы

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

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

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

Случайная выборка

Наконец, последний метод выборки, который может работать не во всех ситуациях, — это использование генератора случайных чисел. Для этого используйте функцию = RAND (). Затем заполните все нужные ячейки с помощью маркера автозаполнения.

Как сделать выбор в Excel из списка

Затем выберите «Пользовательская сортировка» в меню фильтра.

Как сделать выбор в Excel из списка

Появляется меню настроек, где выставляем параметры как на скриншоте. Как сделать выбор в Excel из списка

Затем нажимаем «ОК» и получаем результат.

Как сделать выбор в Excel из списка

Мы видим, что здесь нет ничего сложного. После небольшой практики все будет очень просто. Главное — понять принцип, и вы можете выбрать любой метод, какой душе угодно.


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

Пусть в столбце

А

имеется список с

повторяющимися

значениями, например список с названиями компаний.

Задача

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

Для наглядности уникальные значения в исходном списке выделены цветом

с помощью Условного форматирования

.

Решение

Для начала создадим

Динамический диапазон

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

Динамический диапазон

и нижеследующие формулы не придется модифицировать.

Для создания

Динамического диапазона

:

  • на вкладке

    Формулы

    в группе

    Определенные имена

    выберите команду

    Присвоить имя

    ;
  • в поле

    Имя

    введите:

    Исходный_список

    ;
  • в поле

    Диапазон

    введите формулу

    =СМЕЩ(УникальныеЗначения!$A$5;;; СЧЁТЗ(УникальныеЗначения!$A$5:$A$30))
  • нажмите ОК.

Список уникальных значений создадим в столбце

B

с помощью

формулы массива

(см.

файл примера

). Для этого введите следующую формулу в ячейку

B5

:


=ЕСЛИОШИБКА(ИНДЕКС(Исходный_список; ПОИСКПОЗ(0;СЧЁТЕСЛИ(B$4:B4;Исходный_список);0));»»)

После ввода формулы вместо

ENTER

нужно нажать

CTRL + SHIFT + ENTER

. Затем нужно скопировать формулу вниз, например, с помощью

Маркера заполнения

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

Разберем работу формулу подробнее:

  • Здесь использование функции

    СЧЁТЕСЛИ()

    не совсем обычно: в качестве критерия (второй аргумент) указано не одно значение, а целый массив

    Исходный_список

    , поэтому функция возвращает не одно значение, а целый массив нулей и единиц. Возвращается 0, если значение из исходного списка не найдено в диапазоне

    B4:B4

    (

    B4:B5

    и т.д.), и 1 если найдено. Например, в ячейке

    B5

    формулой

    СЧЁТЕСЛИ(B$4:B5;Исходный_список)

    возвращается массив {1:0:0:0:0:0:0:1:0:0:0:0:1:1:0}. Т.е. в исходном списке найдено 4 значения «ООО Рога и копытца» (

    B5

    ). Массив легко увидеть с помощью

    клавиши

    F9

    (выделите в

    Строке формул

    выражение

    СЧЁТЕСЛИ(B$4:B5;Исходный_список)

    , нажмите

    F9

    : вместо формулы отобразится ее результат);


  • ПОИСКПОЗ()

    – возвращает позицию первого нуля в массиве из предыдущего шага. Первый нуль соответствует значению еще не найденному в исходном списке (т.е. значению «ОАО Уважаемая компания» для формулы в ячейке

    B5

    );

  • ИНДЕКС()

    – восстанавливает значение по его позиции в диапазоне

    Исходный_список

    ;

  • ЕСЛИОШИБКА()

    подавляет ошибку, возникающую, когда функция

    ПОИСКПОЗ()

    пытается в массиве нулей и единиц, возвращенном

    СЧЁТЕСЛИ()

    , найти 0, которого нет (ситуация возникает в ячейке

    B12

    , когда все уникальные значения уже извлечены из исходного списка).

Формула будет работать и в случае если исходный список содержит числовые значения.


Примечание

. Функция

ЕСЛИОШИБКА()

будет работать начиная с версии MS EXCEL 2007, чтобы обойти это ограничение читайте статью

про функцию

ЕСЛИОШИБКА()

. В файле примера имеется лист

Для 2003

, где эта функция не используется.

Решение для списков с пустыми ячейками

Если исходная таблица содержит пропуски, то нужно использовать другую

формулу массива

(см. лист

с пропусками

файла примера

):

=ЕСЛИОШИБКА(ИНДЕКС($A$5:$A$19; ПОИСКПОЗ( 0;ЕСЛИ(ЕПУСТО($A$5:A19);»»;СЧЁТЕСЛИ($B$4:B4;$A$5:$A$19));0) );»»)

Решение без формул массива

Для отбора уникальных значений можно обойтись без использования

формул массива

. Для этого создайте дополнительный служебный столбец для промежуточных вычислений (см. лист «Без CSE» в

файле примера

).


СОВЕТ:

Список уникальных значений можно создать разными способами, например, с использованием

Расширенного фильтра

(см. статью

Отбор уникальных строк с помощью Расширенного фильтра

),

Сводных таблиц

или через меню

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

уникальных

значений автоматически обновлялся.


СОВЕТ2

: Для тех, кто создает список уникальных значений для того, чтобы в дальнейшем сформировать на его основе

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

, необходимо учитывать, что вышеуказанные формулы возвращают значение

Пустой текст «»

, который требует аккуратного обращения, особенно при подсчете значений (вместо обычной функции

СЧЕТЗ()

нужно использовать СЧЕТЕСЛИ() со специальными аргументами

). Например, см. статью

Динамический выпадающий список в MS EXCE

L.


Примечание

: В статье

Восстанавливаем последовательности из списка без повторов в MS EXCEL

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

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

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

Создавайте зависимые раскрывающиеся списки с уникальными значениями только для функций Excel

  • Шаг 1. Создайте имена диапазонов для данных первого и второго раскрывающихся списков.
  • Шаг 2. Извлеките уникальные значения и создайте первый раскрывающийся список.
  • Шаг 3. Извлеките уникальные значения и создайте зависимый раскрывающийся список.

Создавайте зависимые выпадающие списки с уникальными значениями только с помощью удивительной функции


Создавайте зависимые раскрывающиеся списки с уникальными значениями только для функций Excel

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

Шаг 1. Создайте имена диапазонов для данных первого и второго раскрывающихся списков.

1. Нажмите Формулы > Определить имя, см. снимок экрана:

2. В Новое имя диалоговое окно, введите имя диапазона Категория в Имя и фамилия текстовое поле (вы можете ввести любое другое имя, которое вам нужно), а затем введите эту формулу =СМЕЩЕНИЕ($A$2,0,0,СЧЕТЧ($A$2:$A$100)) в Относится к текстовое поле и, наконец, щелкните OK Кнопка:

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

3. Продолжайте создавать имя диапазона для второго раскрывающегося списка, нажмите Формулы > Определить имя чтобы открыть диалоговое окно «Новое имя», введите имя диапазона Продовольствие в Имя и фамилия текстовое поле (вы можете ввести любое другое имя, которое вам нужно), а затем введите эту формулу =СМЕЩЕНИЕ($B$2,0,0,СЧЁТ($B$2:$B$100)) в Относится к текстовое поле и, наконец, щелкните OK Кнопка:

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

Шаг 2. Извлеките уникальные значения и создайте первый раскрывающийся список.

4. Теперь вы должны извлечь уникальные значения для данных первого раскрывающегося списка, введя следующую формулу в ячейку, нажав Shift + Ctrl + Enter клавиши вместе, затем перетащите дескриптор заполнения вниз к ячейкам, пока не отобразятся значения ошибок, см. снимок экрана:

=INDEX(Category,MATCH(0,COUNTIF($D$1:D1,Category),0))

Внимание: В приведенной выше формуле Категория это имя диапазона, которое вы создали на шаге 2, и D1 это вышеуказанная ячейка вашей ячейки формулы, пожалуйста, измените их в соответствии с вашими потребностями.

5. Затем создайте имя диапазона для этих новых уникальных значений, нажмите Формулы > Определить имя для открытия Новое имя диалоговое окно, введите имя диапазона Уникальная категория в Имя и фамилия текстовое поле (вы можете ввести любое другое имя, которое вам нужно), а затем введите эту формулу =СМЕЩЕНИЕ($D$2, 0, 0, СЧЁТ(ЕСЛИ($D$2:$D$100=»», «», 1)), 1) в Относится к текстовое поле, наконец, нажмите OK кнопку, чтобы закрыть диалоговое окно.

Внимание: D2: D100 это список уникальных значений, который вы только что извлекли, если у вас есть большие данные, просто измените нужную ссылку на ячейку.

6. На этом этапе вы можете вставить первый раскрывающийся список. Щелкните ячейку, в которую вы хотите вставить раскрывающийся список, а затем щелкните Данные > проверка достоверности данных > проверка достоверности данныхИ в проверка достоверности данных диалоговое окно, выберите Список из Разрешить выпадающий список, затем введите эту формулу: = Уникальная категория в Источник текстовое поле, см. снимок экрана:

7, Затем нажмите OK Кнопка, первый раскрывающийся список без повторяющихся значений создается, как показано ниже:

Шаг 3. Извлеките уникальные значения и создайте зависимый раскрывающийся список.

8. Извлеките уникальные значения для вторичного раскрывающегося списка, скопируйте и вставьте приведенную ниже формулу в ячейку, а затем нажмите Shift + Ctrl + Enter клавиши одновременно, затем перетащите маркер заполнения вниз к ячейкам, пока не отобразятся значения ошибок, см. снимок экрана:

=INDEX(Food,MATCH(0,COUNTIF($E$1:E1,Food)+(Category<>$H$2),0))

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

9. Затем продолжайте создавать имя диапазона для этих вторичных уникальных значений, нажмите Формулы > Определить имя для открытия Новое имя диалоговое окно, введите имя диапазона Уникальная еда в Имя и фамилия текстовое поле (вы можете ввести любое другое имя, которое вам нужно), а затем введите эту формулу =СМЕЩЕНИЕ($E$2, 0, 0, СЧЁТ(ЕСЛИ($E$2:$E$100=»», «», 1)), 1) в Относится к текстовое окно. Наконец, нажмите OK кнопку, чтобы закрыть диалоговое окно.

Внимание: E2: E100 — это список вторичных уникальных значений, который вы только что извлекли. Если у вас есть большие данные, просто измените нужную ссылку на ячейку.

10. После создания имени диапазона для вторичных уникальных значений теперь вы можете вставить зависимый раскрывающийся список. Пожалуйста, нажмите Данные > проверка достоверности данных > проверка достоверности данныхИ в проверка достоверности данных диалоговое окно, выберите Список из Разрешить выпадающий список, затем введите эту формулу: =Уникальная еда в Sourcтекстовое поле, см. снимок экрана:

11. Нажмите OK кнопка, зависимые раскрывающиеся списки только с уникальными значениями успешно создаются, как показано ниже:


Создавайте зависимые выпадающие списки с уникальными значениями только с помощью удивительной функции

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

После установки Kutools for Excel, пожалуйста, сделайте так:

1. Нажмите Кутулс > Раскрывающийся список > Динамический раскрывающийся список, см. снимок экрана:

2. В Зависимый раскрывающийся список диалоговое окно, пожалуйста, выполните следующие операции:

  • Выберите ModeB: 2-5 уровней в зависимости от раскрывающегося списка из режим раздел;
  • Выберите данные, на основе которых вы хотите создать зависимый раскрывающийся список, из Диапазон данных коробка;
  • Затем выберите выходной диапазон, в который вы хотите поместить зависимый раскрывающийся список из Выходной диапазон пунктом.

3, Затем нажмите Ok кнопки зависимые раскрывающиеся списки вставляются в выборку, а повторяющиеся значения также исключаются. См. ниже демонстрацию:

Нажмите, чтобы скачать Kutools for Excel Сейчас !


Больше относительных статей:

  • Создать раскрывающийся список с изображениями в Excel
  • В Excel мы можем быстро и легко создать раскрывающийся список со значениями ячеек, но пробовали ли вы когда-нибудь создать раскрывающийся список с изображениями, то есть, когда вы щелкаете одно значение из раскрывающегося списка, его относительное изображение будет отображаться сразу, как показано ниже. В этой статье я расскажу о том, как вставить выпадающий список с изображениями в Excel.
  • Создать раскрывающийся список с несколькими флажками в Excel
  • Многие пользователи Excel, как правило, создают раскрывающийся список с несколькими флажками, чтобы выбирать несколько элементов из списка за раз. На самом деле вы не можете создать список с несколькими флажками с проверкой данных. В этом руководстве мы покажем вам два метода создания раскрывающегося списка с несколькими флажками в Excel.
  • Создать многоуровневый зависимый раскрывающийся список в Excel
  • В Excel вы можете быстро и легко создать зависимый раскрывающийся список, но пробовали ли вы когда-нибудь создать многоуровневый зависимый раскрывающийся список, как показано на следующем снимке экрана? В этой статье я расскажу о том, как создать многоуровневый зависимый выпадающий список в Excel.
  • Создать раскрывающийся список, но отображать разные значения в Excel
  • На листе Excel мы можем быстро создать раскрывающийся список с функцией проверки данных, но пробовали ли вы когда-нибудь показать другое значение, когда вы щелкаете раскрывающийся список? Например, у меня есть следующие два столбца данных в столбце A и столбце B, теперь мне нужно создать раскрывающийся список со значениями в столбце Name, но когда я выбираю имя из созданного раскрывающегося списка, соответствующий значение в столбце Number отображается, как показано на следующем снимке экрана. Эта статья познакомит вас с деталями решения этой задачи.

Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


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

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Понравилась статья? Поделить с друзьями:
  • Выпадающий список excel несколько столбцов
  • Выпадающие списки excel повтор
  • Выпадающий список excel надстройки
  • Выпадающем списке поиск по первым буквам excel
  • Выпадающий список excel кнопка