Две функции Excel, которые "спасут мир"
Excel несомненно обладает богатейшим инструментарием по обработке больших массивов информации. Много трудов написано по этой замечательной программе. Я же хочу остановиться на двух практически полезных функциях и их возможном применении при работе с 1С.
Несмотря на громкое название заголовка статьи (это всего лишь шутка), материал не претендует на оригинальность и открытие каких-то сокровенных тайн. Естественно, что эти две описываемые функции не являются панацеей. Но по опыту могу сказать, что они довольно часто выручают в различных ситуациях.
1. Функция ВПР (VLOOKUP). И ее разновидность - функция ГПР.
Данная функция позволяет "склеивать" по какому-либо ключевому (уникальному) полю две таблицы в одну. Например, можно склеить справочник физических лиц с их адресами по коду физического лица.
1) Как это работает
Представим, что есть две таблицы в Excel. Первая содержит поля: Код физлица, ФИО физлица, дата примема на работу. Вторая содержит поля: Код физлица, Адрес проживания. И в одной и в другой таблице есть уникальное поле "Код физлица". По нему и произведем сборку двух таблиц в одну. На скриншоте, представленном ниже в колонку "D" выведен результат работы функции. Цифрами обозначены составные части функции. Итак, в колонку "D" по ключевому полю (1) из области ячеек (2) Excel нам "подтянул" вторую колонку - по номеру (3) указанной области (2). При этом мы использовали точное совпадение ключевого поля (4).
Разберем пошагово работу функции.
Увидев в ячейке формулу ВПР Excel смотрит на ключевое поле текущей строки (1). Затем он ищет это ключевое поле в первой колонке в указанной области (2) - область поиска. Причем ищет по точному совпадению - это говорится в параметре (4) функции (ИСТИНА - поиск по вхождению значения ключевого поля в значение первой колонки области поиска, ЛОЖЬ - точное совпадение). После того, как находит - берет колонку, указанную в параметре (3) функции, т.е. вторую. Вот и все - ничего сложного, как видите.
Обратите внимание на указание области поиска - параметр (2) функции ВПР. Вы можете видеть там знаки доллара - это так назваемые абсолютные ссылки. Они означают, что при копировании формулы из ячейки в ячейку ссылка меняться не будет. В то время как ссылка на ключевое поле (1) будет меняться по мере копирования формулы в нижние строки. Что нам собственно и на руку, ведь ключевое поле мы уже должны будем взять из нижней строки, при этом область поиска остается прежней. Ссылку можно сделать абсолютной, выделив ее в строке формулы и нажав F4.
Функция ГПР является полным аналогом функции ВПР, с той лишь разницей, что поиск осуществляется не по вертикали, а по горизонтали.
2) Кому и когда может пригодиться
- Пользователю. В любую типовую конфигурацию 1С встроен универсальный отчет по справочникам, документам и регистрам. С помощью него можно выгрузить любую информацию по соответствующей таблице. И не нужно ждать отдел разработки, чтобы они сделали отчет, долго тестировали и еще дольше бились за выпуск в свет релиза с этим отчетом. Все бы хорошо, но как быть, когда нужно получить один отчет на базе двух и более таблиц - универсальный отчет может за один раз выгрузить информацию только по одной таблице?В развитие этой ситуации, предположим, что нам нужно получить адреса всех сотрудников, принятых на договор подряда за первое полугодие текущего года. Нет ничего проще. Выгружаем универсальным отчетом в Excel таблицу по документу "Договор на выполнение работ с физлицами", у которого есть реквизит "Физлицо" (используем нужные нам отборы по реквизитам документа, чтобы выгрузить только нужных сотрудников). Отдельной колонкой в этом отчете показываем код физлица. Адресная информация хранится в другой таблице - соответствующем регистре сведений. Выгружаем ее по всем физлицам. Здесь же отдельной колонкой также показываем код физлица. Теперь в Excel склеиваем эти две таблицы. Задача выполнена.
- Разработчику. Представим ситуацию, когда вам дали несколько таблиц, выгруженных из другой системы (например SAP) в Excel, и попросили прогрузить их в один справочник в 1С (все таблицы представляют собой реквизиты одного и того же справочника внутри 1С, но разных таблиц хранения в системе SAP). Обрабатывать поочередно каждый файл нудно, долго и неэффективно. И снова нам поможет ВПР. Собираем разрозненные таблицы воедино и загружаем за один заход.
- Тестировщику или пользователю, для проверки отчета или других данных. Допустим есть отчет, написанный разработчиками, соединяющий информацию из разных таблиц. Стоит задача проверить его. Также можно прибегнуть к этой функции, чтобы что-то с чем-то сравнить в отчете.
2. Функция СЧЁТЕСЛИ (COUNTIF).
Данная функция подсчитывает количество значений указанной области, удовлетворяющих определенным критериям. Так, например, можно искать дубли значений (есть ли задвоенные элементы справочника, не двоит ли строки отчет и т.д.).
1) Как это работает
Представим, что есть таблица в Excel, которая содержит список эелементов справочника физических лиц с колонками: Код физлица, ФИО физлица. Нужно прверить справочник на дублирующиеся элементы. Выведем напротив каждой строки количество совпадений кода физлица. На скриншоте, представленном ниже в колонку "C" выведен результат работы функции. Цифрами обозначены составные части функции. Итак, в колонке "C" в области (1) Excel подсчитал количество совпадений значения (2).
Разберем пошагово работу функции.
Увидев в ячейке формулу СЧЁТЕСЛИ Excel ищет в области, указанной в параметре (1) формулы, совпадения со значением, указанным в параметре (2). Количество найденных совпадений суммируется и результат выводится в ячейку с формулой. Далее можно наложить автофильтр на таблицу и отобрать строки, где количество совпадений больше 1 - это и будут задублированные элементы. Быстро и просто.
Также обратите внимание на абсолютную ссылку на область, указанную в параметр (1). Более подробно можете прочитать в описании предыдущей функции.
Имейте ввиду, что критерием поиска совпадений может быть не только ссылка на одну ячейку, но и другие произвольные выражения, что фактически позволяет применять данную функцию при решении широкого спектра задач.