lea Пользователь Сообщений: 74 |
Есть три списка a1,a…c3. На листе1 требуется создать зависимые списки. |
Ни из объяснения, ни из файла ни чего не понял |
|
Пробуйте. Имена C и R действительно создать нельзя. |
|
lea Пользователь Сообщений: 74 |
{quote}{login=Казанский}{date=16.08.2011 11:16}{thema=}{post}Пробуйте. Имена C и R действительно создать нельзя.{/post}{/quote} Понял. Работает. А как быть тогда, когда оба списка на Листе1 образованы от объединенных ячеек? У меня опять выползает ошибка «Источника». |
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
{quote}{login=lea}{date=17.08.2011 04:38}{thema=Re: }{post}{quote}{login=Казанский}{date=16.08.2011 11:16}{thema=}{post}{/post}{/quote} А как быть тогда, когда оба списка на Листе1 образованы от объединенных ячеек? У меня опять выползает ошибка «Источника».{/post}{/quote}Не используйте объединённые ячейки — облегчите себе жизнь. |
lea Пользователь Сообщений: 74 |
{quote}{login=Юрий М}{date=17.08.2011 09:08}{thema=Re: Re: }{post}{quote}{login=lea}{date=17.08.2011 04:38}{thema=Re: }{post}{quote}{login=Казанский}{date=16.08.2011 11:16}{thema=}{post}{/post}{/quote} А как быть тогда, когда оба списка на Листе1 образованы от объединенных ячеек? У меня опять выползает ошибка «Источника».{/post}{/quote}Не используйте объединённые ячейки — облегчите себе жизнь.{/post}{/quote} это 2 поля из бланка. надо чтобы графически виглядело именно объединенными ячейками. |
lea Пользователь Сообщений: 74 |
{quote}{login=Маугли}{date=17.08.2011 07:46}{thema=}{post}Так?{/post}{/quote} |
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
>> это 2 поля из бланка. надо чтобы графически виглядело именно объединенными ячейками. |
lea Пользователь Сообщений: 74 |
{quote}{login=Казанский}{date=16.08.2011 11:16}{thema=}{post}Пробуйте. Имена C и R действительно создать нельзя.{/post}{/quote} Господа, так получается во второй выпадающей ячейке (зависимой) количество списков, которые можно было бы использовать, ограничено количеством букв латинского алфавита, исключая C и R. Пример: =ДВССЫЛ(F5) обрабатывает только списки с ИМЕНАМИ от a…z А если списков штук сто будет как у меня? |
vikttur Пользователь Сообщений: 47199 |
Называйте списки не только одной буквой, например: «lea», «lea_умный», «Я_знаю_32_буквы» |
lea Пользователь Сообщений: 74 |
{quote}{login=vikttur}{date=18.08.2011 03:28}{thema=}{post}Называйте списки не только одной буквой, например: «lea», «lea_умный», «Я_знаю_32_буквы» :){/post}{/quote} |
vikttur Пользователь Сообщений: 47199 |
Можно. Прикладывайте, на нем соорудим |
lea Пользователь Сообщений: 74 |
{quote}{login=vikttur}{date=18.08.2011 03:32}{thema=}{post}Можно. Прикладывайте, на нем соорудим :){/post}{/quote} Можно конечно. Не могу добиться выпадания списка lea при такой функции в ячейке E7: =ДВССЫЛ(E7) |
DV_68 Пользователь Сообщений: 628 |
{quote}{login=lea}{date=18.08.2011 03:24}{thema=Re: }{post}А если списков штук сто будет как у меня?{/post}{/quote} |
vikttur Пользователь Сообщений: 47199 |
|
lea Пользователь Сообщений: 74 |
{quote}{login=DV}{date=18.08.2011 03:47}{thema=Re: Re: }{post}{quote}{login=lea}{date=18.08.2011 03:24}{thema=Re: }{post}А если списков штук сто будет как у меня?{/post}{/quote} хороший вариант. а если дописываются строки к списка, типа: a4,a5,…b4,b5,…? так скажем динамические списки? |
lea Пользователь Сообщений: 74 |
{quote}{login=DV}{date=18.08.2011 03:47}{thema=Re: Re: }{post}{quote}{login=lea}{date=18.08.2011 03:24}{thema=Re: }{post}А если списков штук сто будет как у меня?{/post}{/quote} хороший вариант. а как быть, если списки будут дописываться, динамические? |
lea Пользователь Сообщений: 74 |
а если списки будут динамическими? |
lea Пользователь Сообщений: 74 |
в случае без ДВССЫЛ придется прописывать диапазрны, а во втором варианте — копировать имена списков на лист с выпадающими ячейками? |
vikttur Пользователь Сообщений: 47199 |
С динамическими списками «недоделанная» ДВССЫЛ() отказывается работат. |
DV_68 Пользователь Сообщений: 628 |
{quote}{login=vikttur}{date=18.08.2011 04:01}{thema=}{post}…для имени летучесть не страшна (как выяснилось не так давно).{/post}{/quote} |
lea Пользователь Сообщений: 74 |
а как с функцией =ИНДЕКС реализовать динамические списки? |
DV_68 Пользователь Сообщений: 628 |
{quote}{login=lea}{date=18.08.2011 04:06}{thema=}{post}а как с функцией =ИНДЕКС реализовать динамические списки?{/post}{/quote} |
DV_68 Пользователь Сообщений: 628 |
Ошибся, хотя задумка была вложена))) |
vikttur Пользователь Сообщений: 47199 |
Ссылки нет, есть цитата. Можно сказать, мини-урок. ZVI. О летучести имен и УФ. |
lea Пользователь Сообщений: 74 |
{quote}{login=DV}{date=18.08.2011 04:07}{thema=Re: }{post}{quote}{login=lea}{date=18.08.2011 04:06}{thema=}{post}а как с функцией =ИНДЕКС реализовать динамические списки?{/post}{/quote} дописал к столбцам на листе2 a4,b4,c4 соответственно, но в выпадающих списках эти новые данные не отобразились. |
lea Пользователь Сообщений: 74 |
задумка, кстати, тоже полезная, но нужна динамика (( |
vikttur Пользователь Сообщений: 47199 |
|
lea Пользователь Сообщений: 74 |
#30 18.08.2011 16:40:24 Супер! Постараюсь теперь переварить строку =общ )) |
Хитрости »
1 Май 2011 197727 просмотров
Связанные выпадающие списки
Скачать файл, используемый в видеоуроке:
Связанные выпадающие списки.xls (216,5 KiB, 3 066 скачиваний)
Чтобы понять о чем пойдет речь в статье сначала необходимо понимать что такое выпадающий список и как его создать. Теперь попробуем разобраться что значит выражение «связанный выпадающий список». Я бы еще назвал такой список зависимым. Т.е. когда список значений одного выпадающего списка зависит от значения, выбранного в другом выпадающем списке или просто забитого в ячейку. Представим ситуацию: есть ячейка А2. В ней создан выпадающий список со значениями: Овощи, Фрукты, Мясо, Напитки. А в ячейке В2 нам нужен такой список, чтобы значения этого самого списка изменялись в зависимости от того, какое значение мы укажем в ячейке А2 — т.е. список выбранной категории продуктов. Например выбрали в А2 значение Овощи — в В2 появился выпадающий список, содержащий значения: Морковь, Капуста, Картошка, Редиска, Помидоры. Выбрали в А2 Мясо — в В2 появился выпадающий список, содержащий значения: Говядина, Телятина, Свинина, Курица, Индейка. И т.д.
Подготовка
Для начала нам потребуется создать все эти списки. Что-то вроде этого:
Далее для каждого из этих списков необходимо назначить именованный диапазон. Создать можно любым способом из описанных в этой статье. Главное помнить — если сами списки расположено на листе, отличном от того, на котором списки выпадающие — то обязательно создавать именованный диапазон с назначением области действия — Книга.
В приложенном к статье примере диапазоны имеют имена категорий — их можно видеть в заголовках.
Если ваши категории содержат пробел — необходимо заменить его на нижнее подчеркивание (_) или удалить, т.к. в качестве именованного диапазона такое значение не подойдет и ничего в результате не получится.
Создание зависимых списков
В ячейке А2 создаем «список списков» — основной список, на основании значений которого будет создаваться второй список. Этот список может быть создан любым способом (как создать выпадающий список). Назовем его Список категорий.
В ячейке В2 потребуется создать список на основании формулы, хоть по сути и так же, как и остальные: вкладка Данные (Data)—Проверка данных (Data validation)—Список (List). Но теперь вместо прямого указания имени списка необходимо указать ссылку на именованный диапазон, который мы выберем в Списке категорий(ячейка А2), на основании его имени. В этом нам поможет функция ДВССЫЛ (INDIRECT). Просто записываем эту формулу в поле Источник (Source): =ДВССЫЛ($A2)
На что обратить внимание: если вы планируете распространять такой список на столбец, то ссылка должна выглядеть именно так: $A2. Перед цифрой не должно быть знака доллара ($A$2 — неправильно). Иначе зависимый список будет всегда формироваться исключительно на основании значении ячейки А2.
Источник из другой книги
Сами списки товара могут находится и в другой книге. Если книга называется Книга со списком.xls и на Лист1 в ячейке А1 в этой книге находится имя нужного нам списка, то формула будет выглядеть так:
=ДВССЫЛ(«‘[Книга со списком.xls]Лист1’!»&$A$1)
На что обратить внимание: лучше всегда перед именем книги и после имени листа ставить апостроф — ‘. Так вы избежите проблем и недопонимания, если имя листа или книги содержит пробелы и иные специфические символы. В отличии от списков внутри одной книги в данном случае знак доллара должен быть и перед буквой и перед цифрой. В ином случае возможны ошибки (если, конечно, это не было сделано специально с пониманием того, что делалось).
Ограничения: данный способ создания списков хорош, но не обошлось и без ложки дегтя. Даже двух:
- обе книги должны быть открыты. Если вы закроете книгу со списками, то получите ошибку — выпадающие списки просто перестанут работать
- созданные подобным образом связанные списки не будут работать с динамическими именованными диапазонами
И ничего с этими ограничениями не поделать при подобном подходе.
Скачать пример
Tips_Lists_Connect_Validation.xls (26,5 KiB, 18 103 скачиваний)
Так же см.:
Выпадающие списки
Именованные диапазоны
Динамические именованные диапазоны
Статья помогла? Поделись ссылкой с друзьями!
Видеоуроки
Поиск по меткам
Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика
Функция ДВССЫЛ возвращает ссылку, которая задана текстовой строкой. К примеру, формула = ДВССЫЛ (А3) аналогична формуле = А3. Но для этой функции ссылка является просто текстовой строкой: ее можно изменять формулами.
Функция применяется для изменения ссылки на ячейку без изменения самой формулы, выведения значений лишь из четных/ нечетных строк, транспонирования таблиц и др.
Синтаксис функции с описанием
Аргументы:
- Ссылка на текст. Обязательный аргумент, содержащий ссылку на ячейку в формате текстовой строки. Например, =ДВССЫЛ («А1») или =ДВССЫЛ («Лист 2!А3»).
- А1 – логическое значение для определения типа ссылки. Необязательный аргумент. Если имеет значение ИСТИНА или опущен, то ссылка на текст воспринимается как ссылка типа А1 (адрес ячейки указан явно). Значение ЛОЖЬ – как ссылка в стиле R1C1 (ссылка на ячейку с формулой, отсылающей к другой ячейке).
Почему при работе функции ДВССЫЛ возникают ошибки:
- Значение аргумента «ссылка на ячейку» является недопустимой ссылкой – ошибка #ССЫЛКА!.
- Обязательный аргумент ссылается на другую книгу (является внешней ссылкой), которая недоступна (закрыта) – ошибка #ССЫЛКА!. При создании подобных формул внешний источник данных должен быть открыт.
- Значение обязательного аргумента ссылается на превышающий предел диапазон – ошибка #ССЫЛКА!. Функция может обработать до 1048576 строк или 16384 столбцов.
Функция ДВССЫЛ в Excel: примеры
Начнем с хрестоматийного примера, чтобы понять принцип работы функции.
Имеется таблица с данными:
Примеры функции ДВССЫЛ:
Рассмотрим практическое применение функции. На листах 1, 2, 3, 4 и 5 в одних и тех же ячейках расположены однотипные данные (информация об образовании сотрудников фирмы за последние 5 лет).
Нужно на основе имеющихся таблиц составить итоговую таблицу на отдельном листе, собрав данные с пяти листов. Сделаем это с помощью функции ДВССЫЛ.
Пишем формулу в ячейке В4 и копируем ее на всю таблицу (вниз и вправо). Данные с пяти различных листов собираются в итоговую таблицу.
Теперь из итоговой таблицы извлечем только нечетные строки. Для удобства пронумеруем столбцы и строки.
Чтобы получить только нечетные записи, используем формулу:
Для выведения четных строк:
Примечание. Функция СИМВОЛ возвращает символ по заданному коду. Код 65 выводит английскую букву A. 66 – B. 67 – С.
Допустим, у пользователя имеется несколько источников данных (в нашем примере – несколько отчетов). Нужно вывести количество сотрудников, основываясь на двух критериях: «Год» и «Образование». Для поиска определенного значения в базе данных подходит функция ВПР.
Чтобы функция сработала, все отчеты поместим на один лист.
Но ВПР информацию в таком виде не сможет переработать. Поэтому каждому отчету мы дали имя (создали именованные диапазоны). Отдельно сделали выпадающие списки: «Год», «Образование». В списке «Год» – названия именованных диапазонов.
Задача: при выборе года и образования в столбце «Количество» должно появляться число сотрудников.
Если мы используем только функцию ВПР, появится ошибка:
Программа не воспринимает ссылку D2 как ссылку на именованный диапазон, где и находится отчет определенного года. Excel считает значение в ячейке текстом.
Исправить положение помогла функция ДВССЫЛ, которая возвращает ссылку, заданную текстовой строкой.
Функции ВПР и ДВССЫЛ в Excel
Теперь формула работает корректно. Для решения подобных задач нужно применять одновременно функции ВПР и ДВССЫЛ в Excel.
Предположим, нужно извлечь информацию в зависимости от заданного значения. То есть добиться динамической подстановки данных из разных таблиц. К примеру, указать количество сотрудников с незаконченным высшим образованием в 2015 и в 2016 году. Сделать так:
В отношении двух отчетов сработает комбинация функций ВПР и ЕСЛИ:
Но для наших пяти отчетов применять функцию ЕСЛИ нецелесообразно. Чтобы возвратить диапазон поиска, лучше использовать ДВССЫЛ:
- $A$12 – ссылка с образованием (можно выбирать из выпадающего списка);
- $C11 – ячейка, в которой содержится первая часть названия листа с отчетом (все листы переименованы: «2012_отчет», 2013_отчет» и т.д.);
- _отчет!A3:B10 – общая часть названия всех листов и диапазон с отчетом. Она соединяется со значением в ячейке С11 (&). В результате получается полное имя нужного диапазона.
Таким образом, эти две функции выполняют подобного рода задачи на отлично.
Делаю зависимые списки для документа excel. Но у меня вылетает ошибка «при вычислении «источник» возникает ошибка»
Не могу понять в чем дело.
Вот ссылка на документ: https://yadi.sk/i/zqqR6l01wL3xz
Ошибка при создании зависимого списка в разделе «Манипуляции/товар»
-
Вопрос заданболее трёх лет назад
-
1780 просмотров
Пригласить эксперта
Всё у вас работает. Выберите значение из списка в ячейке C2, увидите список в ячейке D2.
-
Показать ещё
Загружается…
14 апр. 2023, в 01:55
1000 руб./в час
13 апр. 2023, в 23:50
3000 руб./за проект
13 апр. 2023, в 23:18
1000 руб./за проект
Минуточку внимания
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Excel Starter 2010 Еще…Меньше
В этой статье описаны синтаксис формулы и использование функции ДВССЫЛ в Microsoft Excel.
Описание
Возвращает ссылку, заданную текстовой строкой. Ссылки немедленно вычисляются для вывода их содержимого. Функция ДВССЫЛ используется, если требуется изменить ссылку на ячейку в формуле без изменения самой формулы.
Синтаксис
ДВССЫЛ(ссылка_на_текст;[a1])
Аргументы функции ДВССЫЛ описаны ниже.
-
Ссылка_на_текст — обязательный аргумент. Ссылка на ячейку, которая содержит ссылку в стиле А1 или R1C1, имя, определенное как ссылка, или ссылку на ячейку в виде текстовой строки. Если значение аргумента «ссылка_на_текст» не является допустимой ссылкой, функция ДВССЫЛ возвращает значение ошибки #ССЫЛКА!.
-
Если значение аргумента «ссылка_на_ячейку» является ссылкой на другую книгу (внешней ссылкой), другая книга должна быть открыта. В противном случае функция ДВССЫЛ возвращает значение ошибки #ССЫЛКА!. Примечание.Поддержка внешних ссылок в Excel Web App отсутствует.
-
Если значение аргумента «ссылка_на_текст» является ссылкой на диапазон ячеек, превышающий предельное число строк 1 048 576 или столбцов 16 384 (XFD), функция ДВССЫЛ возвращает значение ошибки #ССЫЛКА!.
Примечание. Этот результат отличается от результата, получаемого в более ранних версиях приложения Excel, чем Microsoft Office Excel 2007, в которых превышение предела игнорируется и возвращается значение.
-
-
A1 — необязательный аргумент. Логическое значение, определяющее тип ссылки, содержащейся в ячейке «ссылка_на_текст».
-
Если аргумент «a1» имеет значение ИСТИНА или опущен, «ссылка_на_ячейку» интерпретируется как ссылка в стиле A1.
-
Если аргумент «a1» имеет значение ЛОЖЬ, «ссылка_на_ячейку» интерпретируется как ссылка в стиле R1C1.
-
Пример
Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.
Данные |
||
B2 |
1,333 |
|
B3 |
45 |
|
Владимир |
10 |
|
5 |
62 |
|
Формула |
Описание |
Результат |
‘=ДВССЫЛ(A2) |
Значение ссылки в ячейке A2. Ссылка на ячейку B2, содержащая значение 1,333. |
1,333 |
‘=ДВССЫЛ(A3) |
Значение ссылки в ячейке A3. Ссылка на ячейку B3, содержащая значение 45. |
45 |
‘=ДВССЫЛ(A4) |
Поскольку для ячейки B4 определено имя «Владимир», ссылка на это имя указывает на ячейку B4, содержащую значение 10. |
10 |
‘=ДВССЫЛ(«B» и A5) |
Объединяет «B» со значением в ячейке A5, т. е. 5. Она, в свою очередь, ссылается на ячейку B5, содержащую значение 62. |
62 |