Download Article
Easy methods to repeat a value in Excel on PC or mobile
Download Article
This wikiHow teaches how to copy one value to an entire range of cells in Microsoft Excel. If the cells you want to copy to are in a single row or column, you can use Excel’s Fill feature to fill the row or column with the same value. If you want the value to appear in a wider range of cells, such as multiple contiguous or non-connected (desktop-only) rows and columns, you can easily paste the value into a selected range.
-
1
Type the value into an empty cell. For example, if you want the word «wikiHow» to appear in multiple cells, type wikiHow into any empty cell now. Use this method if you want the same value to appear in an entire range.
-
2
Right-click the cell containing the value and select Copy. This copies the value to your clipboard.
Advertisement
-
3
Select the range of cells in which you want to paste the value. To do this, click and drag the mouse over every cell where the value should appear. This highlights the range.
- The range you select doesn’t have to be continuous. If you want to select cells and/or ranges that aren’t connected, hold down the Control key (PC) or Command key (Mac) as you highlight each range.
-
4
Right-click the highlighted range and click Paste. Every cell in the selected range now contains the same value.
Advertisement
-
1
Type the value into an empty cell. For example, if you want the word «wikiHow» to appear in multiple cells, type wikiHow into an empty cell above (if applying to a column) or beside (if applying to a row) the cells you want to fill.
-
2
Tap the cell once to select it. This highlights the cell.
-
3
Tap the highlighted cell once more. This opens the Edit menu.
-
4
Tap Copy on the menu. Now that the value is copied to your clipboard, you’ll be able to paste it into a series of other cells.
-
5
Select the range of cells in which you want the selected value to appear. To do so, tap the first cell where you want the copied value to appear, and then drag the dot at its bottom-right corner to select the entire range.
- There is no way to select multiple non-touching ranges at once. If you need to copy the value into another non-adjacent range, repeat this step and the next step for the next range after pasting into this one.
-
6
Tap the selected range and tap Paste. This copies the selected value into every cell in the range.
Advertisement
-
1
Type the value into an empty cell. For example, if you want the word «wikiHow» to appear in multiple cells, type wikiHow into an empty cell above (if applying to a column) or beside (if applying to a row) the cells you want to fill.
-
2
Hover the mouse cursor over the bottom-right corner of the cell. The cursor will turn to crosshairs (+).
-
3
Click and drag down the column or across the row to fill all cells. As long as Excel does not detect a pattern, all selected cells will be filled with the same value.
- If the filled cells show up as a pattern, such as a series of increasing numbers, click the icon with a plus sign at the bottom of the selected cells, then select Copy cells.
Advertisement
-
1
Type the value into an empty cell. For example, if you want the word «wikiHow» to appear in multiple cells, type wikiHow into an empty cell above (if applying to a column) or beside (if applying to a row) the cells you want to fill.
-
2
Tap the cell once to select it. This highlights the cell.[1]
-
3
Tap the highlighted cell once more. This opens the Edit menu.
-
4
Tap Fill on the menu. You will then see some arrow icons.
-
5
Tap and drag the Fill arrow across the cells you want to fill. If you want to fill a row, tap the arrow pointing to the right and drag it until you’re finished filling all of the cells. If you’re filling a column, tap the arrow pointing downward, and then drag it down to fill the desired amount of cells.
Advertisement
Ask a Question
200 characters left
Include your email address to get a message when this question is answered.
Submit
Advertisement
Thanks for submitting a tip for review!
References
About This Article
Article SummaryX
1. Enter the value into a blank cell.
2. Right-click the cell and click Copy.
3. Highlight the cells you want to paste into.
4. Right-click the highlighted area and select Paste.
Did this summary help you?
Thanks to all authors for creating a page that has been read 38,045 times.
Is this article up to date?
Подстановка значений в Microsoft Excel подразумевает замену одной части текста на другую с выводом результата в отдельной ячейке. Это избавит вас от необходимости самостоятельно вносить одни и те же коррективы в большое количество полей. Осуществляется подобная манипуляция с использованием всего одной функции, но далее я расскажу еще и о ее модернизации для тех, кто исправляет ошибочный импорт, переводя текстовые значения в числовые.
Когда это может понадобиться?
Отвечу на самый главный вопрос по теме: «Когда может понадобиться подстановка значений?». Выполнение этой операции в первую очередь подразумевает замену любых символов. Например, вы импортировали диапазон значений из другой программы, где для разделения дробной части вместо запятой используется точка. Соответственно, Excel подумает, что это текстовые значения, и откажется использовать их при создании функций.
Вы можете исправить все это вручную, удаляя старые знаки и добавляя новые, после чего проверить настройки формата каждой ячейки. Однако это делается долго и неудобно. Проще создать новый столбец с использованием функций. ПОДСТАВИТЬ и ЗНАЧЕН. Так вы создадите столбец с правильными данными, которые можно использовать для любых целей, включая копирование и удаление всего лишнего.
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Подписаться
Использование функции ПОДСТАВИТЬ
Для начала разберемся с тем, как работает синтаксис основной функции – ПОДСТАВИТЬ. Объявим ее и рассмотрим каждый аргумент, чтобы при дальнейшем использовании у вас не возникло никаких проблем.
-
Для начала выберите необходимую клетку, нажмите по ней левой кнопкой мыши для активации и объявите функцию =ПОДСТАВИТЬ().
-
В скобках напишите номер ячейки, с которой нужно взять исходный текст.
-
Поставьте точку с запятой для отделения аргументов, в кавычках напишите символ или несколько символов, от которых хотите избавиться.
-
Снова отделите аргумент и в кавычках напишите новый символ для замены.
-
Это вся формула, поэтому можете нажать Enter и посмотреть, что получилось в итоге.
Для наглядности оставляю используемую мной формулу целиком, чтобы вы могли редактировать ее под себя и не вводить каждый символ вручную. Это поможет значительно сэкономить время.
=ПОДСТАВИТЬ(A2;".";",")
Добавление функции ЗНАЧЕН
Теперь модернизируем формулу, чтобы в итоге получить числовое значение, а не текст, как в исходном варианте. Для этого понадобится функция ЗНАЧЕН, которую просто нужно вписать в строку, поставив дополнительные кавычки.
-
Выполните редактирование, чтобы в итоге получить примерно такой результат: =ЗНАЧЕН(ПОДСТАВИТЬ(A2;».»;»,»)).
-
Нажмите Enter для применения изменений и обратите внимание на то, что теперь числа отображаются справа в ячейке, что говорит об успешной смене формата с текстового на числовой.
-
Остается только растянуть формулу на все остальные клетки, чтобы завершить замену в массиве данных. Зажмите правый нижний угол ячейки и потяните вниз.
-
Посмотрите на таблицу и удалите лишнюю информацию, которая после преобразования больше не понадобится.
Работа с массивами данных в Microsoft Excel часто заставляет юзера вносить правки в текст, что особенно актуально при импорте дробных чисел. Теперь вы узнали, что решить проблему можно при помощи всего одной формулы, состоящей из двух функций. Используйте это, чтобы оптимизировать взаимодействие с электронной таблицей.
Stels_27
Гость
#1
11.03.2011 16:13:57
Как при вводе в ячейку определенного значения (например B42 или И43),заставить excel прописывать заданные значения в несколько других ячеек.
Например ввожу цифру 8 в ячейку, как объяснить программе что 8 означает 2 торца, 7 дуг, 1 дверь, 4 стрингера и 5 поликарбоната, причем каждой из этих значений ставятся в разные ячейки.
Прикрепленные файлы
- post_207216.xls (21 КБ)
Обычный Выпадающий (раскрывающийся) список отображает только один перечень элементов. Связанный список – это такой выпадающий список , который может отображать разные перечни элементов, в зависимости от значения другой ячейки. Потребность в создании связанных списков (другие названия: связанные диапазоны , динамические списки ) появляется при моделировании иерархических структур данных. Например:
- Отдел – Сотрудники отдела . При выборе отдела из списка всех отделов компании, динамически формируется список, содержащий перечень фамилий всех сотрудников этого отдела (двухуровневая иерархия);
- Город – Улица – Номер дома . При заполнении адреса проживания можно из списка выбрать город , затем из списка всех улиц этого города – улицу , затем, из списка всех домов на этой улице – номер дома (трехуровневая иерархия).
В этой статье рассмотрен только двухуровневый связанный список . Многоуровневый связанный список рассмотрен в одноименной статье Многоуровневый связанный список . Создание иерархических структур данных позволяет избежать неудобств выпадающих списков связанных со слишком большим количеством элементов. Связанный список можно реализовать в EXCEL, с помощью инструмента Проверка данных ( Данные/ Работа с данными/ Проверка данных ) с условием проверки Список (пример создания приведен в данной статье) или с помощью элемента управления формы Список (см. статью Связанный список на основе элемента управления формы ).
Создание Связанного списка на основе Проверки данных рассмотрим на конкретном примере.
Задача : Имеется перечень Регионов , состоящий из названий четырех регионов. Для каждого Региона имеется свой перечень Стран . Пользователь должен иметь возможность, выбрав определенный Регион , в соседней ячейке выбрать из Выпадающего списка нужную ему Страну из этого Региона .
Таблицу, в которую будут заноситься данные с помощью Связанного списка , разместим на листе Таблица . См. файл примера Связанный_список.xlsx
Список регионов и перечни стран разместим на листе Списки .
Обратите внимание, что названия регионов (диапазон А2:А5 на листе Списки ) в точности должны совпадать с заголовками столбцов, содержащих названия соответствующих стран ( В1:Е1 ).
Присвоим имена диапазонам, содержащим Регионы и Страны (т.е. создадим Именованные диапазоны ). Быстрее всего это сделать так:
- выделитьячейки А1:Е6 на листе Списки (т.е. диапазон, охватывающий все ячейки с названиями Регионов и Стран );
- нажать кнопку «Создать из выделенного фрагмента» (пункт меню Формулы/ Определенные имена/ Создать из выделенного фрагмента );
- Убедиться, что стоит только галочка «В строке выше»;
- Нажать ОК.
Проверить правильность имени можно через Диспетчер Имен ( Формулы/ Определенные имена/ Диспетчер имен ). Должно быть создано 5 имен.
Можно подкорректировать диапазон у имени Регионы (вместо =списки!$A$2:$A$6 установить =списки!$A$2:$A$5 , чтобы не отображалась последняя пустая строка)
На листе Таблица , для ячеек A 5: A 22 сформируем выпадающий список для выбора Региона .
- выделяем ячейки A5:A22 ;
- вызываем инструмент Проверка данных;
- устанавливаем тип данных – Список ;
- в поле Источник вводим: =Регионы
Теперь сформируем выпадающий список для столбца Страна (это как раз и будет желанный Связанный список ).
- выделяем ячейки B5:B22 ;
- вызываем инструмент Проверка данных;
- устанавливаем тип данных – Список ;
- в поле Источник вводим: =ДВССЫЛ(A5)
Важно, чтобы при создании правила Проверки данных активной ячейкой была B5 , т.к. мы используем относительную адресацию .
Тестируем. Выбираем с помощью выпадающего списка в ячейке A 5 Регион – Америка , вызываем связанный список в ячейке B 5 и балдеем – появился список стран для Региона Америка : США, Мексика …
Теперь заполняем следующую строку. Выбираем в ячейке A 6 Регион – Азия , вызываем связанный список в ячейке B 6 и опять балдеем: Китай, Индия …
Необходимо помнить, что в именах нельзя использовать символ пробела. Поэтому, при создании имен, вышеуказанным способом, он будет автоматически заменен на нижнее подчеркивание «_». Например, если вместо Америка (ячейка В1 ) ввести « Северная Америка » (соответственно подкорректировав ячейку А2 ), то после нажатия кнопки Создать из выделенного фрагмента будет создано имя «Северная_Америка». В этом случае формула =ДВССЫЛ(A5) работать не будет, т.к. при выборе региона « Северная Америка » функция ДВССЫЛ() не найдет соответствующего имени. Поэтому формулу можно подкорректировать, чтобы она работала при наличии пробелов в названиях Регионов : =ДВССЫЛ(ПОДСТАВИТЬ(A5;» «;»_»)) .
Теперь о недостатках . При создании имен с помощью кнопки меню Создать из выделенного фрагмента, все именованные диапазоны для перечней Стран были созданы одинаковой длины (равной максимальной длине списка для региона Европа (5 значений)). Это привело к тому, что связанные списки для других регионов содержали пустые строки.
Конечно, можно вручную откорректировать диапазоны или даже вместо Именованных диапазонов создать Динамические диапазоны . Но, при большом количестве имен делать это будет достаточно трудоемко. Кроме того, при добавлении новых Регионов придется вручную создавать именованные диапазоны для их Стран .
Чтобы не создавать десятки имен, нужно изменить сам подход при построении Связанного списка . Рассмотрим этот подход в другой статье: Расширяемый Связанный список .
Как привязать значение одной ячейки к другой в excel
alt=»Поиск по форуму» width=»16″ height=»16″ />
Информация о сайте
Инструменты и настройки
Excel Windows
и
Excel Macintosh
Вопросы и решения
Работа и общение
Работа форума и сайта
Функции листа Excel
= Мир MS Excel/Привязка значений к названиям ячеек — Мир MS Excel
Войти через uID
Войти через uID
- Страница 1 из 1
- 1
Здравствуйте! Скажите пожалуйста! Мучаюсь достаточно простым вопросом.
Как в екселе сделать так, что бы когда записываешь в любую ячейку слово, например «апельсин», в соседней с ней ячейке справа появлялось за ранее заданное значение, например «100».
Т.е. выглядит это примерно следующим образом:
В ячейку A1 пишем «Апельсин» и в ячейке B1 сразу же получаем значение «100»
И еще один момент: если уже таблица запонена словами апельсин, нужно, что бы после выполнения либо этого макроса или применения таких настроек. вся таблица где есть слово «Апельсин» получила в соседних с ним ячейках указное значение — в данном случае 100. Спасибо!
Здравствуйте! Скажите пожалуйста! Мучаюсь достаточно простым вопросом.
Как в екселе сделать так, что бы когда записываешь в любую ячейку слово, например «апельсин», в соседней с ней ячейке справа появлялось за ранее заданное значение, например «100».
Т.е. выглядит это примерно следующим образом:
В ячейку A1 пишем «Апельсин» и в ячейке B1 сразу же получаем значение «100»
И еще один момент: если уже таблица запонена словами апельсин, нужно, что бы после выполнения либо этого макроса или применения таких настроек. вся таблица где есть слово «Апельсин» получила в соседних с ним ячейках указное значение — в данном случае 100. Спасибо! Фил
Сообщение Здравствуйте! Скажите пожалуйста! Мучаюсь достаточно простым вопросом.
Как в екселе сделать так, что бы когда записываешь в любую ячейку слово, например «апельсин», в соседней с ней ячейке справа появлялось за ранее заданное значение, например «100».
Т.е. выглядит это примерно следующим образом:
В ячейку A1 пишем «Апельсин» и в ячейке B1 сразу же получаем значение «100»
И еще один момент: если уже таблица запонена словами апельсин, нужно, что бы после выполнения либо этого макроса или применения таких настроек. вся таблица где есть слово «Апельсин» получила в соседних с ним ячейках указное значение — в данном случае 100. Спасибо! Автор — Фил
Дата добавления — 17.04.2013 в 02:20
Excel: Привязка значения к выпадающему списку в ячейке
Excel: Есть ячейка, содержащая «текст1», алгоритм «1»(С3-B3), и содержит «текст2», алгоритм «2»(С3-B3). Как соединить два эти «значения», в один выпадающий список (строчку), что бы можно было выбирать текст (1 или 2) с алгоритмом, уже из него!?
P.s. Скриншот прилагается.
В ячейке D3, напиши формулу:
И этого будет достаточно.
Естественно — формулу скопируй в остальные ячейки столбика D.
——
А может быть эти Текст1 и Текст2 и не нужны.
Если не хочешь что бы ОСТАТОК был отрицательным,
проверяй не ячейку А,
а результат нужного вычисления на «положительность».
Excel: В «Таблице 1» есть две ячейки: Яблоки (А3) и Персики (А4). Ячейка D3 имеет формулу «=C3-B3», а ячейка D4 формулу «=B4-C4». Ячейка А7 содержит раскрывающийся список из двух вариантов: «Яблоки» и «Персики». В ячейку номер B7 вписываем цифру 2, а в ячейку C7 вписываем цифру 7(цифры могут быть любые).
Вопрос! Как сделать что-бы, при выборе в ячейке А7 варианта «Яблоки», результат в ячейке D7 был по формуле «=C7-B7″(Таблица 3), а при выборе варианта «Персики», по формуле «=B7-C7″(Таблица 2).
Предположим, есть ячейка C3 со значением:
123
И есть ячейка D3 со значением:
789.15
Необходимо в ячейке A3 получить строку:
Количество 123, Цена 789.15 руб.
Решение:
В Excel прописать составную строку в ячейку можно только через формулу. Поэтому в ячейке A3 первым символом должен идти знак равенства =.
Далее просто пишутся строковые константы в кавычках, и объединяются (конкатенируются) со значениями из других ячеек через знак &:
=»Количество » & C3 & «, Цена » & C4 & » руб.»
Если необходимо сделать перевод строки, можно воспользоваться функцией СИМВОЛ(10), вот так:
=»Количество » & C3 & «, » & СИМВОЛ(10) & «Цена » & C4 & » руб.»
Под выпадающим списком понимается содержание в одной ячейке нескольких значений. Когда пользователь щелкает по стрелочке справа, появляется определенный перечень. Можно выбрать конкретное.
Очень удобный инструмент Excel для проверки введенных данных. Повысить комфорт работы с данными позволяют возможности выпадающих списков: подстановка данных, отображение данных другого листа или файла, наличие функции поиска и зависимости.
Создание раскрывающегося списка
Путь: меню «Данные» — инструмент «Проверка данных» — вкладка «Параметры». Тип данных – «Список».
Ввести значения, из которых будет складываться выпадающий список, можно разными способами:
- Вручную через «точку-с-запятой» в поле «Источник».
- Ввести значения заранее. А в качестве источника указать диапазон ячеек со списком.
- Назначить имя для диапазона значений и в поле источник вписать это имя.
Любой из вариантов даст такой результат.
Выпадающий список в Excel с подстановкой данных
Необходимо сделать раскрывающийся список со значениями из динамического диапазона. Если вносятся изменения в имеющийся диапазон (добавляются или удаляются данные), они автоматически отражаются в раскрывающемся списке.
- Выделяем диапазон для выпадающего списка. В главном меню находим инструмент «Форматировать как таблицу».
- Откроются стили. Выбираем любой. Для решения нашей задачи дизайн не имеет значения. Наличие заголовка (шапки) важно. В нашем примере это ячейка А1 со словом «Деревья». То есть нужно выбрать стиль таблицы со строкой заголовка. Получаем следующий вид диапазона:
- Ставим курсор в ячейку, где будет находиться выпадающий список. Открываем параметры инструмента «Проверка данных» (выше описан путь). В поле «Источник» прописываем такую функцию:
Протестируем. Вот наша таблица со списком на одном листе:
Добавим в таблицу новое значение «елка».
Теперь удалим значение «береза».
Осуществить задуманное нам помогла «умная таблица», которая легка «расширяется», меняется.
Теперь сделаем так, чтобы можно было вводить новые значения прямо в ячейку с этим списком. И данные автоматически добавлялись в диапазон.
- Сформируем именованный диапазон. Путь: «Формулы» — «Диспетчер имен» — «Создать». Вводим уникальное название диапазона – ОК.
- Создаем раскрывающийся список в любой ячейке. Как это сделать, уже известно. Источник – имя диапазона: =деревья.
- Снимаем галочки на вкладках «Сообщение для ввода», «Сообщение об ошибке». Если этого не сделать, Excel не позволит нам вводить новые значения.
- Вызываем редактор Visual Basic. Для этого щелкаем правой кнопкой мыши по названию листа и переходим по вкладке «Исходный текст». Либо одновременно нажимаем клавиши Alt + F11. Копируем код (только вставьте свои параметры).
- Сохраняем, установив тип файла «с поддержкой макросов».
- Переходим на лист со списком. Вкладка «Разработчик» — «Код» — «Макросы». Сочетание клавиш для быстрого вызова – Alt + F8. Выбираем нужное имя. Нажимаем «Выполнить».
Private Sub Worksheet_Change(ByVal Target As Range) Dim lReply As Long If Target.Cells.Count > 1 Then Exit Sub If Target.Address = "$C$2" Then If IsEmpty(Target) Then Exit Sub If WorksheetFunction.CountIf(Range("Деревья"), Target) = 0 Then lReply = MsgBox("Добавить введенное имя " & _ Target & " в выпадающий список?", vbYesNo + vbQuestion) If lReply = vbYes Then Range("Деревья").Cells(Range("Деревья").Rows.Count + 1, 1) = Target End If End If End If End Sub
Когда мы введем в пустую ячейку выпадающего списка новое наименование, появится сообщение: «Добавить введенное имя баобаб в выпадающий список?».
Нажмем «Да» и добавиться еще одна строка со значением «баобаб».
Выпадающий список в Excel с данными с другого листа/файла
Когда значения для выпадающего списка расположены на другом листе или в другой книге, стандартный способ не работает. Решить задачу можно с помощью функции ДВССЫЛ: она сформирует правильную ссылку на внешний источник информации.
- Делаем активной ячейку, куда хотим поместить раскрывающийся список.
- Открываем параметры проверки данных. В поле «Источник» вводим формулу: =ДВССЫЛ(“[Список1.xlsx]Лист1!$A$1:$A$9”).
Имя файла, из которого берется информация для списка, заключено в квадратные скобки. Этот файл должен быть открыт. Если книга с нужными значениями находится в другой папке, нужно указывать путь полностью.
Как сделать зависимые выпадающие списки
Возьмем три именованных диапазона:
Это обязательное условие. Выше описано, как сделать обычный список именованным диапазоном (с помощью «Диспетчера имен»). Помним, что имя не может содержать пробелов и знаков препинания.
- Создадим первый выпадающий список, куда войдут названия диапазонов.
- Когда поставили курсор в поле «Источник», переходим на лист и выделяем попеременно нужные ячейки.
- Теперь создадим второй раскрывающийся список. В нем должны отражаться те слова, которые соответствуют выбранному в первом списке названию. Если «Деревья», то «граб», «дуб» и т.д. Вводим в поле «Источник» функцию вида =ДВССЫЛ(E3). E3 – ячейка с именем первого диапазона.
- Создаем стандартный список с помощью инструмента «Проверка данных». Добавляем в исходный код листа готовый макрос. Как это делать, описано выше. С его помощью справа от выпадающего списка будут добавляться выбранные значения.
- Чтобы выбранные значения показывались снизу, вставляем другой код обработчика.
- Чтобы выбираемые значения отображались в одной ячейке, разделенные любым знаком препинания, применим такой модуль.
- На вкладке «Разработчик» находим инструмент «Вставить» – «ActiveX». Здесь нам нужна кнопка «Поле со списком» (ориентируемся на всплывающие подсказки).
- Щелкаем по значку – становится активным «Режим конструктора». Рисуем курсором (он становится «крестиком») небольшой прямоугольник – место будущего списка.
- Жмем «Свойства» – открывается перечень настроек.
- Вписываем диапазон в строку ListFillRange (руками). Ячейку, куда будет выводиться выбранное значение – в строку LinkedCell. Для изменения шрифта и размера – Font.
Выбор нескольких значений из выпадающего списка Excel
Бывает, когда из раскрывающегося списка необходимо выбрать сразу несколько элементов. Рассмотрим пути реализации задачи.
Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Not Intersect(Target, Range("Е2:Е9")) Is Nothing And Target.Cells.Count = 1 Then Application.EnableEvents = False If Len(Target.Offset(0, 1)) = 0 Then Target.Offset(0, 1) = Target Else Target.End(xlToRight).Offset(0, 1) = Target End If Target.ClearContents Application.EnableEvents = True End If End Sub
Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Not Intersect(Target, Range("Н2:К2")) Is Nothing And Target.Cells.Count = 1 Then Application.EnableEvents = False If Len(Target.Offset(1, 0)) = 0 Then Target.Offset(1, 0) = Target Else Target.End(xlDown).Offset(1, 0) = Target End If Target.ClearContents Application.EnableEvents = True End If End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("C2:C5")) Is Nothing And Target.Cells.Count = 1 Then
Application.EnableEvents = False
newVal = Target
Application.Undo
oldval = Target
If Len(oldval) <> 0 And oldval <> newVal Then
Target = Target & "," & newVal
Else
Target = newVal
End If
If Len(newVal) = 0 Then Target.ClearContents
Application.EnableEvents = True
End If
End Sub
Не забываем менять диапазоны на «свои». Списки создаем классическим способом. А всю остальную работу будут делать макросы.
Выпадающий список с поиском
Скачать пример выпадающего списка
При вводе первых букв с клавиатуры высвечиваются подходящие элементы. И это далеко не все приятные моменты данного инструмента. Здесь можно настраивать визуальное представление информации, указывать в качестве источника сразу два столбца.
ввод одного числа в ячейку — вывод другого
Автор Dimchiko, 06.08.2008, 15:57
« назад — далее »
Уважаемые гуру!
Есть задача: надо вводить в ячейку число (неизвестное заранее), но чтобы оно в ячейке уже умножалось на коэффициент и в таком виде отображалось бы.
То есть, скажем, в ячейку А1 ввожу 31,5 (а там стоит *0,17) и мне выдается в этой же ячейке 5,355…
А нельзя это разделить на три ячейки, коэф., ячейка для ввода и результат.
Или целого экселя мало?
Я просто практический смысл задачи себе слабо представляю…
Ну хотя бы коэфициент-то пусть будет в отдельной ячейке, с вводом можно же и ошибку сделать, а обратно коэффициент не вернешь, где он будет запомнен?
Знания недостаточно, необходимо применение. Желания недостаточно, необходимо действие. (с) Брюс Ли
Хм…рано обрадовался…
Дело в том, что в той теме Вы написали такой код:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = 0
If Not Intersect(Target, [D:D]) Is Nothing Then
Target.Value = Target + Target.Offset(0, -3)
End If
Application.EnableEvents = 1
End Sub
То есть он берет весь столбец D и весь столбец А.
У меня же вместо столбца А — ячейка, на которую надо умножать вводимые значения диапазона в столбце С….
Цитата: Dimchiko от 06.08.2008, 17:06
То есть он берет весь столбец D и весь столбец А.
У меня же вместо столбца А — ячейка, на которую надо умножать вводимые значения диапазона в столбце С….
Столбцом «D» в коде ограничено поле для контроля — не все же ячейки листа мы будем перемножать на коэффициент. Вы просто поменяйте «D» на «C» и «+…» на «*0.17»
Знания недостаточно, необходимо применение. Желания недостаточно, необходимо действие. (с) Брюс Ли
Цитата: Шпец Докапыч от 06.08.2008, 18:10
Цитата: Dimchiko от 06.08.2008, 17:06
То есть он берет весь столбец D и весь столбец А.
У меня же вместо столбца А — ячейка, на которую надо умножать вводимые значения диапазона в столбце С….Столбцом «D» в коде ограничено поле для контроля — не все же ячейки листа мы будем перемножать на коэффициент. Вы просто поменяйте «D» на «C» и «+…» на «*0.17«
Вот блин! Все забываю, что если на листе 2 и более процедуры Private Sub Worksheet_Change(ByVal Target As Range) , то вторая уже точно работать не будет! у меня именно так и получилось: когда внес Ваш код «под крыло» первой процедуры все заработало. Единственный вопрос остался по этой теме: если в столбце С у меня 3 диапазона и каждый надо умножать при вводе на свой собственный коэфиициент? Причем скорее будет так, что будут вначале введены числа в столбец С, а только потом изменены коэффициенты… Это я к вопросу про интерактивность…. 
Как-нибудь так….
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = 0
If Not Intersect(Target, [C:C]) Is Nothing Then
For Each Target In Range(«диапазон1»)
Target.Value = Target * [J1]
For Each Target In Range(«диапазон2»)
Target.Value = Target * [J2]
For Each Target In Range(«диапазон3»)
Target.Value = Target * [J3]
End If
Application.EnableEvents = 1
End Sub
Одна беда — этот код не работает…
Цитата: Dimchiko от 06.08.2008, 18:44
Одна беда — этот код не работает…
Потому что Вы три раза открыли цикл (For Each) и ни разу не закрыли (Next) – это раз, а надо три обособленных цикла For Each-Next. И два: в качестве счётчика цикла надо использовать переменную(ые), а не Target!
К тому же Вы не дочитали предложенный топик, где тема развивается по схожему сценарию, что и ваш, и не поняли основную фишку (как, впрочем, и zhenian 
Private Sub Worksheet_Change(ByVal Target As Range)
Dim J As Byte: J = 255
If Selection.Count > 1 Then Exit Sub
Application.EnableEvents = 0
If SH_Its(Target, [C:C]) And Target <> "" Then
If SH_Its(Target, Range("диапазон1")) Then J = 1
If SH_Its(Target, Range("диапазон2")) Then J = 2
If SH_Its(Target, Range("диапазон3")) Then J = 3
Target.FormulaLocal = "=" & Target & "*(НЕ(J" & J & ")+J" & J & ")"
End If
Application.EnableEvents = 1
End Sub
Знания недостаточно, необходимо применение. Желания недостаточно, необходимо действие. (с) Брюс Ли
Пишет, что функция или процедура не определена….
и выскакивает (без подсвечивания) на SH_Its…

Цитата: Dimchiko от 07.08.2008, 10:54
Пишет, что функция или процедура не определена….
Помнил до последнего момента, чтобы не забыть прикрутить её к сообщению
Function SH_Its(Diap1 As Range, Diap2 As Range) As Boolean
If Not Intersect(Diap1, Diap2) Is Nothing Then SH_Its = 1 Else SH_Its = 0
End Function
PS: Просто бросьте где-нибудь в модуле листа ниже после всех процедур.
Знания недостаточно, необходимо применение. Желания недостаточно, необходимо действие. (с) Брюс Ли
Цитата: Dimchiko от 07.08.2008, 13:18
Как мне сделать так, чтобы таргет был формулой, если я в ячейку столбца C ввожу не число, а формулу?
Конечную формулу можно конструировать на своё усмотрение, просто указав через амперсанд текст (в кавычках) и переменные (без оных):
Target.FormulaLocal = Target.FormulaLocal & "*(НЕ(J" & J & ")+J" & J & ")"
PS: Target — это ячейка, свойствами которой одновременно являются: значение, формула, формула массива, примечание, формат и т.д.
Знания недостаточно, необходимо применение. Желания недостаточно, необходимо действие. (с) Брюс Ли
хм….
а есть ли возможность, чтобы ексель понимал, что я именно ввожу? в том смысле, что если я ввожу формулу, то без знака «=» не обойтись, а если я ввожу число, то этот знак уже не нужен/вреден….
Цитата: Dimchiko от 07.08.2008, 14:06
Есть ли возможность, чтобы ексель понимал, что я именно ввожу?
Есть: можно условием (If) проверять свойство ячейки HasFormula на True/False. Предпочту другой вариант: заменить двойное равно одинарным:
Target.FormulaLocal = Replace("=" & Target.FormulaLocal & "*(НЕ(J" & J & ")+J" & J & ")", "==", "=")
Знания недостаточно, необходимо применение. Желания недостаточно, необходимо действие. (с) Брюс Ли
- Профессиональные приемы работы в Microsoft Excel
-
►
Обмен опытом -
►
Microsoft Excel -
►
ввод одного числа в ячейку — вывод другого
ЕСЛИ (англ. вариант – IF) – логическая функция, является одной из самых важных и полезных в Excel, с ее помощью можно решить множество различных задач. Позволяет проверить соблюдение определенного условия и отобразить значение, основанное на результате этой проверки, то есть программа создает дерево решений, где при выполнении заданного условия происходит конкретное действие.
Первый аргумент – заданное условие (числовая или текстовая ячейка), благодаря которому принимается решение. Обязательно должно быть в виде вопроса, на который возможны только два варианта ответа (да или нет).
Второй аргумент – какой результат появится в ячейке (число или текст), когда значение отвечает указанному условию (да – ИСТИНА).
Третий аргумент – какой результат появится в ячейке (число или текст), когда значение не отвечает указанному условию (нет – ЛОЖЬ).
Важно! Чтобы программа могла выводить текстовый результат, слова в формуле следует брать в двойные кавычки.
В русифицированной версии Excel аргументы нужно писать через точку с запятой («;»), в англоязычной – через запятую.
Мнение эксперта
Витальева Анжела, консультант по работе с офисными программами
Со всеми вопросами обращайтесь ко мне!
Задать вопрос эксперту
При выполнении определенных задач в Excel иногда приходится иметь дело с несколькими таблицами, которые к тому же связаны между собой. Если же вам нужны дополнительные объяснения, обращайтесь ко мне!
-
На первом листе выделяем первую ячейку столбца «Ставка». Ставим в ней знак «=». Далее кликаем по ярлычку «Лист 2», который размещается в левой части интерфейса Excel над строкой состояния.
Эксель формула если ячейка содержит текст то –
- В выделенную ячейку вписать формулу =ЕСЛИ(B2>90;»Отлично»;ЕСЛИ(B2>75;»Хорошо»;»Удовлетворительно»)) и нажать на кнопку «Enter». Сначала оператор проверит условие B2>90. ИСТИНА – отобразится «отлично», а остальные критерии не обработаются. ЛОЖЬ – проверит следующее условие (B2>75). Если оно будет правдиво, то отобразится «хорошо», а ложно – «удовлетворительно».
Функция ДВССЫЛ возвращает ссылку, заданную текстовой строкой. Ссылки немедленно вычисляются для вывода их содержимого. Функция ДВССЫЛ используется, если требуется изменить ссылку на ячейку в формуле без изменения самой формулы.
Простое сложение в Excel
Складывать значения ячеек можно с помощью простой функции «СУММ», которая суммирует выбранные значения без определенного условия. Она используется, когда есть ячейки, массив или несколько массивов для сложения. В этом случае достаточно выделить нужные элементы электронной таблицы и применить функцию. Она играет роль обычного калькулятора со знаком «+».
Мнение эксперта
Витальева Анжела, консультант по работе с офисными программами
Со всеми вопросами обращайтесь ко мне!
Задать вопрос эксперту
Функция ИНДЕКС также может извлекать значение из разных выделенных областей, но в данной статье я не буду останавливаться на этой возможности. Если же вам нужны дополнительные объяснения, обращайтесь ко мне!
Теперь мы можем работать и сводить данные только по документам реализации исключая возвраты . При дополнении таблицы новыми данными, остается только протягивать строку с нашим выражением и обновлять сводную таблицу.
Связанные таблицы в Excel: подробная инструкция
- Диапазон – обязательный аргумент, представляющий собой массив, в котором происходит проверка заданного условия;
- Критерий – еще один обязательный аргумент, которое является условием для отбора значений в ячейках. При равенстве определенному числу, необходимо ввести его без кавычек, в других случаях необходимы кавычки: например, если значение больше числа 5, то его нужно прописать, как «>5» . Также работают текстовые значения: если нужно суммировать выручку продавца Иванова в таблице, то прописывается условие «Иванов» ;
- Диапазон суммирования – массив значений, которые нужно сложить.
Посмотрим, как на примере можно образовать связь путем прямого связывания. Имеем две таблицы на двух листах. На одной таблице производится расчет заработной платы с помощью формулы путем умножения ставки работников на единый для всех коэффициент.
Excel Если Ячейки Совпадают то Вставить Значение из Другой Ячейки
При работе с данными время от времени возникают ситуации, когда нам необходимо найти значение ячейки на пересечении определенных строки и столбца.
В данной статье я Вам расскажу о трёх способах осуществления этой задачи.
Данная функция позволяет извлечь значение из диапазона ячеек по номеру строки и столбца.
Массив – ссылка на диапазон ячеек, в котором нам нужно осуществить поиск;
Номер_строки – строка, из которой нужно извлечь значения;
Номер_столбца – столбец, из которого нужно извлечь значение.
Функция ИНДЕКС также может извлекать значение из разных выделенных областей, но в данной статье я не буду останавливаться на этой возможности.
Для автоматического поиска строки/столбца функцию ИНДЕКС, как правило, дополняют двумя функциями ПОИСКПОЗ (MATCH).
=ИНДЕКС($C$7:$F$9;ПОИСКПОЗ($I$5;$B$7:$B$9;0);ПОИСКПОЗ($I$6;$C$6:$F$6;0))
При смене параметров поиска, значение пересекающейся ячейки будет изменяться автоматически.
Очень интересная функция, которой можно найти много применений. Она перемножает соответствующие элементы заданных массивов и возвращает сумму произведений.
Для решения нашей задачи формула будет выглядеть так:
Простыми словами синтаксис функции можно представить так:
=СУММПРОИЗВ((условие_1)*(условие_2)*(что_суммировать))
Сумма умножений 0, 1 и значений таблицы извлечёт нам искомое значение.
Третий способ, который лично мне очень нравится своей простотой. Единственное условие для его работы – названия в столбцах и строках должны быть без пробелов (их можно удалить или заменить на нижнее подчеркивание «_»).
Функция ДВССЫЛ возвращает ссылку, заданную текстовой строкой. Ссылки немедленно вычисляются для вывода их содержимого. Функция ДВССЫЛ используется, если требуется изменить ссылку на ячейку в формуле без изменения самой формулы.
Если на первый взгляд функция выглядит простой и малополезной, то при дальнейшем её изучении Вы узнаете, что с её помощью мы можем перемещаться по листам, транспонировать таблицы, отбирать чётные (нечётные) строки и многое другое. Ведь для нее аргумент Ссылка_на_ячейку – всего лишь текстовая строка, которую можно изменять формулами.
Чтобы найти значение ячейки на пересечении определенных сроки и столбца нам понадобится сразу две функции ДВССЫЛ.
Для начала нам необходимо создать диапазоны для строк и столбцов.
Выделяем столбцы с заголовками и нажимаем комбинацию клавиш Ctrl+Shift+F3
Excel даёт нам возможность использовать несколько вариантов решения для одной задачи. Там, где невозможно применить один способ, практически всегда есть возможность подобрать другой. Настоятельно рекомендую Вам изучить функции, рассмотренные в данной статье и Ваша работа с данными, станет намного эффективнее.
Мнение эксперта
Витальева Анжела, консультант по работе с офисными программами
Со всеми вопросами обращайтесь ко мне!
Задать вопрос эксперту
В случае, если нас интересует полное совпадение текста с заданным условием, включая и регистр его символов, то оператор нам не сможет помочь. Если же вам нужны дополнительные объяснения, обращайтесь ко мне!
Кроме этого, помощь в поисках может оказать и сам редактор. Для этого достаточно кликнуть на предупредительный знак возле ячейки. Благодаря этому вы увидите подсказку и ссылку на онлайн справку по данной проблеме.
Excel – просто! Ищем значение на пересечении
Прямое связывание данных хорошо ещё тем, что позволяет не только выводить в одну из таблиц значения, которые отображаются в других табличных диапазонах, но и производить с ними различные математические операции (сложение, деление, вычитание, умножение и т.д.).























































