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). Более подробно можете прочитать в описании предыдущей функции.
Имейте ввиду, что критерием поиска совпадений может быть не только ссылка на одну ячейку, но и другие произвольные выражения, что фактически позволяет применять данную функцию при решении широкого спектра задач.
2) Кому и когда может пригодиться
- Пользователю. Для подсчета значений по определенным критериям в больших массивах информации, выгруженных из 1С и при невозможности в последней накладывать отборы на извлекаемые данные.
- Разработчику и тестировщику. Для тестирования разработок. Например для поиска дублей строк отчетов.