2

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

=CONCAT(CHAR(34),A4,""":""",D4,"""")

Моя оригинальная формула имеет только три кавычки в конце:

=CONCAT(CHAR(34),A4,""":""",D4,""")

Для вашей информации я объединяю данные из двух столбцов в Excel, и результат будет выглядеть так:

"welcome":"Bienvenue!"

Ячейка А4 содержит: welcome
Ячейка D4 содержит: Bienvenue!

CHAR(34) представляет начальную кавычку для ячейки A4.

Функция Excel CONCAT() объединяет данные из разных ячеек Ms Excel.

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

4 ответа4

14

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

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

Правила понятны, если вы понимаете, что происходит.

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

Вот несколько примеров использования вашей формулы:

  • Вы можете видеть, что вы правильно поняли, используя тройные кавычки вокруг двоеточия. Думайте об этом как двоеточие, окруженное двойными кавычками, и все это внутри кавычек, чтобы ограничить этот текст.
  • Вы правильно поняли с CHAR(34), чтобы начать строку. Вы можете сделать то же самое для последнего персонажа.
  • Поскольку первый и последний символы объединены, вы можете альтернативно увеличить их в четыре раза (например, D4&""""). Это то, что Excel пытался исправить для вас.
  • Если выражение начиналось или заканчивалось жестко закодированным текстом вместо ссылки на ячейку, вы можете использовать тройные кавычки (например, """Welcome")

Так что это может быть сделано с помощью нескольких кавычек, хотя вы можете пойти косоглазие, если вам нужно диагностировать проблемы с формулами, если вы запутались. Самый простой и безопасный способ сделать это - использовать CHAR(34), особенно когда нужны четверные кавычки, как предполагает ответ Ханну (хотя я бы предпочел, чтобы тройные кавычки располагались вокруг двоеточия, чтобы не разбивать одно текстовое выражение на три кусочки, но именно поэтому есть и ванильное и шоколадное мороженое).

4

Эти два эквивалентны, и оба создают ожидаемую строку:

=CONCAT(CHAR(34),A4,CHAR(34),":",CHAR(34),D4,CHAR(34))

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

=CHAR(34) &A4 &CHAR(34) &":" &CHAR(34) &D4 &CHAR(34)

Вы можете включить двойные кавычки в строку символов, так как есть "eascaping", но в сочетании с тем фактом, что строки начинаются и заканчиваются двойными кавычками, это быстро становится уродливым и трудным для поддержки; eg ="""welcome"":""Bienvenue!""" - вам нужно больше кавычек, чтобы добавить ссылки на ячейки выше; =""""&A4&""":"""&D4&"""" ... легко ошибиться.

ПРИМЕЧАНИЕ: обновлено по экранированию цитаты.

1

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

"the_string" 

Если ваша строка содержит двойную кавычку, эту двойную кавычку нужно "экранировать", повторяя ее,

"the""string"   

Итак, в каждом экземпляре строки в вашей конкатенации следуйте этому правилу. Думайте о своих первых и последних строках как

$DELIMITER""$DELIMITER

Поскольку значение $ DELIMITER является двойной кавычкой, оно выглядит некрасиво, но соответствует правилам.

0

Двойная кавычка является специальным символом в Excel и должна быть экранирована (путем ввода двух двойных кавычек).

  • ="""" выводы "
  • ="My name is ""James""." Выходы My name is "James".
  • ="""""""""""""""""""""" (22 кавычки) выводит """""""""" (10 кавычек)

Первая и последняя двойные кавычки являются приложением, и каждые 2 двойные кавычки между ними становятся 1 двойной кавычкой.


Итак, поехали.

  • Cell A4: welcome
  • Ячейка D4: Bienvenue!

  • Формула: ="""" & A4 & """:""" & D4 & """"

  • Вывод: "welcome":"Bienvenue!"

(Для удобства чтения & был использован вместо CONCAT(...) для объединения)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .