Если строка данных очень широка и требует многократной горизонтальной прокрутки, рассмотрите возможность использования формы данных для добавления, изменения, поиска и удаления строк.
Общие сведения о форме данных
Форма данных обеспечивает удобный способ ввода и отображения строк данных из диапазонов или таблиц, при котором не нужна горизонтальная прокрутка. Использовать форму данных может быть проще, чем перемещаться между столбцами, когда их слишком много для одновременного отображения на экране. Форму данных можно применять тогда, когда достаточно простой формы с текстовыми полями, в качестве подписей которых используются заголовки столбцов, и когда не требуются сложные или пользовательские возможности, например списки и счетчики.
Microsoft Excel может автоматически создавать встроенные форма данных для диапазон или таблица. Такая форма представляет собой диалоговое окно, в котором все заголовки столбцов отображаются в виде подписей. Каждой подписи соответствует текстовое поле, в которое можно вводить данные для столбца (максимальное количество столбцов — 32). В форме данных можно вводить новые строки, искать строки с помощью навигации, а также (в зависимости от содержимого ячеек) обновлять строки или удалять их. Если ячейка содержит формула, ее результат отображается в форме данных, но саму формулу в форме данных изменить нельзя.
Примечание: Форму данных нельзя распечатать. Кроме того, поскольку эта форма является модальным диалоговым окном, то, пока она открыта, в Excel невозможно воспользоваться командой Печать и кнопкой Печать. При необходимости можно сделать снимок формы (с помощью клавиши Windows Print Screen) и скопировать его в Microsoft Paint или другую программу.
Добавление кнопки «Форма» на ленту
-
При необходимости добавьте заголовки во все столбцы диапазона или таблицы. На основе этих заголовков создаются подписи для всех полей формы.
Важно: Убедитесь, что в диапазоне данных нет пустых строк.
-
Щелкните ячейку в диапазоне или таблице, куда нужно добавить форму.
-
Чтобы добавить кнопку формы панели быстрого доступа, сделайте следующее:
-
Щелкните стрелку рядом с панелью быстрого доступа и выберите пункт Другие команды.
-
В поле «Выбор команд» щелкните «Все команды«, а затем нажмите кнопку «Форма в списке.
-
Нажмите кнопку Добавить, а затем — кнопку ОК.
-
-
На панели быстрого доступа нажмите кнопку «Форма » .
Важно: Если отображается сообщение «В форме данных слишком много полей», необходимо сократить число столбцов: в форме данных их должно быть не более 32. Один из способов решения этой проблемы (при работы с диапазоном столбцов) — вставить пустой столбец, разбив диапазон на два. Затем, если необходимо, создайте отдельную форму данных для столбцов справа от пустого столбца.
Использование формы данных
Форму данных можно использовать для добавления, поиска, изменения и удаления строк в диапазоне или таблице.
Добавление строки данных
-
В форме данных нажмите кнопку Добавить.
-
В открывшейся форме данных введите данные для новой строки в показанных полях.
Чтобы перейти к следующему полю в строке, нажмите клавишу TAB. Чтобы перейти к предыдущему полю, нажмите клавиши SHIFT+TAB.
-
Указав нужные данные, нажмите клавишу ВВОД, чтобы сохранить изменения и добавить строку в нижнюю часть диапазона или таблицы.
Важно: Если отображается сообщение «Невозможно расширить список или базу данных», это может означать, что существующие данные будут перезаписаны при продолжении. При добавлении строк с помощью формы данных таблицы и диапазоны расширяются вниз. Если при этом могут быть перезаписаны какие-либо данные, то появляется сообщение Невозможно расширить список или базу данных. Измените расположение данных так, чтобы диапазон или таблица могли расширяться вниз от последней строки.
Примечание: До нажатия клавиши ВВОД отменить любые изменения можно с помощью кнопки Вернуть на форме данных. При этом из полей удалятся все внесенные данные.
Поиск строки с помощью навигации
Выполните одно или несколько действий, указанных ниже.
-
Чтобы последовательно перейти от одной строки к другой, щелкните нужную стрелку на полосе прокрутки в форме данных.
-
Чтобы перейти сразу через десять строк, щелкните полосу прокрутки между стрелками.
-
Чтобы перейти к следующей строке в диапазоне или таблице, нажмите кнопку Далее.
-
Чтобы перейти к предыдущей строке в диапазоне или таблице, нажмите кнопку Назад.
Поиск строки по определенным условиям
-
Нажмите кнопку Критерии и введите в форму данных условие сравнения.
В форме остаются только те строки, содержимое которых начинается с указанных данных. Например, если в качестве условия сравнения ввести Ша, то будут найдены строки «Шабалин» и «Шашков». Чтобы найти текст, который содержит только определенные символы, в условиях сравнения можно использовать подстановочные знаки.
При создании условий сравнения для фильтров, а также при поиске и замене содержимого можно использовать указанные ниже подставочные знаки.
Подстановочный знак
Чтобы найти
? (вопросительный знак)
Любой символ (один)
Пример: условию «стро?а» соответствуют результаты «строфа» и «строка»* (звездочка)
Любое количество символов
Пример: условию «*-восток» соответствуют результаты «северо-восток» и «юго-восток»~ (тильда), за которой следует ?, * или ~
Вопросительный знак, звездочку или тильду
Пример: условию «ан91~?» соответствует результат «ан91?» -
Чтобы найти соответствующие условиям строки, нажмите кнопку Далее или Назад.
-
Чтобы продолжить добавление, изменение или удаление строк в форме данных, нажмите кнопку Правка.
Изменение данных в строке
-
Найдите строку, которую нужно изменить.
-
Измените данные в строке.
Чтобы перейти к следующему полю в строке, нажмите клавишу TAB. Чтобы перейти к предыдущему полю, нажмите клавиши SHIFT+TAB.
-
Изменив данные, нажмите кнопку ВВОД. Строка будет обновлена.
Переход к следующей строке производится автоматически.
Примечание: До нажатия клавиши ВВОД отменить любые изменения можно с помощью кнопки Вернуть.
Удаление строки
-
Найдите в форме данных строку, которую нужно удалить.
-
Нажмите кнопку Удалить.
Предупреждение: Откроется диалоговое окно для подтверждения операции. После подтверждения отменить удаление строки невозможно.
Закрытие формы данных
Чтобы закрыть форму данных и вернуться к листу, нажмите в ней кнопку Закрыть.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
См. также
Общие сведения о формах, элементах управления формы и элементах ActiveX на листе
Выпадающий список с быстрым поиском
Классический выпадающий список в ячейке листа Excel, сделанный через Данные — Проверка (Data — Validation) — простая и удобная штука, которую ежедневно применяют очень многие пользователи. Однако, у этого списка есть один весьма серьезный недостаток — в нём нет быстрого поиска по первым символам, т.е. фильтрации (отбора) только тех значений, куда введённый фрагмент входит как подстрока. Это серьезно ухудшает удобство пользования даже если в списке всего пара-тройка десятков позиций, а при нескольких сотнях убивает юзабилити напрочь.
Давайте рассмотрим как всё же реализовать подобный трюк. В качестве подопытного кролика возьмём список 250 лучших фильмов по версии IMDb:
Конечная цель — создать выпадающий список (ячейка G3), в котором можно будет быстро находить нужные фильмы, введя только жанр, год или фрагмент названия, например «гамп».
Шаг 1. Определяем, кто нам нужен
Сначала нам нужно понять, какие из исходных ячеек нужно показывать в списке, т.е. определить содержится ли введённый в выпадающем списке текст (например, жанр «детектив») в названии фильма. Для этого добавим слева от исходных данных еще один столбец с функцией ПОИСК (SEARCH), которая ищет заданную подстроку в тексте и выдает либо порядковый номер символа, где он был обнаружен, либо ошибку, если его там нет:
Теперь завернем нашу формулу в функцию проверки ЕЧИСЛО (ISNUMBER), которая превратит числа в логическую ИСТИНУ (TRUE), а ошибки — в ЛОЖЬ (FALSE):
Теперь сделаем так, чтобы ЛОЖЬ превратилась в 0, а вместо ИСТИНА в столбце появились последовательно возрастающие индексы-числа 1,2,3… и т.д. Это можно сделать с помощью добавления к нашей же формуле ещё парочки функций:
Здесь функция ЕСЛИ (IF) проверяет что мы имеем (ИСТИНУ или ЛОЖЬ), и
- если была ИСТИНА, то выводит максимальное значение из всех вышестоящих чисел + 1
- если была ЛОЖЬ, то выводит 0
Шаг 2. Отбираем в отдельный список
Дальше — проще. Теперь банальной функцией ВПР (VLOOKUP) просто выведём все найденные названия (я добавил столбец с порядковыми номерами для удобства):
После этого можно поиграться, вводя в жёлтую ячейку G2 разные слова и фразы и понаблюдать за тем, как наши формулы отбирают только подходящие фильмы:
Шаг 3. Создаем именованный диапазон
Теперь создадим именованный диапазон, который будет ссылаться на отобранные фильмы. Для этого выбрем на вкладке Формулы команды Диспетчер имен — Создать (Formulas — Name Manager — Create):
Имя диапазона может быть любым (например, Фильмы), а самое главное — это функция СМЕЩ (OFFSET), которая и делает всю работу. Напомню её синтаксис, если вы подзабыли:
=СМЕЩ(начальная_ячейка; сдвиг_вниз; сдвиг_вправо; высота; ширина)
У нас:
- В качестве начальной ячейки задаём первую ячейку списка отобранных элементов (E2).
- Сдвиги вниз и вправо у нас отсутствуют, т.е. равны нулю.
- Высота диапазона у нас соответствует максимальному значению индекса из столбца А.
- Ширина диапазона — 1 столбец.
Осталось сделать выпадающий список.
Шаг 4. Создаем выпадающий список
Выделим жёлтую ячейку (G2) и выберем на вкладке Данные команду Проверка данных (Data — Validation). В открывшемся окне выбрем Список (List) в поле Тип данных (Allow), а в качестве источника введем имя нашего созданного диапазона со знаком равно перед ним:
Чтобы Excel не ругался при вводе на неточное совпадение наших фраз с исходным списком, на вкладке Сообщение об ошибке (Error Alert) в этом окне нужно выключить флажок Выводить сообщение об ошибке (Show error alert):
Вот и всё. Можно жать на ОК и наслаждаться результатом:
Для пущего удобства при вводе с клавиатуры можно использовать Ctrl+Enter вместо Enter после ввода текста (так активная ячейка не уходит вниз) и сочетание клавиш Alt+стрелка вниз, чтобы развернуть выпадающий список без мыши.
P.S.
В принципе, можно было бы и не продолжать, но недавно Microsoft выкатила обновление вычислительного движка Excel, который теперь поддерживает динамические массивы и имеет специальные функции для работы с ними. Большинству пользователей они станут доступны в ближайшие месяцы, но даже если пока этих возможностей в вашем Excel нет — грех не показать как элементарно с их помощью решается наша задача.
Всё, что мы делали на Шагах 1-3 заменяется одной(!) формулой, где новая функция ФИЛЬТР (FILTER) отбирает из исходного диапазона A2:A251 только те фильмы, которые содержат заданную подстроку.
А дальше останется при создании выпадающего списка указать в качестве источника первую ячейку диапазона отобранных фильмов (C2) и добавить к ней знак #, чтобы получить ссылку на весь динамический массив:
И всё. Никаких именованных диапазонов и медленных СМЕЩ, никаких танцев с дополнительными столбцами и формулами. Песня!
Ссылки по теме
- Что такое динамические массивы в Excel
- Разбор трех основных функций динамических массивов: СОРТ, ФИЛЬТР и УНИК
- 4 способа создать выпадающий список на листе Excel
Форма поиска c выводом результатов по всей книге |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
За исключением использования функции «Найти» в Excel, на самом деле вы можете создать собственное поле поиска для простого поиска необходимых значений. Эта статья подробно расскажет вам о двух методах создания собственного поля поиска в Excel.
Создайте собственное поле поиска с условным форматированием, чтобы выделить все результаты поиска
Создайте собственное окно поиска с формулами для вывода всех результатов поиска
Создайте собственное поле поиска с условным форматированием, чтобы выделить все результаты поиска
Вы можете сделать следующее, чтобы создать собственное поле поиска с помощью функции условного форматирования в Excel.
1. Выберите диапазон с данными, которые вам нужны для поиска в поле поиска, затем нажмите Условное форматирование > Новое правило под Главная таб. Смотрите скриншот:
2. в Новое правило форматирования диалоговое окно, вам необходимо:
2.1) Выбрать Используйте формулу, чтобы определить, какие ячейки следует форматировать. вариант в Выберите тип правила коробка;
2.2) Введите формулу = ISNUMBER (ПОИСК ($ B $ 2; A5)) в Формат значений, где эта формула истинна коробка;
2.3) Нажмите Формат кнопка, чтобы указать выделенный цвет для искомого значения;
2.4) Нажмите OK кнопку.
Заметки:
1. В формуле $ B $ 2 — это пустая ячейка, которую необходимо использовать в качестве поля поиска, а A5 — это первая ячейка выбранного диапазона, в котором необходимо искать значения. Пожалуйста, измените их по своему усмотрению.
2. В формуле не учитывается регистр.
Теперь поле поиска создано: при вводе критериев поиска в поле поиска B2 и нажатии клавиши Enter выполняется поиск всех совпадающих значений в указанном диапазоне, которые немедленно выделяются, как показано ниже.
Создайте собственное окно поиска с формулами для вывода всех результатов поиска
Предположим, у вас есть список данных, расположенный в диапазоне E4: E23, который вам нужно найти, если вы хотите перечислить все совпадающие значения в другом столбце после поиска с помощью собственного поля поиска, вы можете попробовать следующий метод.
1. Выберите пустую ячейку, которая находится рядом с ячейкой E4, здесь я выбираю ячейку D4, затем вводю формулу = ЕСЛИОШИБКА (ПОИСК ($ B $ 2; E4) + СТРОКА () / 100000; «») в строку формул, а затем нажмите Enter ключ. Смотрите скриншот:
Внимание: В формуле $ B $ 2 — это ячейка, которую необходимо использовать в качестве поля поиска, E4 — это первая ячейка списка данных, в котором необходимо выполнить поиск. Вы можете менять их по своему усмотрению.
2. Продолжайте выбирать ячейку E4, затем перетащите маркер заполнения вниз в ячейку D23. Смотрите скриншот:
3. Теперь выберите ячейку C4 и введите формулу. = ЕСЛИОШИБКА (РАНГ (D4; $ D $ 4: $ D $ 23,1); «») в панель формул и нажмите Enter ключ. Выберите ячейку C4, затем перетащите маркер заполнения до C23. Смотрите скриншот:
4. Теперь вам нужно заполнить диапазон A4: A23 порядковым номером, который увеличивается на 1 от 1 до 20, как показано на скриншоте ниже:
5. Выберите пустую ячейку, в которой будет отображаться результат поиска, введите формулу. = ЕСЛИОШИБКА (ВПР (A4; $ C $ 4: $ E $ 23,3; FALSE); «») в панель формул и нажмите Enter ключ. Продолжая выбирать ячейку B4, перетащите маркер заливки вниз до B23, как показано ниже.
С этого момента при вводе данных в поле поиска B2 все совпавшие значения будут перечислены в диапазоне B4: B23, как показано на скриншоте ниже.
Внимание: этот метод не чувствителен к регистру.
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
124 / 3 / 0 Регистрация: 29.07.2013 Сообщений: 249 |
|
1 |
|
01.08.2013, 12:06. Показов 19206. Ответов 48
Всем хорошего настроения! Есть таблица, сделал форму для ввода данных. Необходимо чтобы при вводе данных в TextBox1 происходил поиск из первого столбца и после соответствия выводил в Textbox2 и TextBox3 значения этой строки соответственно из столбца 2 и 3, но не просто, а для редактирования. При нажатии кнопки Cange Record данные в искомой строке должны измениться.
1 |
124 / 3 / 0 Регистрация: 29.07.2013 Сообщений: 249 |
|
02.08.2013, 10:57 [ТС] |
2 |
Предложили неплохой вариант по поиску. http://www.planetaexcel.ru/?PA… sage416815 Теперь надо чтобы редактированные данные попали на свое место. Добавлено через 20 часов 36 минут
0 |
5590 / 1580 / 406 Регистрация: 23.12.2010 Сообщений: 2,366 Записей в блоге: 1 |
|
02.08.2013, 15:45 |
3 |
Тут идеи не нужны. Тут нужно воплощение идей.
3 |
124 / 3 / 0 Регистрация: 29.07.2013 Сообщений: 249 |
|
02.08.2013, 20:49 [ТС] |
4 |
KoGG, я оценил вложенный Вами труд детального понимания вопроса и подхода к его решению. Оч круто!!
0 |
6875 / 2807 / 533 Регистрация: 19.10.2012 Сообщений: 8,562 |
|
02.08.2013, 23:12 |
5 |
Как-то мне не нравится, что можно добавить уже существующий номер ещё раз. Но уже нельзя его изменить (т.к. выше есть такой же).
0 |
KoGG 5590 / 1580 / 406 Регистрация: 23.12.2010 Сообщений: 2,366 Записей в блоге: 1 |
||||
03.08.2013, 17:57 |
6 |
|||
To Hugo121 (полезно и ac1-caesar),
2 |
124 / 3 / 0 Регистрация: 29.07.2013 Сообщений: 249 |
|
03.08.2013, 23:08 [ТС] |
7 |
Понял, отработаю и эту часть вопроса. Просто в моем случае процессы работают отдельно: — добавление новой записи и редактирование старой не пересекаются.
0 |
0 / 0 / 0 Регистрация: 24.03.2015 Сообщений: 1 |
|
24.03.2015, 10:55 |
8 |
Прошу помощи!!!!!!!
0 |
7 / 5 / 0 Регистрация: 15.05.2015 Сообщений: 342 |
|
19.10.2015, 13:36 |
9 |
Сделал табель учета рабочего времени в Excel, все считается отлично, но т.к. имеем дело с вводом времени в формате «НН:ММ» — неудобно, попросили создать форму… — При выборе Работника и Дня — не обновляется значения в соответствующих ComBox-ах, хотя при введении новых данных, все меняем без проблем — как реализовать?
0 |
3827 / 2254 / 751 Регистрация: 02.11.2012 Сообщений: 5,930 |
|
19.10.2015, 13:40 |
10 |
покажите ваши наработки.
0 |
mostApi 7 / 5 / 0 Регистрация: 15.05.2015 Сообщений: 342 |
||||
19.10.2015, 14:08 |
11 |
|||
Попутно спрошу, при объявлении выпадающего списка в ComboBox нельзя указать диапазон по строке?
— или циклом заводить?
0 |
dzug 695 / 236 / 18 Регистрация: 17.01.2011 Сообщений: 583 Записей в блоге: 1 |
||||
19.10.2015, 14:26 |
12 |
|||
попробуйте так
0 |
7 / 5 / 0 Регистрация: 15.05.2015 Сообщений: 342 |
|
19.10.2015, 14:31 |
13 |
Не ругается, но вы водит только первую ячейку из диапазона… Диапазон: [D10:AH10], т.е. D10 E10 F10 и т.д. по строке…
0 |
dzug 695 / 236 / 18 Регистрация: 17.01.2011 Сообщений: 583 Записей в блоге: 1 |
||||
19.10.2015, 14:53 |
14 |
|||
Да, это работает для столбца. Для строки сейчас посмотрю. Добавлено через 12 минут
1 |
7 / 5 / 0 Регистрация: 15.05.2015 Сообщений: 342 |
|
19.10.2015, 15:03 |
15 |
dzug, да, циклом работает… спасибо!
0 |
Vlad999 3827 / 2254 / 751 Регистрация: 02.11.2012 Сообщений: 5,930 |
||||
19.10.2015, 15:08 |
16 |
|||
можно так
1 |
695 / 236 / 18 Регистрация: 17.01.2011 Сообщений: 583 Записей в блоге: 1 |
|
19.10.2015, 15:19 |
17 |
Смотри Эксель — вложение к 3 посту, там есть обновление.
0 |
pashulka 4131 / 2235 / 940 Регистрация: 01.12.2010 Сообщений: 4,624 |
||||
19.10.2015, 15:22 |
18 |
|||
У ComboBox/ListBox есть ещё свойство Column, которое позволит осуществить желаемое, причём без цикла и транспонирования
1 |
7 / 5 / 0 Регистрация: 15.05.2015 Сообщений: 342 |
|
19.10.2015, 15:34 |
19 |
dzug, pashulka, — посмотрел код, вроде как нашел где и как.., не могу понять как применить…
0 |
pashulka 4131 / 2235 / 940 Регистрация: 01.12.2010 Сообщений: 4,624 |
||||
19.10.2015, 17:11 |
20 |
|||
mostApi, Конкретно для Вашей таблицы ( только заполнение TextBox/ComboBox)
1 |