Excel кавычки в формуле сцепить

Обновлено: 06.07.2024

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

При указании критериев для совокупных функций домена.

При указании критериев для методов Find.

При указании критериев для свойства Filter или ServerFilter формы.

При создании SQL строк.

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

Если встраить числовую переменную, Access оценит переменную и просто соберет значение в строку. Однако если переменная является текстовой строкой, строка критериев будет содержать строку в строке. Строка в строке должна быть определена делемитерами строки. В противном случае движок базы данных Access не сможет определить, какая часть строки является тем значением, которое необходимо использовать.

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

Включаем одиночные кавычка

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

Когда strName переменная оценивается и соедается в строку критериев, строка критериев становится:

Этот синтаксис не позволяет использовать апострофы (') в значении самой переменной. Если значение переменной строки включает апостроф, access создает ошибку во время работы. Если переменная может представлять значения, содержащие апострофы, рассмотрите возможность использования одной из других форм синтаксиса, рассмотренных в следующих разделах.

Включаем двойные кавычка

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

Когда переменная оценивается и согласуется с аргументом критериев, каждый набор двух двойных кавычках заменяется одной strName одной кавычками. Аргумент критериев становится:

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

Включаем переменную, представляющую кавычка

Можно создать переменную строки, представляюную двойные кавычка, и соединять эту переменную в аргумент критериев вместе со значением переменной. Представление ANSI для двойных кавычков ; это значение можно назначить Chr$(34) переменной строки под названием strQuote . Затем можно создать аргумент критериев, как в следующем примере:

Когда переменные оцениваются и согласуются с аргументом критериев, аргумент критериев становится:

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

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

Допустим, что у нас имеется база данных по клиентам, где одному названию компании может соответствовать несколько разных 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) .

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

Соединение данных с помощью знака амперсанд (&).

Выглядит это вот так:

Соединение данных в MS Excel. Описание и примеры.

Соединение данных в MS Excel. Описание и примеры.

Пробелы, между данными взятыми из ячеек, появятся автоматические.

Тоже самое можно сделать с числовыми данными.

Так же, вместе с ссылками на ячейки, прямо в формуле можно прописать интересующие нас данные. Например добавим перед ФИО, должность: бухгалтер.

Выглядеть это будет вот так:

Соединение данных в MS Excel. Описание и примеры.

Важно.

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

Соединение данных в MS Excel. Описание и примеры.

Как вызвать функции СЦЕПИТЬ, СЦЕП, ОБЪЕДЕНИТЬ.

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

Соединение данных в MS Excel. Описание и примеры.

Функция СЦЕПИТЬ.

В результатах поиска выбираем функцию СЦЕПИТЬ. Появляется диалоговое окно Аргументы функции. В данном диалоговом окне есть поле Текс1, Текст2 и т.д. В этих полях можно указать ссылки на ячейки, данные из которых потом объединяться в единой, указной ячейке. Например у нас есть три ячейки с данными В2; С2; D2. Объединим данные из этих трех ячеек в одной (В4) с помощью функции СЦЕПИТЬ.

Соединение данных в MS Excel. Описание и примеры.

Соединение данных в MS Excel. Описание и примеры.

Так же, в поле Текст1 (и т.д.), вместо ссылок на ячейки, можно добавлять другие данные. Например текст, числа и т.д. Добавим название должности: бухгалтер. Добавим название должности в поле Текст4. Слово бухгалтер появиться после ФИО. Так же необходимо добавит пробел между ФИО и словом Бухгалтер (поле Текст3). Так как функция не делает это автоматически, между данными взятыми из ячеек и данными вписанными в Аргументы функции напрямую. Сделать это очень просто. Ставим курсор в поле Текст3 и нажимаем на пробел. Кавычки появляются автоматически.

Соединение данных в MS Excel. Описание и примеры.

Соединение данных в MS Excel. Описание и примеры.

Поля Текст, в окне Аргументы функции, добавляются по необходимости, автоматически. Максимальное количество таких полей 255.

Функции СЦЕП.

Основанное отличие функции СЦЕП от функции СЦЕПИТЬ в том, что она позволяет в поле Текст указывать диапазон ячеек, данные из которых будут объединены. Например объединим данные из ячеек В2; С2; D2. При это укажем их как диапазон (B2:D2) в поле Текст1.

Соединение данных в MS Excel. Описание и примеры.

Так же, можно указывать несколько диапазонов в разных полях Текст, которые будут объединены. Как и в случае с функцией СЦЕПИТЬ, в поле Текст, можно прописывать различные данные (текст, числа и т.д.). Максимальное количество полей Текст -254 шт.

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

При выборе данной функции открывается диалоговое окно Аргументы функции, в котором есть следующие поля:

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

Пропускать_пустые. Здесь можно поставить значение аргумента функции один (1). Тогда пустые ячейки, которые находятся в диапазоне объединяемых ячеек, не будут учитываться (не отразятся в объединённых данных). Если поставить значение аргумента функции ноль (0), тогда функция будет учитывать пустые ячейки.

Соединение данных в MS Excel. Описание и примеры.

Кавычки в поле Разделитель появляются автоматически. Нажимаем ОК.

Соединение данных в MS Excel. Описание и примеры.

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

Пакетное объединение нескольких ячеек / строк / столбцов без потери данных и формата даты / числа в Excel

Обычно при объединении ячеек с помощью функции «Слияние» в Excel удаляется все содержимое ячеек, кроме содержимого первой ячейки. Однако с Kutools for Excel's Объединить (строки и столбцы) утилита, вы можете легко объединить несколько ячеек / строк / столбцов без потери данных. Более того, эта утилита также поддерживает оставшийся исходный формат даты и числовые форматы в результатах комбинации. Полнофункциональная бесплатная 30-дневная пробная версия!

объявление объединить строки столбцы сохранить форматирование

Вкладка Office позволяет редактировать и просматривать в Office с вкладками и значительно упрощает работу . Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%
  • Повторное использование чего угодно: Добавляйте наиболее часто используемые или сложные формулы, диаграммы и все остальное в избранное и быстро используйте их в будущем.
  • Более 20 текстовых функций: Извлечь число из текстовой строки; Извлечь или удалить часть текстов; Преобразование чисел и валют в английские слова.
  • Инструменты слияния : Несколько книг и листов в одну; Объединить несколько ячеек / строк / столбцов без потери данных; Объедините повторяющиеся строки и сумму.
  • Разделить инструменты : Разделение данных на несколько листов в зависимости от ценности; Из одной книги в несколько файлов Excel, PDF или CSV; От одного столбца к нескольким столбцам.
  • Вставить пропуск Скрытые / отфильтрованные строки; Подсчет и сумма по цвету фона ; Отправляйте персонализированные электронные письма нескольким получателям массово.
  • Суперфильтр: Создавайте расширенные схемы фильтров и применяйте их к любым листам; Сортировать по неделям, дням, периодичности и др .; Фильтр жирным шрифтом, формулы, комментарий .
  • Более 300 мощных функций; Работает с Office 2007-2019 и 365; Поддерживает все языки; Простое развертывание на вашем предприятии или в организации.

Объединить диапазон с добавлением кавычек по формуле

Удивительный! Использование эффективных вкладок в Excel, таких как Chrome, Firefox и Safari!
Экономьте 50% своего времени и сокращайте тысячи щелчков мышью каждый день!

Этот метод представляет наиболее распространенный способ - функцию СЦЕПИТЬ для объединения диапазона с добавлением кавычек в Excel.

1. Выберите пустую ячейку, в которую вы поместите результат конкатенации, и введите формулу. =CONCATENATE(CHAR(34),A2,CHAR(34)," ", CHAR(34),B2,CHAR(34)," ",CHAR(34),C2,CHAR(34)," ",CHAR(34),D2,CHAR(34)) в него и нажмите Enter ключ.

doc concatenate добавить кавычки 1

2. Продолжайте выделять ячейку результата конкатенации и перетащите ее дескриптор автозаполнения в нужный диапазон.

И тогда вы увидите, что каждая строка была объединена, а содержимое каждой ячейки было заключено в кавычки. Смотрите скриншот:

doc concatenate добавить кавычки 2

Внимание: В приведенной выше формуле A2, B2, C2 и D2 - это ячейки, которые вы объедините, Char (34) означает кавычки. Если вам нужно объединить больше ячеек (например, Cell E2) с добавлением кавычек, вы можете добавить , "", СИМВОЛ (34), E2, СИМВОЛ (34) перед последней правой круглой скобкой, например =CONCATENATE(CHAR(34),A2,CHAR(34)," ", CHAR(34),B2,CHAR(34)," ",CHAR(34),C2,CHAR(34)," ",CHAR(34),D2,CHAR(34), "", СИМВОЛ (34), E2, СИМВОЛ (34)) .

Объединить диапазон с добавлением кавычек с помощью утилиты добавления текста Kutools for Excel

Вы можете быть сбиты с толку, многократно добавляя CHAR (34) в приведенную выше формулу. Этот метод представит Kutools for Excel's Добавить текст утилита для добавления кавычек, чтобы заключить содержимое каждой ячейки перед объединением, а затем объединить эти ячейки по формуле.

Kutools for Excel - Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная 30-дневная пробная версия, кредитная карта не требуется! Бесплатная пробная версия сейчас!

1. Выберите ячейки, которые вы хотите объединить, и нажмите Kutools > Текст > Добавить текст. Смотрите скриншот:

doc concatenate добавить кавычки 01

2. В открывшемся диалоговом окне «Добавить текст» сделайте следующее:

doc concatenate добавить кавычки 4

(1) Введите кавычки "в Текст коробка;

(2) Проверьте Перед первым персонажем и нажмите Применить кнопка;

(3) Проверьте После последнего символа и нажмите Ok кнопку.

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

Kutools for Excel - Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная 30-дневная пробная версия, кредитная карта не требуется! Get It Now

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

doc concatenate добавить кавычки 5

3. Выберите пустую ячейку, в которую вы поместите результат конкатенации, введите формулу = СЦЕПИТЬ (A2: H2 & "") , выберите A2: H2 & "" в формуле и нажмите F9 клавиша для замены ссылок на ячейки содержимым ячейки, затем удалите фигурные скобки и > из формулы и, наконец, нажмите Enter ключ. Смотрите скриншот:

doc concatenate добавить кавычки 6

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

Объединить диапазон с добавлением кавычек с помощью утилиты Combine из Kutools for Excel

Этот метод представит Kutools for Excel's Сочетать утилита для быстрого объединения диапазона с добавлением кавычек в Excel.

Kutools for Excel - Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная 30-дневная пробная версия, кредитная карта не требуется! Бесплатная пробная версия сейчас!

1. Выберите диапазон, который вы хотите объединить, и нажмите Kutools > Сочетать.


2. В открывшемся диалоговом окне «Объединить столбцы или строки» выполните следующие действия:

doc concatenate добавить кавычки 8

(1) Укажите вариант комбинации в Чтобы объединить выбранные ячейки в соответствии со следующими параметрами раздел. В нашем случае мы проверяем Объединить столбцы вариант;

(2) В Укажите разделитель раздел, проверьте Другой разделитель вариант и введите «» в следующее поле;

(3) Укажите ячейку, в которую вы поместите результат комбинации из Поместите результаты в раскрывающийся список;

(4) В Параметры раздел, выберите один из вариантов в зависимости от ваших потребностей. В нашем случае мы проверяем Удалить содержимое объединенных ячеек опцию.

(5) Щелкните значок Ok кнопку.

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

Kutools for Excel - Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная 30-дневная пробная версия, кредитная карта не требуется! Get It Now

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

doc concatenate добавить кавычки 10

3. Продолжайте выбирать результаты комбинации и нажмите Kutools > Текст > Добавить текст , чтобы открыть диалоговое окно Добавить текст, а затем сделайте следующее:


(1) Введите кавычки "в Текст коробка;

(2) Проверьте Перед первым персонажем и нажмите Применить кнопка;

(3) Проверьте После последнего символа и нажмите Ok кнопку.

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

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