Polytech-soft.com

ПК журнал
8 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Формула подстановки значений в excel

Использование ВПР в Экселе для подстановки значения

Добрый день уважаемый читатель!

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

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

Поскольку данные в таблицах размещены вертикально, нам нужно использовать функцию ВПР, для горизонтальных данных существует функция ГПР, но она менее популярна. Основная суть работы функции, это поиск в прайсе по названию товара и подстановка его цены в заказ. Получиться таблица такого вида: Для простоты использования данных в формуле, возможно, использовать присвоенное диапазону значений имя, но это уже на ваше усмотрение. Для назначения имени диапазона нужно выделить диапазон «G2:H8», исключив «шапку» таблицы, а потом, нажав горячую комбинацию клавиш CTRL+F3, в появившемся диалоговом окне «Диспетчер имён» создайте вашему диапазону новое имя, например «Прайс». Теперь приступим к использованию функции ВПР в Экселе для подстановки значения. Устанавливаем курсор на ячейку «C2» и с помощью мастера функций, в категории «Ссылки и массивы» выбираем нужную функцию. Появится диалоговое окно «Аргументы функции»: Теперь введем необходимые аргументы:

  • Искомое значение – указываем или наименование необходимого товара, или ссылку на ячейку, где содержится искомый аргумент;
  • – указываете таблицу, с которой будут изыматься необходимые данные, в нашем случае это таблица с прайсом, возможно вместо диапазона указать его название «Прайс»;
  • Номер столбика – указываем, каким порядковым номером будет столбик, из которого необходимого достать данные с указанием цены товара. Номер столбика указывается только цифрами, а поскольку цены хранятся во втором столбике, так и указываем;
  • Интервальный просмотр – этот аргумент может иметь только два параметра: ИСТИНА или ЛОЖЬ. Первый режим при значении ЛОЖЬ производит поиск исключительно точного соответствия значений, а в случае когда функция не найдёт нужного значения, то вернётся ошибка #Н/Д. При втором режиме, когда значение ИСТИНА, формула ищет приблизительное соответствие необходимого значения.

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

Избавление от полученной ошибки #Н/Д

При использовании функции ВПР, часто, при некоторых условиях, возможен вариант, возвращения ошибки #Н/Д. Рассмотрим подробнее, почему такие ошибки возникают и как их исправить:

  1. Возникает ошибка при указании аргумента «Интервальный просмотр» как ИСТИНА или 0, что требует наличия точного вхождения значения, а его то, как раз и нет. Для устранения этой проблемы, измените условия отбора;
  2. Если указан аргумент «Интервальный просмотр» как ЛОЖЬ или 1, но таблица, в которой производится поиск, не отсортирована по возрастанию наименований, то ошибка будет неизбежна. Лекарство, как и в первом варианте;
  3. В случаях, когда в наличии разные форматы ячеек, тех, откуда берется необходимое значение и тех где прописан аргумент поиска, например, текстовый и числовой форматы. Частенько эта ошибка возникает, когда нужно использовать числовые коды вместо текстовых значений, это номера счетов, номенклатурные номера и прочее. Для решения этой проблемы можно преобразовывать форматы данных с помощью функций ТЕКСТ и Ч. Результатом будет такая формула: =ВПР(ТЕКСТ(B2;);$G$2:$H$8;2;ЛОЖЬ);
  4. Также в случае наличия невидимых непечатаемых знаков или лишних пробелов могут возникнуть ошибки результатов. Для исправления, в этом случае, нужно задействовать функции ПЕЧСИМВ и СЖПРОБЕЛЫ, чтобы убрать излишек ненужной пунктуации. Формула приобретёт следующий вид: =ВПР(СЖПРОБЕЛЫ(ПЕЧСИМВ(B2));$G$2:$H$8;2;ЛОЖЬ).

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

Читать еще:  Функция объединить в excel

=ЕСЛИОШИБКА(ВПР(B7;$G$2:$H$8;2;ЛОЖЬ);»»).

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

Не забудьте подкинуть автору на кофе…

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

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

