simples - incluir texto en formula excel
¿Cómo crear cadenas que contengan comillas dobles en las fórmulas de Excel? (12)
¿Has intentado escapar con una doble cita?
= "Maurice ""The Rocket"" Richard"
¿Cómo puedo construir la siguiente cadena en una fórmula de Excel:
Mauricio "el cohete" richard
Si estoy usando comillas simples, es trivial = "Maurice ''The Rocket'' Richard"
pero ¿qué pasa con las comillas dobles?
Alternativamente, puede utilizar la función CHAR
:
= "Maurice " & CHAR(34) & "Rocket" & CHAR(34) & " Richard"
Concatenar "
como una célula ceparada:
A | B | C | D
1 " | text | " | =CONCATENATE(A1; B1; C1);
D1 displays "text"
Devolver una cadena vacía o de longitud cero (por ejemplo, ""
) para hacer que una celda aparezca en blanco es una práctica común en una fórmula de hoja de cálculo, pero volver a crear esa opción cuando se inserta la fórmula a través de la propiedad Range.Formula o Range.FormulaR1C1 en VBA es difícil a la necesidad de tener que duplicar los caracteres de comillas dobles dentro de una cadena entre comillas.
La función TEXTO nativa de la hoja de trabajo puede producir el mismo resultado sin usar comillas.
''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
A mi modo de ver, el uso de TEXT(,)
en lugar de ""
limpia incluso una fórmula simple como la de arriba. Los beneficios se vuelven cada vez más significativos cuando se usan en fórmulas más complicadas, como la práctica de agregar una cadena vacía a un VLOOKUP para evitar devolver un cero a la celda cuando una búsqueda resulta en un espacio en blanco o devuelve una cadena vacía sin concordancia con 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(,))"
Con TEXT(,)
reemplazando el antiguo ""
método de entrega de una cadena vacía, podría dejar de usar un ábaco para determinar si tiene el número correcto de caracteres de comillas en una cadena de fórmula.
En el caso de que necesite hacer esto con JSON:
=CONCATENATE("''{""service"": { ""field"": "&A2&"}}''")
Hay otra forma, aunque más para "¿Cómo puedo construir la siguiente cadena en una fórmula de Excel:" Maurice "The Rocket" Richard "" que en "¿Cómo crear cadenas que contengan comillas dobles en las fórmulas de Excel?", Que es simplemente para usar dos comillas simples:
A la izquierda está Calibri recortado de una hoja de cálculo de Excel y a la derecha un recorte de una ventana VBA. Desde mi punto de vista, escapar como lo mencionó @YonahW gana ''incuestionablemente'' pero dos comillas simples no son más escritas que dos dobles y la diferencia es razonablemente aparente en VBA sin pulsaciones adicionales, mientras que, potencialmente, no se nota en una hoja de cálculo.
Tres comillas dobles: " " " x " " "
= "x"
Excel cambiará automáticamente a una comilla doble. p.ej:
=CONCATENATE("""x"""," hi")
= "x" hola
Usa chr (34) Código: Joe = "Hola," & Chr (34) & "Joe" & Chr (34) ActiveCell.Value = Joe
Resultado: Hola, "Joe".
Yo uso una función para esto (si el libro de trabajo ya tiene VBA).
Function Quote(inputText As String) As String
Quote = Chr(34) & inputText & Chr(34)
End Function
Esto es del libro de Sue Mosher "Programación de Microsoft Outlook". Entonces tu fórmula sería:
="Maurice "&Quote("Rocket")&" Richard"
Esto es similar a lo que publicó Dave DuPlantis .
funcionará para macros usando .Formula = "=THEFORMULAFUNCTION("STUFF")"
sería como: funcionará para macros usando .Formula = "=THEFORMULAFUNCTION(CHAR(34) & STUFF & CHAR(34))"
Función VBA
1) .Formula = "=" "THEFORMULAFUNCTION" "& (CHAR (34) &" "STUFF" "& CHAR (34))"
2) .Formula = "THEFORMULAFUNCTION" "STUFF" ""
El primer método usa vba para escribir una fórmula en una celda que da como resultado el valor calculado:
THEFORMULAFUNCTION "STUFF"
El segundo método usa vba para escribir una cadena en una celda que da como resultado el valor:
THEFORMULAFUNCTION "STUFF"
Excel Excel / Formula
1) = "THEFORMULAFUNCTION" & (CHAR (34) & "STUFF" & CHAR (34))
2) THEORMULAFUNCION "STUFF"
="Maurice "&"""TheRocker"""&" Richard"