Как создать строки, содержащие двойные кавычки в формулах Excel?

excel excel-formula

500605 просмотра

12 ответа

Как я могу построить следующую строку в формуле Excel:

Морис "Ракета" Ричард

Если я использую одинарные кавычки, это тривиально = "Maurice 'The Rocket' Richard"но как насчет двойных кавычек?

Автор: Allain Lalonde Источник Размещён: 11.11.2019 05:12

Ответы (12)


448 плюса

Решение

Вы пытались убежать с двойной кавычкой?

= "Maurice ""The Rocket"" Richard"
Автор: YonahW Размещён: 19.10.2008 04:33

151 плюса

В качестве альтернативы вы можете использовать CHARфункцию:

= "Maurice " & CHAR(34) & "Rocket" & CHAR(34) & " Richard"
Автор: Dave DuPlantis Размещён: 20.10.2008 01:41

21 плюса

Три двойные кавычки: " " " x " " "= "x"Excel автоматически изменится на одну двойную кавычку. например:

=CONCATENATE("""x"""," hi")  

= "х" привет

Автор: Adel Размещён: 04.10.2012 11:41

7 плюса

Я использую функцию для этого (если в книге уже есть VBA).

Function Quote(inputText As String) As String
  Quote = Chr(34) & inputText & Chr(34)
End Function

Это из книги Сью Мошер "Программирование Microsoft Outlook". Тогда ваша формула будет:

="Maurice "&Quote("Rocket")&" Richard"

Это похоже на то, что написал Дэйв ДюПлантис .

Автор: JimmyPena Размещён: 21.06.2012 12:29

6 плюса

В случае, если вам нужно сделать это с JSON:

=CONCATENATE("'{""service"": { ""field"": "&A2&"}}'")
Автор: tandy Размещён: 13.08.2014 04:46

4 плюса

Используйте код chr (34): Joe = "Привет!" & Chr (34) & "Joe" & Chr (34) ActiveCell.Value = Joe

Результат: Привет, "Джо"

Автор: Dave Размещён: 31.07.2015 01:32

1 плюс

будет ли это работать для макросов, использующих .Formula = "=THEFORMULAFUNCTION("STUFF")" так, это будет выглядеть так: будет ли это работать для макросов, использующих.Formula = "=THEFORMULAFUNCTION(CHAR(34) & STUFF & CHAR(34))"

Автор: eric Размещён: 17.08.2010 02:22

1 плюс

Возвращение пустой строки или строки нулевой длины (например, ""чтобы ячейка выглядела пустой) является обычной практикой в ​​формуле рабочего листа, но воссоздание этого параметра при вставке формулы через свойство Range.Formula или Range.FormulaR1C1 в VBA является громоздким из-за необходимость удваивать символы двойной кавычки в строке в кавычках.

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

'formula to insert into C1 - =IF(A1<>"", B1, "")
range("C1").formula = "=IF(A1<>"""", B1, """")"         '<~quote chars doubled up
range("C1").formula = "=IF(A1<>TEXT(,), B1, TEXT(,))"   '<~with TEXT(,) instead

На мой взгляд, использование TEXT(,)вместо ""очищает даже простую формулу, подобную приведенной выше. Преимущества становятся все более значительными, когда используются в более сложных формулах, таких как практика добавления пустой строки в VLOOKUP, чтобы избежать возврата нуля в ячейку, когда поиск приводит к пустому значению, или возврата пустой строки при несоответствии с IFERROR .

'formula to insert into D1 - =IFERROR(VLOOKUP(A1, B:C, 2, FALSE)&"", "")
range("D1").formula = "=IFERROR(VLOOKUP(A1, B:C, 2, FALSE)&"""", """")"
range("D1").formula = "=IFERROR(VLOOKUP(A1, B:C, 2, FALSE)&TEXT(,), TEXT(,))"

При TEXT(,)замене старого ""способа доставки пустой строки, вы можете получить , чтобы прекратить использование Абака , чтобы определить , есть ли у вас правильное количество кавычек в формуле строке.

Автор: user4039065 Размещён: 23.03.2016 04:41

1 плюс

Объединить "как ceparate клетки:

    A |   B   | C | D
1   " | text  | " | =CONCATENATE(A1; B1; C1);

D1 displays "text"
Автор: Zon Размещён: 18.05.2017 09:26

0 плюса

Функция VBA

1) .Formula = "=" "THEFORMULAFUNCTION" "& ​​(CHAR (34) &" "STUFF" "& CHAR (34))"

2) .Formula = "THEFORMULAFUNCTION" "STUFF" ""

Первый метод использует vba для записи формулы в ячейку, которая приводит к вычисленному значению:

 THEFORMULAFUNCTION "STUFF"

Второй метод использует vba для записи строки в ячейку, которая приводит к значению:

 THEFORMULAFUNCTION "STUFF"

Excel Результат / Формула

1) = «ФОРМУЛАФУНКЦИЯ» & (CHAR (34) & «STUFF» & CHAR (34))

2) ФОРМУЛАФУНКЦИЯ "ПЕРСОНАЛ"

Автор: Sam Размещён: 13.02.2013 05:58

0 плюса

="Maurice "&"""TheRocker"""&" Richard"
Автор: Karthick Gunasekaran Размещён: 07.04.2016 12:28

0 плюса

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

Пример SO216616

Слева Calibri отрывается от листа Excel, а справа - отрывок из окна VBA. На мой взгляд, экранирование, как упомянуто @YonahW, выигрывает «руками вниз», но две одинарные кавычки - это не больше, чем две двойные, и разница в VBA достаточно очевидна без дополнительных нажатий клавиш, хотя потенциально не заметна в электронной таблице.

Автор: pnuts Размещён: 17.07.2016 12:36
Вопросы из категории :
32x32