Обратите внимание для пользователей Office 2003 Чтобы продолжить получать обновления для системы безопасности для Office, убедитесь, что вы используете Office 2003 с пакетом обновления 3 (SP3). Поддержка Office 2003 заканчивается 8 апреля 2014 г. Если вы используете версию Office 2003 после окончание поддержки, для получения важных обновлений для Office, необходимо выполнить обновление до более поздней версии, например Office 365 или Office 2013. Дополнительные сведения читайте в статье прекращение поддержки Office 2003.

В выпусках Excel 2007 и Excel 2003 мастер подстановок создает формулы подстановки на основе данных листа с подписями строк и столбцов. Мастер подстановок позволяет находить остальные значения в строке, если известно значение в одном столбце, и наоборот. В формулах, создаваемых мастером подстановок, используются функции ИНДЕКС и ПОИСКПОЗ.

Мастер больше не учитываются в Excel 2010. Он был заменен мастером функций и доступны функции ссылки и поиска (Справка).

Использование мастера подстановок в Excel 2007

Щелкните ячейку в диапазоне.

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

Нажмите кнопку Microsoft Office , выберите пункт Параметры Excelи выберите категорию надстройки .

В поле Управление выберите значение Надстройки Excel и нажмите кнопку Перейти.

В области Доступные надстройки установите флажок рядом с пунктом Мастер подстановок и нажмите кнопку ОК.

Следуйте указаниям мастера.

К началу страницы

Использование мастера подстановок в Excel 2003

В меню Сервис выберите пункт Надстройки, щелкните поле Мастер подстановок, а затем нажмите кнопку ОК.

Щелкните ячейку в диапазоне.

В меню Сервис выберите пункт Подстановка.

Следуйте инструкциям мастера.

Что произошло с мастером подстановок в Excel 2010?

Мастер больше не учитываются в Excel 2010. Эта функция был заменен мастером функций и доступны функции ссылки и поиска (Справка).

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

Поиск и подстановка по нескольким условиям

Постановка задачи

Если вы продвинутый пользователь Microsoft Excel, то должны быть знакомы с функцией поиска и подстановки ВПР или VLOOKUP (если еще нет, то сначала почитайте эту статью, чтобы им стать). Для тех, кто понимает, рекламировать ее не нужно 🙂 — без нее не обходится ни один сложный расчет в Excel. Есть, однако, одна проблема: эта функция умеет искать данные только по совпадению одного параметра. А если у нас их несколько?

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

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

Способ 1. Дополнительный столбец с ключом поиска

Это самый очевидный и простой (хотя и не самый удобный) способ. Поскольку штатная функция ВПР (VLOOKUP) умеет искать только по одному столбцу, а не по нескольким, то нам нужно из нескольких сделать один!

Добавим рядом с нашей таблицей еще один столбец, где склеим название товара и месяц в единое целое с помощью оператора сцепки (&), чтобы получить уникальный столбец-ключ для поиска:

Читать еще:  Как сделать дату в excel автоматически

Теперь можно использовать знакомую функцию ВПР (VLOOKUP) для поиска склеенной пары НектаринЯнварь из ячеек H3 и J3 в созданном ключевом столбце:

Плюсы : Простой способ, знакомая функция, работает с любыми данными.

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

Способ 2. Функция СУММЕСЛИМН

Если нужно найти именно число (в нашем случае цена как раз число), то вместо ВПР можно использовать функцию СУММЕСЛИМН (SUMIFS) , появившуюся начиная с Excel 2007. По идее, эта функция выбирает и суммирует числовые значения по нескольким (до 127!) условиям. Но если в нашем списке нет повторяющихся товаров внутри одного месяца, то она просто выведет значение цены для заданного товара и месяца:

Плюсы : Не нужен дополнительный столбец, решение легко масштабируется на большее количество условий (до 127), быстро считает.

Минусы : Работает только с числовыми данными на выходе, не применима для поиска текста, не работает в старых версиях Excel (2003 и ранее).

Способ 3. Формула массива

О том, как спользовать связку функций ИНДЕКС (INDEX) и ПОИСКПОЗ (MATCH) в качестве более мощной альтернативы ВПР я уже подробно описывал (с видео). В нашем же случае, можно применить их для поиска по нескольким столбцам в виде формулы массива. Для этого:

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

  • Нажмите в конце не Enter, а сочетание Ctrl+Shift+Enter, чтобы ввести формулу не как обычную, а как формулу массива.
  • Как это на самом деле работает:

    Функция ИНДЕКС выдает из диапазона цен C2:C161 содержимое N-ой ячейки по порядку. При этом порядковый номер нужной ячейки нам находит функция ПОИСКПОЗ. Она ищет связку названия товара и месяца (НектаринЯнварь) по очереди во всех ячейках склеенного из двух столбцов диапазона A2:A161&B2:B161 и выдает порядковый номер ячейки, где нашла точное совпадение. По сути, это первый способ, но ключевой столбец создается виртуально прямо внутри формулы, а не в ячейках листа.

    Плюсы : Не нужен отдельный столбец, работает и с числами и с текстом.

    Минусы : Ощутимо тормозит на больших таблицах (как и все формулы массива, впрочем), особенно если указывать диапазоны «с запасом» или сразу целые столбцы (т.е. вместо A2:A161 вводить A:A и т.д.) Многим непривычны формулы массива в принципе (тогда вам сюда).

    Примеры функции ПОДСТАВИТЬ для замены текста в ячейке Excel

    Функция ПОДСТАВИТЬ в Excel выполняет динамическую замену определенной части строки на указанное новое значение и возвращает новую строку, содержащую замененную часть текста. Благодаря этой функции можно подставлять значения из другой ячейки. Рассмотрим возможности функции на конкретных примерах в Excel.

    Функция ПОДСТАВИТЬ при условии подставляет значение

    Пример 1. В результате расчетов, произведенных в некотором приложении, были получены некоторые значения, записанные в таблицу Excel. Некоторые величины рассчитать не удалось, и вместо числового представления была сгенерирована ошибка “NaN”. Необходимо заменить все значения “NaN” на число 0 в соответствующих строках.

    Для замены и подстановки используем рассматриваемую формулу в качестве массива. Вначале выделим диапазон ячеек C2:C9, затем введем формулу через комбинацию Ctrl+Shift+Enter:

    Функция ЧЗНАЧ выполняет преобразование полученных текстовых строк к числовым значениям. Описание аргументов функции ПОДСТАВИТЬ:

    • B2:B9 – диапазон ячеек, в которых требуется выполнить замену части строки;
    • “NaN” – фрагмент текста, который будет заменен;
    • 0 – фрагмент, который будет вставлен на место заменяемого фрагмента.

    Для подстановки значений во всех ячейках необходимо нажать Ctrl+Shift+Enter, чтобы функция была выполнена в массиве. Результат вычислений:

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

    Автозамена значения в текстовых ячейках с помощью функции ПОДСТАВИТЬ

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

    Для выполнения заданного условия используем формулу:

    Читать еще:  Как в excel пометить дубликаты

    Примечание: в данном примере ПОДСТАВИТЬ также используется в массиве Ctrl+Shift+Enter.

    В результате получим:

    Формула с макросом регулярного выражения и функция ПОДСТАВИТЬ

    Пример 3. При составлении таблицы из предыдущего примера была допущена ошибка: все номера домов на улице Никольская должны быть записаны как «№№-Н», где №№ — номер дома. Как быстро исправить ошибку?

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

    1. Открыть редактор макросов (Ctrl+F11).
    2. Вставить исходный код функции (приведен ниже).
    3. Выполнить данный макрос и закрыть редактор кода.

    Public Function RegExpExtract(Text As String , Pattern As String , Optional Item As Integer = 1) As String
    On Error GoTo ErrHandl
    Set regex = CreateObject( «VBScript.RegExp» )
    regex.Pattern = Pattern
    regex. Global = True
    If regex.Test(Text) Then
    Set matches = regex.Execute(Text)
    RegExpExtract = matches.Item(Item — 1)
    Exit Function
    End If
    ErrHandl:
    RegExpExtract = CVErr(xlErrValue)
    End Function

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

    Регулярные выражения могут быть различными. Например, для выделения любого символа из текстовой строки в качестве второго аргумента необходимо передать значение «w», а цифры – «d».

    Для решения задачи данного Примера 3 используем следующую запись:

    1. Функция ЕСЛИОШИБКА используется для возврата исходной строки текста (B2), поскольку результатом выполнения функции RegExpExtract(B2;»Никольская») будет код ошибки #ЗНАЧ!, если ей не удалось найти хотя бы одно вхождение подстроки «Никольская» в строке B2.
    2. Если результат выполнения сравнения значений RegExpExtract(B2;»Никольская»)=»Никольская» является ИСТИНА, будет выполнена функция ПОДСТАВИТЬ(B2;RegExpExtract(B2;»d+»);RegExpExtract(B2;»d+»)&»-Н»), где:
    • a. B2 – исходный текст, содержащий полный адрес;
    • b. RegExpExtract(B2;»d+») – формула, выделяющая номер дома из строки с полным адресом;
    • c. RegExpExtract(B2;»d+»)&»-Н» – новый номер, содержащий исходное значение и символы «-Н».

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

    Особенности использования функции ПОДСТАВИТЬ в Excel

    Функция ПОДСТАВИТЬ имеет следующую синтаксическую запись:

    • текст – обязательный аргумент, характеризующий текстовую строку, в которой необходимо выполнить замену части текста. Может быть задан как текстовая строка («некоторый текст») или ссылка на ячейку, которая содержит текстовые данные.
    • стар_текст – часть текстовой строки, принимаемой в качестве первого аргумента данной функции, которую требуется заменить. Аргумент обязателен для заполнения.
    • нов_текст – обязательный для заполнения аргумент, содержащий текстовые данные, которые будут вставлены на место заменяемой части строки.
    • [номер_вхождения] – числовое значение, характеризующее номер вхождения старого текста, который требуется заменить на фрагмент нового текста. Возможные варианты записи:
    1. Аргумент явно не указан. Функция ПОДСТАВИТЬ определит все части текстовой строки, соответствующие фрагменту текста стар_текст, и выполнит их замену на нов_текст;
    2. В качестве аргумента передано числовое значение. Функция ПОДСТАВИТЬ заменит только указанное вхождение. Отсчет начинается слева направо, число 1 соответствует первому вхождению. Например, функция =ПОДСТАВИТЬ(«текст №1, №2, №3»;«текст»;«новый»;1) вернет значение «новый_текст №1, №2, №3».

    Примечания:

    1. Аргумент [номер_вхождения] должен быть задан из диапазон целых положительных чисел от 1 до n, где n определяется максимально допустимой длиной строки, содержащейся в объекте данных (например, в ячейке).
    2. Если в текстовой строке, представленной в качестве аргумента текст не содержится фрагмент, переданный в качестве аргумента стар_текст, функция ПОДСТАВИТЬ вернет строку текст без изменений.
    3. Если число вхождений заменяемого фрагмента в обрабатываемой строке меньше, чем числовое значение, переданное в качестве аргумент [номер_вхождения], функция ПОДСТАВИТЬ вернет текстовую строку в исходном виде. Например, аргументы функции («а 1 а 2 а 3»;«а»;«б»;4) вернут строку «а 1 а 2 а 3».
    4. Рассматриваемая функция чувствительная к регистру, то есть строки «Слово» и «слово» не являются тождественными.
    5. Для решения аналогичных задач по замене части символов текстовой строки можно использовать функцию ЗАМЕНИТЬ. Однако, в отличие от функции ПОДСТАВИТЬ, для ее использования необходимо явно указывать позицию начального символа для замены, а также количество символов, которые необходимо заменить. Функция автоматически выполняет поиск указанной части строки и производит ее замену, поэтому в большинстве случаев предлагает более удобный функционал для работы с текстовыми строками.
    Ссылка на основную публикацию
    Adblock
    detector