К основному контенту

MS Excel и функция ВПР

Возвращаюсь к "любимому" всеми MS Office и конкретно к MS Excel. Наверняка все уже знают, что потенциал этой программы огромен, но никто не использует его даже на 20-30 процентов. Никто - это наверное очень громко сказано. Правильнее наверное будет: "единицы используют потенциал более, чем на 30%". По сути Excel - это та же база данных, но уж о-о-о-чень медленная. Для скорости, Microsoft придумали MS Access, но это тоже не промышленное решение на мой взгляд. Итак, хватит вступления, давайте сразу к практике.
В этой статье я бы хотел на примере рассказать о полезности функции ВПР. Пример не замысловатый и большинство с таким уже сталкивались.

Постановка

Условие: есть прайс-лист в MS Excel с колонками "Товар" и "Цена аз шт."
Задача: Создать выписку (чек) на покупку.

Задача тривиальная. Если прайс не большой, то можно все сделать руками, но это про для нас!

Идея

Создадим MS Excel файл с двумя листами: Чек и Прайс. В Чеке мы будем делать выписку, а в Прайс будут храниться данные по именованию товара и ценой за штуку.

Step-by-step

Шаг 1: Создаем Excel файл и заполняем вкладку Прайс какими ни будь тестовыми данными
Шаг 2: На вкладке Чек будет 4 столбца: Товар, Цена за шт, Кол-во, Итого. Товар - в столбце будет возможность выбирать из списка товаров с вкладки Прайс. Цена за шт - это цена за единицу товара, которая описана во вкладке Прайс. Кол-во - количество покупаемого товара. Итого - итоговая цена за указанное количество.
Шаг 3: Столбец Товар. Сделаем его ячейки выпадающим списком. Для этого выделим столбец и далее вкладка Данные -> Проверка данных -> Проверка данных
Шаг 4: В качестве типа данных указываем Список, а в качестве источника выбираем вкладку Прайс и выделяем записи наименований товара(или весь столбец целиком - кому как нравится).

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

  1. Искомое значение - наименование товара, которое нужно найти в нашем прайсе
  2. Таблица - указать область таблицы, в которой будет производиться поиск и выборка нужных данных
  3. Номер столбца - номер столбца, чье значение должно быть возвращено, т.е. номер столбца цены
  4. Интервал просмотра - Логическое значение. Принимает 0 или 1. 0 - значит ищем точное значение(то, что нам и нужно), 1 - ищем приближенные значения

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

Шаг 6: Будем рассчитывать Итого в зависимости от количества. Здесь совсем просто - обычная формула умножения цены за единицу на количество

Заключение

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

Комментарии

Популярные сообщения из этого блога

Прямые ссылки на файлы Google диска

В предыдущей статье я рассказал, как подключить свой JavaScript файл к блогу BLOGSPOT . Но для того, что бы их подключить нужны прямые ссылки на файл, а Google диск при предоставлении общего доступа к файлу выдает ссылку на предварительный просмотр, которая никак напрямую не ссылается на файл. Для Google диска прямая ссылка на файл - это ссылка на скачивание. Ниже описаны два способа создания ссылки на скачивание на примере файла prism.js.

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

Как и всегда, в пылу проекта внезапно родилась Z табличка. Главный нюанс был в том, что она должна была хранить пароли для авторизации на стороннем сервере. Естественно, никто не хотел хранить пароли в открытом виде, а двустороннее шифрование SAP не умеет без сторонних пакетов и надстроек. Далее, все как обычно - придумали алгоритм, сделали табличку. Дело осталось за малым - нужно шифровать пароли, которые вводит пользователь. Делать отдельную программу нет смысла, поскольку ее функционал мало чем будет отличаться от сгенерированного. Вот здесь на помощь приходят события! С их помощью можно, наверное, все. По крайней мере, я не нашел чего-либо, что нельзя сделать с данными через события.

OOP ALV GRID с HTML шапкой

В этой статье хочу постараться подробно описать и привести пример, как можно создать ALV отчет с таблицей на весь экран и с HTML шапкой вверху. Я не буду описывать начальный этап, где пишется селекционный экран или делается выборка данных. Будем считать, что основа у нас есть и нам нужно просто вывести данные. Главной изюминкой является то, что нужно вывести ALV GRID на экран без использования каких-либо дополнительных элементов на экране. Step-By-Step Шаг 1. Создание окна Создаем самое простое окно с номером 100. На него не нужно кидать никаких контейнеров. Оно нам нужно только для модулей PAI и PBO и вывода на него ALV GRID.