Почему не работает функция сцепить в excel
Перейти к содержимому

Почему не работает функция сцепить в excel

  • автор:

Почему не работает функция сцепить в excel

Argument ‘Topic id’ is null or empty

Сейчас на форуме

© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru

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

ООО «Планета Эксел»
ИНН 7735603520
ОГРН 1147746834949
ИП Павлов Николай Владимирович
ИНН 633015842586
ОГРНИП 310633031600071

Исправление ошибки #ЗНАЧ! в функции СЦЕПИТЬ

Важно: В Excel 2016, Excel Mobile и Excel в Интернете функция CONCAT заменена функцией CONCAT. Функция СЦЕПИТЬ пока еще доступна для обратной совместимости, однако рекомендуем использовать вместо нее функцию СЦЕП, так как ее возможности шире.

Одной из наиболее распространенных ситуаций возникновения ошибки #ЗНАЧ! при использовании функции СЦЕПИТЬ является попытка сформировать строку, которая включает в себя ссылку на ячейку с ошибкой, например #ЗНАЧ!.

В следующем примере мы хотим объединить D2, E2 и F2, где E2 имеет #VALUE! ошибку #ЗНАЧ!.

Ошибка #ЗНАЧ! в функции СЦЕПИТЬ

Ошибка в E2 приводит к тому, что функция отображает #VALUE! ошибку #ЗНАЧ!. Чтобы он успешно работал, необходимо заменить ошибку значением, отличающимся от ошибки. Можно создать формулу, которая проверяет наличие ошибки в ссылке на ячейку и, если это так, отображает текстовую строку, в которой вместо ошибки отображается значение 0 (или можно заменить собственный текст на значение 0, но вам потребуется завернуть текст в кавычки — «Ваш текст»).

Следующая формула будет работать правильно:

=ЕСЛИ(ЕОШИБКА(E2);СЦЕПИТЬ(D2;» «;0;» «;F2))

Функции IF и ISERROR, используемые в качестве обходного решения для объединения строки с #VALUE! ошибка

Как это работает? Функция IF использует функцию IFERROR для определения наличия ошибки в E2, а если она есть, функция CONCATENATE объединяет значения в D2, E2 и F2 (функция заменяет ошибку на 0) и отображает итоговую текстовую строку. Обратите внимание, что формула также использует пробелы (» «) для разделения значений.

Исправление ошибки #VALUE! в функции СЦЕПИТЬ в Excel 2003 и более ранних версиях

Если ошибка #ЗНАЧ! возникает в Office Excel 2003 или более ранних версиях, необходимо отключить параметр «вычисления по правилам 1-2-3» в Excel. Выполните действия, описанные в статье об ошибке #VALUE! при объединии ячеек .

Дополнительные сведения

Вы всегда можете задать вопрос эксперту в Excel Tech Community или получить поддержку в сообществах.

Функция СЦЕПИТЬ в Excel: синтаксис и примеры использования

Чтобы объединить значения (текстовые, цифровые) из разных ячеек в одну, используется функция СЦЕПИТЬ. Ее аналог – & (амперсанд). Знак справляется с простейшими задачами. Но для объединения множества строк не подходит.

Синтаксис функции СЦЕПИТЬ

Функция входит в группу «текстовые». Синтаксис: (текст 1; текст 2;…). Можно включить до 255 текстовых строк. Первый аргумент – «текст 1» – является обязательным. Любые аргументы можно указать в виде текста, цифр или ссылок на ячейки.

Общие правила использования функции СЦЕПИТЬ:

  1. Для разделения аргументов применяется точка с запятой. Пропуск или использование других знаков приведет к отображению в ячейке с результатом кавычек.
  2. Текстовые аргументы обязательно заключать в кавычки. В противном случае появляется ошибка – #ИМЯ? Числа и ссылки на ячейки – не нужно.
  3. Чтобы соединяемые элементы в строке результата отобразились с пробелом, пробелы нужно добавлять в формулу с функцией. С помощью двойных кавычек с пробелом внутри (“ “) или с помощью пробела после текстового аргумента (“Иванов ”;…).

Как пользоваться функцией СЦЕПИТЬ в Excel

Начнем с простейших примеров.

Данные для объединения:

Данные для объединения.

Ставим курсор в ячейку Е2 и вызываем мастер функций (кнопка fx). В категории «Текстовые» находим функцию СЦЕПИТЬ. Аргументы – ссылки на ячейки А2, В2, С2 и пробелы:

СЦЕПИТЬ.

Результат объединения значений в ячейках:

Результат.

Такой же результат получим с помощью амперсанда:

Результат 1.

Один из аргументов – текст. Формула: =СЦЕПИТЬ(«слесарь»; » «;A2;» «;B2;» «;C2). Результат:

Результат 2.

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

  1. Соединим текст с датой. Данные находятся в отдельных ячейках. Для столбца «Дата» установлен формат «Дата». Если использовать только функцию СЦЕПИТЬ, дата отобразится в числовом формате. Поэтому добавим функцию ТЕКСТ для форматирования чисел. Формула: Второй аргумент функции ТЕКСТ – формат представления даты. Результат: Результат 3.
  2. Соединим сразу много ячеек в строке. Если писать формулу с функцией СЦЕПИТЬ, получится долго и малоэффективно. Используем маленькую хитрость. Вот наша строка со значениями в отдельных ячейках. В ячейку Н1 ставим знак «равно». Выделяем диапазон со значениями А1:F1. Вводим амперсанд & и пробел “ “. Жмем F9. В строке формул появится формула массива. Ставим курсор в строку формул после знака «равно». Пишем название функции. Фигурные скобки заменяем на круглые и жмем ВВОД. Получаем нужный результат. Результат 4.
  3. Соединим значения через косую черточку («-», «&» и т.п.). Формула будет выглядеть так: = СЦЕПИТЬ (ссылка на ячейку 1; «/»; ссылка на ячейку 2). Результат 5.
  4. Соединим несколько значений в столбце. Функция подходит для значений в строках. Описанный выше способ с формулой массива тоже не сработает.

Результат 6.

Преобразуем вертикальный диапазон в горизонтальный с помощью функции ТРАНСП. А затем воспользуемся формулой массива для быстрого соединения значений. В ячейку В1 ставим знак «равно». Пишем ТРАНСП. Указываем диапазон А1:А6. Вводим & и пробел (« »). Жмем F9.

ТРАНСП.

Теперь преобразуем формулу массива, добавив функцию и заменив скобки.

Формула массива.

Обратная функция СЦЕПИТЬ в Excel

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

  • ЛЕВСИМВ (отображает заданную часть символов с начала строки);
  • ПРАВСИМВ (отображает заданную часть символов с конца строки);
  • ПСТР (отображает указанную часть символов, начиная с заданной позиции) и другие.
  1. Извлечем первое слово из строки, применив функцию ЛЕВСИМВ. Аргументы – «текст» (ссылка на строку с искомым значением), «количество знаков» (число символов, которые нужно извлечь). ЛЕВСИМВ.
  2. Извлечем последнее слово из строки с помощью функции ПРАВСИМВ. Синтаксис похожий (как в предыдущем примере). Только количество знаков считается с конца. ПРАВСИМВ.
  3. Извлечем из записи в строке фамилию (второе слово) с помощью функции ПСТР. Аргументы – «текст» (ссылка на строку), «начальная позиция» (номер символа, с которого программа начнет считать число знаков); «количество знаков». В примере: Е2 – «текст», с 9 знака функция вернет 8 символов.

ПСТР.

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

  • Excel Formula Examples
  • Создать таблицу
  • Форматирование
  • Функции Excel
  • Формулы и диапазоны
  • Фильтр и сортировка
  • Диаграммы и графики
  • Сводные таблицы
  • Печать документов
  • Базы данных и XML
  • Возможности Excel
  • Настройки параметры
  • Уроки Excel
  • Макросы VBA
  • Скачать примеры

Почему не работает функция сцепить в excel

Не получается использование в составе функции СЦЕПИТЬ некоторых комбинаций, напр. =СЦЕПИТЬ(b=[20,30] ) дает ошибку, =СЦЕПИТЬ(b= <20,40>) превращается в =СЦЕПИТЬ(b= ). Не получается использовать -> .
=СЦЕПИТЬ(=4; max(A1+B2,5)=3) тоже не хочет.
Есть ли способы обойти эти ограничения?

Скрипты PHP, VBA. Skype:ktmtramway Расписание электричек
Быстрый проверенный хостинг.
Последний раз редактировалось motorway; 10.07.2009 в 19:28 .
Форумчанин
Регистрация: 03.04.2009
Сообщений: 412
Что с чем вы хотите СЦЕПИТЬ и какой результат получить?
Участник клуба
Регистрация: 28.06.2009
Сообщений: 1,950

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

Скрипты PHP, VBA. Skype:ktmtramway Расписание электричек
Быстрый проверенный хостинг.
Форумчанин
Регистрация: 03.04.2009
Сообщений: 412

Видимо я опять не понял сути. Это текстовая функция и она может сцепить всё, что Вы напишете. Например это:

=СЦЕПИТЬ("=";B1;C1;"+";D1;"(";E1;F1;G1;")")

Участник клуба
Регистрация: 28.06.2009
Сообщений: 1,950

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

Даже простейшее =СЦЕПИТЬ(>=5; . ) не работает без кавычек

Скрипты PHP, VBA. Skype:ktmtramway Расписание электричек
Быстрый проверенный хостинг.
Последний раз редактировалось motorway; 10.07.2009 в 22:01 .
Форумчанин
Регистрация: 03.04.2009
Сообщений: 412

Вряд ли получится. В этой функции всё, что не цифра, должно быть в «. Причём независимо от количества и набора символов. Но если символ будет в ячейке то » не надо, просто ссылка на ячейку.

Участник клуба
Регистрация: 28.06.2009
Сообщений: 1,950

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

Скрипты PHP, VBA. Skype:ktmtramway Расписание электричек
Быстрый проверенный хостинг.
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487

Но тогда некоторые символы приходится вставлять в кавычки, а мне этого не хотелось бы

не нравиться эксель, не хотите следовать его правилам записи выражений — сделайте свой табличный процессор и лепите там строки, как заблагорассудится.
Сейчас эксель работает так =СЦЕПИТЬ(А4; В5) — значит сцепить то, что находится в А4 с тем, что находится в В5. А запись =СЦЕПИТЬ(«А4″;»В5») вернет строку «А4В5» (а не содержимое ячеек), естесственно в ячейке строка будет без кавычек.

Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете

Участник клуба
Регистрация: 28.06.2009
Сообщений: 1,950

Эксель мне нравится, но просто нужно решить конкретную задачу мою. Может, можно его средствами это решить?

Скрипты PHP, VBA. Skype:ktmtramway Расписание электричек
Быстрый проверенный хостинг.
Форумчанин
Регистрация: 03.04.2009
Сообщений: 412
Опиши подробнее задачу. Лучше с фалом примером.

Страница 1 из 3 1 2 3 Следующая >
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблемы с функцией mail() Linel PHP 4 24.06.2009 14:16
Проблемы с функцией FileWrite Миша Общие вопросы Delphi 5 30.05.2009 19:49
функция сцепить и дата StasSv Microsoft Office Excel 2 13.08.2008 13:01
проблемы с функцией StretchDIBits unnamed Win Api 2 16.08.2007 12:42
Проблемы с функцией OCIBindByName(). OSKiller PHP 2 19.03.2007 16:48

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *