Red4u.ru

SEO Сервисы и программы
1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как объединить условия в excel

Склеивание текста по условию

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

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

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

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

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

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

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

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

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

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

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

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

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

  • звездочка (*) — обозначает любое количество любых символов (в т.ч. и их отсутствие)
  • вопросительный знак (?) — обозначает один любой символ
  • решетка (#) — обозначает одну любую цифру (0-9)

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

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

  • ?1##??777RUS — выборка по всем автомобильным номерам 777 региона, начинающимся с 1
  • ООО* — все компании, название которых начинается на ООО
  • ##7## — все товары с пятизначным цифровым кодом, где третья цифра 7
  • . — все названия из пяти букв и т.д.

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

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

Читайте так же:
Функция день недели в excel

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

Способ 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) :

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

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

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

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

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

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

Функция ЕСЛИ в Excel с примерами нескольких условий

Логический оператор ЕСЛИ в Excel применяется для записи определенных условий. Сопоставляются числа и/или текст, функции, формулы и т.д. Когда значения отвечают заданным параметрам, то появляется одна запись. Не отвечают – другая.

Логические функции – это очень простой и эффективный инструмент, который часто применяется в практике. Рассмотрим подробно на примерах.

Синтаксис функции ЕСЛИ с одним условием

Синтаксис оператора в Excel – строение функции, необходимые для ее работы данные.

Разберем синтаксис функции:

Логическое_выражение – ЧТО оператор проверяет (текстовые либо числовые данные ячейки).

Значение_если_истина – ЧТО появится в ячейке, когда текст или число отвечают заданному условию (правдивы).

Значение,если_ложь – ЧТО появится в графе, когда текст или число НЕ отвечают заданному условию (лживы).

Оператор проверяет ячейку А1 и сравнивает ее с 20. Это «логическое_выражение». Когда содержимое графы больше 20, появляется истинная надпись «больше 20». Нет – «меньше или равно 20».

Внимание! Слова в формуле необходимо брать в кавычки. Чтобы Excel понял, что нужно выводить текстовые значения.

Еще один пример. Чтобы получить допуск к экзамену, студенты группы должны успешно сдать зачет. Результаты занесем в таблицу с графами: список студентов, зачет, экзамен.

Читайте так же:
Vba excel открыть файл excel

Обратите внимание: оператор ЕСЛИ должен проверить не цифровой тип данных, а текстовый. Поэтому мы прописали в формуле В2= «зач.». В кавычки берем, чтобы программа правильно распознала текст.

Функция ЕСЛИ в Excel с несколькими условиями

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

Синтаксис будет выглядеть следующим образом:

Здесь оператор проверяет два параметра. Если первое условие истинно, то формула возвращает первый аргумент – истину. Ложно – оператор проверяет второе условие.

Примеры несколько условий функции ЕСЛИ в Excel:

Таблица для анализа успеваемости. Ученик получил 5 баллов – «отлично». 4 – «хорошо». 3 – «удовлетворительно». Оператор ЕСЛИ проверяет 2 условия: равенство значения в ячейке 5 и 4.

В этом примере мы добавили третье условие, подразумевающее наличие в табеле успеваемости еще и «двоек». Принцип «срабатывания» оператора ЕСЛИ тот же.

Расширение функционала с помощью операторов «И» и «ИЛИ»

Когда нужно проверить несколько истинных условий, используется функция И. Суть такова: ЕСЛИ а = 1 И а = 2 ТОГДА значение в ИНАЧЕ значение с.

Функция ИЛИ проверяет условие 1 или условие 2. Как только хотя бы одно условие истинно, то результат будет истинным. Суть такова: ЕСЛИ а = 1 ИЛИ а = 2 ТОГДА значение в ИНАЧЕ значение с.

Функции И и ИЛИ могут проверить до 30 условий.

Пример использования оператора И:

Пример использования функции ИЛИ:

Как сравнить данные в двух таблицах

Пользователям часто приходится сравнить две таблицы в Excel на совпадения. Примеры из «жизни»: сопоставить цены на товар в разные привозы, сравнить балансы (бухгалтерские отчеты) за несколько месяцев, успеваемость учеников (студентов) разных классов, в разные четверти и т.д.

Чтобы сравнить 2 таблицы в Excel, можно воспользоваться оператором СЧЕТЕСЛИ. Рассмотрим порядок применения функции.

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

Исходные данные (таблицы, с которыми будем работать):

Выделяем первую таблицу. Условное форматирование – создать правило – использовать формулу для определения форматируемых ячеек:

В строку формул записываем: =СЧЕТЕСЛИ (сравниваемый диапазон; первая ячейка первой таблицы)=0. Сравниваемый диапазон – это вторая таблица.

Чтобы вбить в формулу диапазон, просто выделяем его первую ячейку и последнюю. «= 0» означает команду поиска точных (а не приблизительных) значений.

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

Выделяем вторую таблицу. Условное форматирование – создать правило – использовать формулу. Применяем тот же оператор (СЧЕТЕСЛИ).

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

Объединить текст в Excel

Необходимость объединить текст в Excel появляется очень при работе с многими документами, но многие не знают, как можно очень просто и быстро справится с этой задачей с помощью табличного редактора MS Excel.

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

Все рассмотренные далее способы объединения текста применяются для всех версий: Excel 2003, Excel 2007, Excel 2010, Excel 2013, Excel 2016. Рассмотрим каждый из них.

Объединить ячейки с текстом с помощью знака амперсанда

Итак, первый способ. Самый простой способ объединить текст в нескольких ячейках в Excel – это использовать знак амперсанда (&).

Например, у нас есть таблица с тремя столбцами в которых содержится фамилия, имя и отчество сотрудников компании или учащихся, студентов.

Читайте так же:
Сравнение списков в excel

Объединить текст в Excel – Таблица с данными

Нам необходимо создать столбец, который будет содержать в одной ячейке фамилию, имя и отчество. То есть объединить текст в нескольких ячейках Excel.

1. Переходим ячейку D2 . В данной ячейке мы будем объединять текст из нескольких ячеек.

2. Вводим знак =, и кликаем по ячейке с фамилией ( A2 ), затем вводим знак амперсанда & при помощи сочетания клавиш SHIFT+7 .

3. Далее нам необходимо поставить разделитель, чтобы наша фамилия «не слиплась» с именем и отчеством. В данном случае мы будем использовать пробел. Для этого после амперсанда ставим пробел, заключенный в кавычки ( » » ).

Разделитель необязательно должным пробелом, вы можете использовать любой символ, знак или комбинацию. Для этого необходимо заключить их в кавычки. Например, если вы хотите разделить объединяемый текст с помощью запятых, то используйте запятую и пробел после нее ( «, » ).

4. Далее снова вводим знак амперсанда & , и кликаем по ячейке с именем ( B2 ).

5. Опять таки не забываем по разделитель – пробел в кавычках ( » » ).

6. Осталось только присоединить отчество. Вводим знак & и кликаем на ячейку С2 .

7. Нажимаем клавишу Enter и любуемся полученным результатом.

Получившаяся формула выглядит так:

И в нашей ячейке D2 появился объединенный текст из трех ячеек.

Объединить текст в Excel – Объединить текст с помощью амперсанда

Чтобы заполнить все оставшиеся ячейки достаточно выделить ячейку, и перетащить маркер заполнения вниз. Теперь все ячейки заполнены объединенным текстом, и столбец « ФИО » выглядит следующим образом:

Объединить текст в Excel – Объединенный текст для всех сотрудников

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

Объединить текст в Excel – Объединить 2 ячейки с текстом

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

Для того чтобы объединить ячейки с текстом, и в тоже время ограничить количество символов в имени и отчестве, нам понадобится функция ЛЕВСИМВ . Данная функция возвращает первый символ, или указанное число первых символов тестовой строки.

Для получения желаемого результата введите следующую формулу:

Таким образом мы получим следующую таблицу:

Объединить текст в Excel – Объединенный текст фамилии и инициалов с помощью амперсанда

Обратите внимание, что в данном случае мы в качестве разделителя используем точку и пробел ( «. » ). Перейдем с следующему способу, как объединить текст в ячейках в Excel.

Объединить текст в ячейках с помощью функции СЦЕПИТЬ

В этом примере для объединения текста в ячейках мы будем использовать функцию «СЦЕПИТЬ», которая объединяет две или несколько текстовые строки в одну, позволяя комбинировать их с произвольным текстом. Рассмотрим пример, как в Excel объединить столбцы с текстом.

Добавим к таблице столбец с названием города.

Объединить текст в Excel – Дополнение исходной таблицы

Пусть мы хотим не только объединить ячейки с текстом, но и составить такого вида текст: « Иванов Иван Иванович, проживающий в городе Москва ».

Тогда в ячейке мы вводим в следующую формулу:

=СЦЕПИТЬ(A2;» «;B2;» «; C2;», проживающий в городе «;D2)

Заполняем оставшиеся ячейки с помощью маркера заполнения и в результате получаем такой результат:

Объединить текст в Excel – Объединение текста с помощью формулы СЦЕПИТЬ

Рассмотрим случай, когда нам необходимо объединить текст, дату и числа из разных ячеек в одну.

Объединить текст с датой или числами

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

Читайте так же:
Как рассчитать функцию в excel

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

Предположим у нас есть следующая таблица:

Объединить текст в Excel – Исходная таблица с данными

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

Для этого мы должны ввести в ячейку (D2) следующую формулу для первого сотрудника:

=СЦЕПИТЬ(A2; » «; ТЕКСТ($B$1;»ДД.ММ.ГГ»);» реализовал «; B2;» единиц товаров, что составило «;ТЕКСТ(C2;»0%»);» от общего объема продаж»)

Не стоит пугаться. Сейчас мы разберем эту формулу по порядку.

1. А2 – ссылка на ячейку фамилии нашего сотрудника.

2. » « – далее мы вставляем разделитель, в нашем случае это пробел.

3. ТЕКСТ($B$1;»ДД.ММ.ГГ») – при помощи функции ТЕКСТ мы задаем вид даты.

$B$1 – это абсолютная ссылка на дату, ДД.ММ.ГГ – это формат отображаемой даты. В нашем случае исходная дата 13 ноября 2017 г., а мы ее преобразовываем в 13.11.17 (ДД.ММ.ГГ).

4. » реализовал » – продолжаем формировать необходимое нам предложение.

5. B2 – ссылка на ячейку, где хранится информация о количестве реализованной продукции.

6. » единиц товаров, что составило » – добавляем текст.

7. ТЕКСТ(C2;»0%») – ссылка на ячейку C2 указывает на количество процентов, а «0%» – процентный формат.

8. » от общего объема продаж» – завершаем наше предложение.

И заполняем для остальных сотрудников с помощью маркера заполнения.

В результате мы получаем следующее:

Объединить текст в Excel – Объединить текст в ячейке с датой и числами

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

Объединить текст в ячейках с помощью функции ОБЪЕДИНИТЬ

В версии MS Excel 2016 появилась еще одна функция для объединения текста – функция ОБЪЕДИНИТЬ. Если вы пользователь более ранних версий, то для того чтобы объединить текст, используйте вышеописанные способы.

Обратите внимание , что функция Объединить доступна только при наличии подписки на Office 365.

С помощью функции ОБЪЕДИНИТЬ можно объединить текст из нескольких ячеек, строк или диапазонов.

Сперва разберем синтаксис функции ОБЪЕДИНИТЬ:

=ОБЪЕДИНИТЬ(разделитель; игнорировать_пустые; текст1; [текст2]; . )

  • разделитель – текстовая строка, которой будет разделятся объединенный текст;
  • игнорировать_пустые – принимает значение ИСТИНА (1) или ЛОЖЬ (0). Если необходимо пропустить пустые ячейки, то устанавливаем значение ИСТИНА;
  • текст1 – текстовый элемент, который необходимо объединить;
  • [текст2]; . – дополнительные текстовые элементы для объединения.

Рассмотрим пример, как объединить текст в Excel используя функцию ОБЪЕДИНИТЬ.

Объединить текст в Excel – Объединить текст с помощью функции ОБЪЕДИНИТЬ

На этом мы закончим статью, как в Excel объединить текст. Мы рассмотрели несколько вариантов, как объединить текст в ячейках в Excel с помощью амперсанда ( & ), функции СЦЕПИТЬ , функции ОБЪЕДИНИТЬ, а также как объединить текст с датой или числами с соответствующими форматами.

Как работать с объединенными ячейками Excel

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

Сначала расскажем что такое объединенные ячейки в Excel и как их сделать. Тут нет ничего сложно, достаточно выделить две или более ячеек и выбрать команду на ленте Главная -> Выравнивание -> Объединить и поместить в центре.

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

Вы можете объединять ячейки как по горизонтали, так и по вертикали. Также можно объединить области, содержащие боле одной строки и столбца.

Читайте так же:
Проверка ячейки на пустоту excel

Способы объединения ячеек

Если внимательней посмотреть на команду объединения ячеек, то можно увидеть выпадающее меню, которое в свою очередь содержит следующие дополнительные действия:

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

Какие проблемы возникают при использовании объединенных ячеек

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

  • Если диапазон содержит объединенные ячейки, то пользоваться сортировкой и фильтрацией в этом диапазоне будет невозможно.
  • Также невозможно будет преобразовать такой диапазон в таблицу (форматировать как таблицу).
  • Также можно забыть об автоматическом выравнивании ширины или высоты ячейки. Например если имеется объединенная ячейка A1:B1, то выравнять ширину столбца A уже не получится.
  • Если Вы пользуетесь горячими клавишами для навигации, например переходите в начало и конец таблицы путем сочетания клавиш Ctrl + стрелка вверх и вниз, то переход не удастся, и курсор будет «упираться» в объединенные ячейки.
  • Если вы выделяете столбцы (или строки) с помощью горячих клавиш Ctrl (Shift) +Пробел, то при наличии объединенных ячеек, вы не сможете выделить 1 столбец (или строку).

Как найти все объединенные ячейки и разъединить их

Чтобы разъединить все ячейки и удалить объединенные, достаточно выполнить следующие действия:

  1. Выделить все ячейки на листе. Это можно сделать путем нажатия сочетания клавиш Ctrl + A или кликнуть на черный треугольник между заголовками строк и столбцов на листе.
  2. Нажать на команду Главная -> Выравнивание -> Объединить и поместить в центре если она выделена. Если же она не выделена, значит выбранный лист не содержит объединенных ячеек.

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

  1. Откройте окно Найти и заменить. Сделать это можно сочетанием клавиш Ctrl + F.
  2. Поле Найти оставьте пустым и нажмите на кнопку Параметры.
  3. Должна отобразиться кнопка Формат. Нажмите левой кнопкой мыши по ней.
  4. В диалоговом окне Найти формат на вкладке Выравнивание выберите опцию Объединение ячеек. Далее нажмите Ok.
  5. В диалоговом окне Найти и заменить нажмите Найти далее или Найти все в зависимости от вашей дальнейшей задачи.

Альтернативы использования объединенных ячеек

Как правило объединенные ячейки применяют для целей выравнивания текста. Однако мало кто знает, что текст можно выровнять и без объединения ячеек и потери функционала. Для этого можно использовать обычное форматирование ячеек:

  1. Выделите диапазон ячеек, который хотите отцентрировать. При этом сам текст должен содержаться в левой верхней ячейке.
  2. Выберите команду формат ячеек или нажмите сочетание клавиш Ctrl + 1.
  3. В диалоговом окне Формат ячеек перейдите на вкладку Выравнивание.
  4. В выпадающем списке выравнивания по горизонтали выберите значение по центру выделения и нажмите OK.

Еще один способ избежать объединения ячеек — это использовать надписи. В них также можно вставлять текст и выбирать направление текста по вертикали. Способ конечно также накладывает много ограничений, но в каких-то случаях имеет место быть.

Все способы можно скачать нажав кнопку вначале статьи.

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector