Como posso construir a seguinte seqüência de caracteres em uma fórmula do Excel:
Maurice "O Foguete" Richard
Se eu estou usando aspas simples, é trivial = "Maurice 'The Rocket' Richard"
mas e as aspas duplas?
Como posso construir a seguinte seqüência de caracteres em uma fórmula do Excel:
Maurice "O Foguete" Richard
Se eu estou usando aspas simples, é trivial = "Maurice 'The Rocket' Richard"
mas e as aspas duplas?
Respostas:
Como alternativa, você pode usar a CHAR
função:
= "Maurice " & CHAR(34) & "Rocket" & CHAR(34) & " Richard"
&
com aspas duplas antes ou depois do e comercial não funcionou usando o método de aspas duplas.
Três aspas duplas: " " " x " " "
= O "x"
Excel mudará automaticamente para uma aspas dupla. por exemplo:
=CONCATENATE("""x"""," hi")
= "x" oi
Eu uso uma função para isso (se a pasta de trabalho já tiver VBA).
Function Quote(inputText As String) As String
Quote = Chr(34) & inputText & Chr(34)
End Function
Isto é do livro de Sue Mosher "Microsoft Outlook Programming". Então sua fórmula seria:
="Maurice "&Quote("Rocket")&" Richard"
Isso é semelhante ao que Dave DuPlantis postou.
No caso de você precisar fazer isso com o JSON:
=CONCATENATE("'{""service"": { ""field"": "&A2&"}}'")
isso funcionará para macros usando, .Formula = "=THEFORMULAFUNCTION("STUFF")"
então seria assim: isso funcionará para macros usando.Formula = "=THEFORMULAFUNCTION(CHAR(34) & STUFF & CHAR(34))"
Retornar uma string vazia ou de comprimento zero (por exemplo ""
) para fazer uma célula aparecer em branco é uma prática comum em uma fórmula da planilha, mas recriar essa opção ao inserir a fórmula através do Range.Formula ou Range.FormulaR1C1 propriedade em VBA é difícil de manejar devido ao necessidade de duplicar os caracteres de aspas duplas dentro de uma string entre aspas.
A função TEXT nativa da planilha pode produzir o mesmo resultado sem usar aspas.
'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
Para os meus olhos, usar TEXT(,)
no lugar de ""
limpa até mesmo uma fórmula simples como a acima. Os benefícios se tornam cada vez mais significativos quando usados em fórmulas mais complicadas, como a prática de anexar uma sequência vazia a um VLOOKUP para evitar retornar um zero à célula quando uma pesquisa resulta em um espaço em branco ou uma sequência vazia sem correspondência com 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(,))"
Com a TEXT(,)
substituição do ""
método antigo de entrega de uma sequência vazia, você pode parar de usar um ábaco para determinar se possui o número certo de caracteres de aspas em uma sequência de fórmulas.
Função VBA
1) .Formula = "=" "FUNÇÃO DA FÓRMULA" "& (CHAR (34) &" "MATERIAL" "& CHAR (34))"
2) .Formula = "THEFORMULAFUNCTION" "MATERIAL" ""
O primeiro método usa vba para escrever uma fórmula em uma célula que resulta no valor calculado:
THEFORMULAFUNCTION "STUFF"
O segundo método usa vba para escrever uma string em uma célula que resulta no valor:
THEFORMULAFUNCTION "STUFF"
Resultado / Fórmula do Excel
1) = "FUNÇÃO DA FÓRMULA" & (CHAR (34) & "MATERIAL" & CHAR (34))
2) FUNÇÃO DA FÓRMULA "MATERIAL"
="Maurice "&"""TheRocker"""&" Richard"
Há outra maneira, embora mais para "Como construir a seguinte seqüência de caracteres em uma fórmula do Excel:" Maurice "The Rocket" Richard "" que "Como criar seqüências de caracteres contendo aspas duplas nas fórmulas do Excel?", Que é simplesmente usar duas aspas simples:
À esquerda, o Calibri é recortado de uma planilha do Excel e, à direita, um recorte de uma janela do VBA. Na minha opinião, escapar como mencionado por @YonahW vence 'mãos para baixo', mas duas aspas simples não digitam mais que duas duplas e a diferença é razoavelmente aparente no VBA sem pressionamentos de tecla adicionais, enquanto, potencialmente, não é perceptível em uma planilha.
""
Talvez seja apenas porque eu tenho o Mac Excel 2011