Как объединить функции в excel

Обновлено: 07.07.2024

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). Более подробно можете прочитать в описании предыдущей функции.

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

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

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

склеивание (сцепка) текста по условию

Другими словами, нам нужен инструмент, который будет склеивать (сцеплять) текст по условию - аналог функции СУММЕСЛИ (SUMIF) , но для текста.

Способ 0. Формулой

Не очень изящный, зато самый простой способ. Можно написать несложную формулу, которая будет проверять отличается ли компания в очередной строке от предыдущей. Если не отличается, то приклеиваем через запятую очередной адрес. Если отличается, то "сбрасываем" накопленное, начиная заново:

Сцепка текста по условию формулой

Минусы такого подхода очевидны: из всех ячеек полученного дополнительного столбца нам нужны только последние по каждой компании (желтые). Если список большой, то чтобы их быстро отобрать придется добавить еще один столбец, использующий функцию ДЛСТР (LEN) , проверяющий длину накопленных строк:

Отбор строк

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

Способ 1. Макрофункция склейки по одному условию

Если исходный список не отсортирован по компаниям, то приведенная выше простая формула не работает, но можно легко выкрутиться с помощью небольшой пользовательской функции на VBA. Откройте редактор Visual Basic нажатием на сочетание клавиш Alt+F11 или с помощью кнопки Visual Basic на вкладке Разработчик (Developer) . В открывшемся окне вставьте новый пустой модуль через меню Insert - Module и скопируйте туда текст нашей функции:

Если теперь вернуться в Microsoft Excel, то в списке функций (кнопка fx в строке формул или вкладка Формулы - Вставить функцию) можно будет найти нашу функцию MergeIf в категории Определенные пользователем (User Defined) . Аргументы у функции следующие:

функция сцепить если выполняется условие

Способ 2. Сцепить текст по неточному условию

Если заменить в 13-й строчке нашего макроса первый знак = на оператор приблизительного совпадения Like, то можно будет осуществлять склейку по неточному совпадению исходных данных с критерием отбора. Например, если название компании может быть записано в разных вариантах, то мы можем одной функцией проверить и собрать их все:

склейка по приблизительному условию

Поддерживаются стандартные спецсимволы подстановки:

По умолчанию оператор Like регистрочувствительный, т.е. понимает, например, "Орион" и "оРиОн" как разные компании. Чтобы не учитывать регистр можно добавить в самое начало модуля в редакторе Visual Basic строчку Option Compare Text, которая переключит Like в режим, когда он невосприимчив к регистру.

Таким образом можно составлять весьма сложные маски для проверки условий, например:

Способ 3. Макрофункция склейки текста по двум условиям

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

Применяться она будет совершенно аналогично - только аргументов теперь нужно указывать больше:

склейка по нескольким условиям

Способ 4. Группировка и склейка в Power Query

Решить проблему можно и без программирования на VBA, если использовать бесплатную надстройку Power Query. Для Excel 2010-2013 ее можно скачать здесь, а в Excel 2016 она уже встроена по умолчанию. Последовательность действий будет следующей:

Power Query не умеет работать с обычными таблицами, поэтому первым шагом превратим нашу таблицу в "умную". Для этого ее нужно выделить и нажать сочетание Ctrl + T или выбрать на вкладке Главная - Форматировать как таблицу (Home - Format as Table) . На появившейся затем вкладке Конструктор (Design) можно задать имя таблицы (я оставил стандартное Таблица1):

Умная таблица

Теперь загрузим нашу таблицу в надстройку Power Query. Для этого на вкладке Данные (если у вас Excel 2016) или на вкладке Power Query (если у вас Excel 2010-2013) жмем Из таблицы (Data - From Table) :

Загрузка в Power Query

В открывшемся окне редактора запросов выделяем щелчком по заголовку столбец Компания и сверху жмем кнопку Группировать (Group By) . Вводим имя нового столбца и тип операции в группировке - Все строки (All Rows) :

Группировка в Power Query

Жмем ОК и получаем для каждой компании мини-таблицу сгруппированных значений. Содержимое таблиц хорошо видно, если щелкать левой кнопкой мыши в белый фон ячеек (не в текст!) в получившемся столбце:

Содержимое таблиц группировки

Теперь добавим еще один столбец, где с помощью функции склеим через запятую содержимое столбцов Адрес в каждой из мини-таблиц. Для этого на вкладке Добавить столбец жмем Пользовательский столбец (Add column - Custom column) и в появившемся окне вводим имя нового столбца и формулу сцепки на встроенном в Power Query языке М:

Пользовательский столбец с функцией склейки

Обратите внимание, что все М-функции регистрочувствительные (в отличие от Excel). После нажатия на ОК получаем новый столбец со склееными адресами:

Результат

Осталось удалить ненужный уже столбец ТаблАдресов (правой кнопкой мыши по заголовку - Удалить столбец) и выгрузить результаты на лист, нажав на вкладке Главная - Закрыть и загрузить (Home - Close and load) :

Выгрузка результатов на лист

Важный нюанс : в отличие от предыдущих способов (функций), таблицы из Power Query не обновляются автоматически. Если в будущем произойдут какие-либо изменения в исходных данных, то нужно будет щелкнуть правой кнопкой в любое место таблицы результатов и выбрать команду Обновить (Refresh) .

Объединение ячеек – известная команда в Excel. Однако на выполнение этой операции часто уходит много времени. В данной статье рассмотрим, что подразумевают под объединением ячеек, и как быстро выполнить эту операцию. Выбрав оптимальный варианты, вы сэкономите много времени.

Формат ячеек

Команда Excel Правая кнопка мыши → Формат ячеек → Выравнивание → Отображение → объединение ячеек удаляет границы между ячейками в выделенном диапазоне. В результате получается одна большая ячейка. На картинке показано объединение ячеек одной строки и трех столбцов.

Объединение ячеек Excel

Таким же способом можно объединить любой прямоугольной диапазон. После объединения ячеек содержимое часто центрируют. На ленте во вкладке Главная даже есть специальная команда Объединить и поместить в центре.

Команда объединить и поместить в центре

Начинающие пользователи Excel часто применяют эту команду для размещения названия таблицы по центру.

Надпись в центре объединенной ячейки

Выглядит красиво, но крайне непрактично. Если выделить столбец комбинацией клавиш Ctrl + пробел, то диапазон расширится на все столбцы, которые захватывает объединенная ячейка. Возникнут и другие проблемы: при копировании, не работает в таблице Excel, нельзя автоматически подогнать ширину столбца и др. В общем, объединение ячеек сулит много неудобств в дальнейшей работе. Поэтому в большинстве случаев объединение ячеек лучше не применять.

Как найти объединенные ячейки в Excel

Бывает, что в файле уже есть объединенные ячейки и они мешают нормальной работе. Например, в отчете из 1С или при работе с чужим файлом Excel. Тогда их нужно как-то быстро найти и отменить объединение. Как это быстро сделать? Выполните следующие шаги.

Как убрать объединение ячеек в Excel

Для отмены объединения сразу на всем листе Excel выполните следующие действия.

  1. Выделите все ячейки на листе. Можно щелкнуть на треугольнике, расположенном на пересечении заголовков строк и столбцов, либо горячей комбинацией Ctrl + A (один или два раза).
  2. Повторно примените команду Главная (вкладка) → Выравнивание (группа) → Объединить и поместить в центре.

Все объединенные ячейки снова станут нормальными. Если что-то пойдет не так, отмените последнее действие.

Горячие клавиши объединения ячеек в Excel

К сожалению, в Excel нет стандартных горячих клавиш для объединения ячеек. Тем не менее, у каждой команды есть свой клавиатурный эквивалент и его можно узнать. Для этого следует нажать клавишу Alt, на ленте под каждой вкладкой появится буква, нажав на которую, вы переходите внутрь этой вкладки.

Буквы под командами после нажатия Alt

Затем буквы появятся под каждой командой или выпадающим списком команд. Таким образом можно определить последовательность клавиш вызова нужной команды. Для объединения и центрирования ячеек в моей версии Excel необходимо последовательно нажать Alt – Я – Щ – Б. Это был первый способ.

Второй способ. Любым способом объединить ячейки и повторно вызвать команду клавишей F4 (повтор последнего действия).

Третий способ. Вначале поместите кнопку объединения ячеек на панель быстрого доступа. Для этого нажмите на треугольник справа от всех команд и там выберите Другие команды.

Настройка панели быстрого доступа Excel

Вы попадаете в настройки панели быстрого доступа. Найдите команду Объединить и поместить в центре и добавьте ее в правое окно.

Перенос кнопки на панель быстрого доступа

Кнопка появится на панели быстрого доступа.

Объединение ячеек на панели быстрого доступа

После нажатия Alt под этой кнопкой появится цифра, зависящая от порядкового номера в ряду.

Цифра под командой на панели быстрого доступа

Теперь есть еще одна горячая клавиша объединить ячейки в Excel – Alt + 5.

Выравнивание по центру (без объединения ячеек)

Для расположения надписи в середине строки воспользуйтесь командой выравнивание по центру.

  1. Поместите надпись в левую ячейку строки, где должно произойти выравнивание.
  2. Выделите вправо нужное количество ячеек.
  3. Вызываете команду Правая кнопка мыши → Формат ячеек → Выравнивание → по горизонтали → по центру выделения.

Внешне результат такой же, как при объединении, только все ячейки останутся на своем месте. Есть пару нюансов.

  1. Не всегда понятно, в какой ячейке находится запись.
  2. Выравнивать по центру можно только по горизонтали, по вертикали нельзя.

В большинстве случаев вместо объединения ячеек лучше применять выравнивание по центру.

Формат ячеек влияет только на отображение данных. На деле часто приходится соединять содержимое из разных ячеек. Далее рассмотрим, как в Excel объединить данные из нескольких ячеек в одну.

Объединение ячеек с помощью & (амперсанд) и функции Excel СЦЕПИТЬ (CONCATENATE)

Объединение содержимого ячеек – очень распространенная задача. Выбор решения зависит от типа данных и их количества.
Если нужно сцепить несколько ячеек, то подойдет оператор & (амперсанд).

& (амперсанд) для сцепки ячеек Excel

Обратите внимание, между ячейками добавлен разделитель в виде запятой с пробелом, то есть к объединению ячеек можно добавить произвольный текст. Полной аналогией & является применение функции СЦЕПИТЬ.

Функция СЦЕПИТЬ для объединения ячеек

В рассмотренных примерах были только ячейки с текстом. Может потребоваться соединять числа, даты или результаты расчетов. Если ничего специально не делать, то результат может отличаться от ожидания. Например, требуется объединить текст и число, округленное до 1 знака после запятой. Используем пока функцию СЦЕПИТЬ.

Функция СЦЕПИТЬ для текста

Число присоединилось полностью, как хранится в памяти программы. Чтобы задать нужный формат числу или дате после объединения, необходимо добавить функцию ТЕКСТ.

Правильное соединение текста и числа.

Объединение текста и числа в Excel функцией СЦЕПИТЬ

Соединение текста и даты.

Объединение текста и даты в Excel функцией СЦЕПИТЬ

В общем, если вы искали, как объединить столбцы в Excel, то эти приемы работают отлично. Однако у & и функции СЦЕПИТЬ есть существенный недостаток. Все части текста нужно указывать отдельным аргументом. Поэтому соединение большого числа ячеек становится проблемой.

Функция Excel СЦЕП (CONCAT)

В Excel 2016 на смену функции СЦЕПИТЬ пришла функция СЦЕП. Она работает так же, только в качестве аргумента можно задать целый диапазон.

Функция СЦЕП Excel

Все хорошо, но без пробелов. Если требуется соединить с разделителем, СЦЕП не сильно поможет. Поможет другая новая функция для объединения ячеек.

Функция Excel ОБЪЕДИНИТЬ (TEXTJOIN)

Функция ОБЪЕДИНИТЬ также появилась в Excel 2016 и решила сразу все проблемы склеивания ячеек: указание целого диапазона, вставка разделителя и даже пропуск пустых ячеек в диапазоне, чтобы не дублировать разделитель.

разделитель – разделитель, который вставляется между ячейками

пропускать_пустые – если 0, то пустые ячейки включаются, если 1 – игнорируются. Обычно задают 1, чтобы не дублировать разделитель.

текст1;… – ссылка на диапазон или отдельные ячейки для сцепления.

Функция ОБЪЕДИНИТЬ Excel

Функция Excel ОБЪЕДИНИТЬ – лучшее решение для склеивания ячеек.

Заполнить – Выровнять

И еще один трюк. Объединить ячейки можно без формул. Исходные ячейки должны быть в одном столбце.

Столбец с текстом для сцепления

Выполните следующие действия.

  1. Выделите столбец с данными.
  2. Расширьте выделение вправо настолько, сколько предположительно должен занять объединенный текст или больше.
  3. Вызовите команду Главная (вкладка) -> Редактирование (группа) -> Заполнить -> Выровнять.

Текст будет помещен в одну ячейку через пробел.

Выравнивание столбца с текстом по горизонтали

  • Если в ячейках есть числа, даты или формулы, фокус не получится. Работает только с текстом.
  • Общая длина текста не должна превышать 255 символов. Лишнее будет перенесено на вторую строку автоматически (см. ролик ниже).

Подведем итоги, как объединить ячейки, строки и столбцы в таблице Эксель. С помощью форматирования можно просто удалить границы между ячейками. Это плохое решение. Лучше воспользоваться выравниванием по центру. Объединение ячеек в Excel без потери данных производится специальными функциями.

Читайте также: