Wie kann ich die folgende Zeichenfolge in einer Excel-Formel erstellen:
Maurice "The Rocket" Richard
Wenn ich einfache Anführungszeichen verwende, ist das trivial = "Maurice 'The Rocket' Richard"
aber was ist mit doppelten Anführungszeichen?
Wie kann ich die folgende Zeichenfolge in einer Excel-Formel erstellen:
Maurice "The Rocket" Richard
Wenn ich einfache Anführungszeichen verwende, ist das trivial = "Maurice 'The Rocket' Richard"
aber was ist mit doppelten Anführungszeichen?
Antworten:
Alternativ können Sie die CHAR
Funktion verwenden:
= "Maurice " & CHAR(34) & "Rocket" & CHAR(34) & " Richard"
&
funktionierte die Verkettung mit einem doppelten Anführungszeichen kurz vor oder kurz nach dem kaufmännischen Und nicht mit der Methode des doppelten doppelten Anführungszeichens.
Drei doppelte Anführungszeichen: " " " x " " "
= "x"
Excel ändert sich automatisch in ein doppeltes Anführungszeichen. z.B:
=CONCATENATE("""x"""," hi")
= "x" hi
Ich benutze dafür eine Funktion (wenn die Arbeitsmappe bereits VBA hat).
Function Quote(inputText As String) As String
Quote = Chr(34) & inputText & Chr(34)
End Function
Dies ist aus Sue Moshers Buch "Microsoft Outlook Programming". Dann wäre Ihre Formel:
="Maurice "&Quote("Rocket")&" Richard"
Dies ähnelt dem, was Dave DuPlantis gepostet hat.
Für den Fall, dass Sie dies mit JSON tun müssen:
=CONCATENATE("'{""service"": { ""field"": "&A2&"}}'")
Funktioniert dies für die Verwendung von Makros, .Formula = "=THEFORMULAFUNCTION("STUFF")"
so wäre es wie: Funktioniert dies für die Verwendung von Makros?.Formula = "=THEFORMULAFUNCTION(CHAR(34) & STUFF & CHAR(34))"
Das Zurückgeben einer leeren Zeichenfolge oder einer Zeichenfolge mit der Länge Null (z. B. ""
), um eine Zelle leer erscheinen zu lassen, ist in einer Arbeitsblattformel üblich. Diese Option wird jedoch neu erstellt, wenn die Formel über Range.Formula oder Range.FormulaR1C1 eingefügt wird Eigenschaft in VBA ist jedoch aufgrund der unhandlich Notwendigkeit, die doppelten Anführungszeichen innerhalb einer Zeichenfolge in Anführungszeichen zu verdoppeln.
Die native TEXT-Funktion des Arbeitsblatts kann das gleiche Ergebnis erzielen, ohne Anführungszeichen zu verwenden.
'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
Meines Erachtens reinigt die Verwendung TEXT(,)
anstelle von ""
sogar eine einfache Formel wie die oben beschriebene. Die Vorteile werden immer bedeutender, wenn sie in komplizierteren Formeln wie dem Anhängen einer leeren Zeichenfolge an einen VLOOKUP verwendet werden , um zu vermeiden, dass eine Null an die Zelle zurückgegeben wird, wenn eine Suche zu einem Leerzeichen führt, oder wenn bei Nichtübereinstimmung mit IFERROR eine leere Zeichenfolge zurückgegeben wird .
'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(,))"
Mit TEXT(,)
Ersetzen der alten ""
Methode einen leeren String liefert, könnte man einen Abakus zu stoppen erhalten , um festzustellen , ob Sie die richtige Anzahl von Anführungszeichen in einem Formel - String haben.
VBA-Funktion
1) .Formula = "=" "THEFORMULAFUNCTION" "& (CHAR (34) &" "STUFF" "& CHAR (34))"
2) .Formula = "THEFORMULAFUNCTION" "STUFF" ""
Die erste Methode verwendet vba, um eine Formel in eine Zelle zu schreiben, die den berechneten Wert ergibt:
THEFORMULAFUNCTION "STUFF"
Die zweite Methode verwendet vba, um eine Zeichenfolge in eine Zelle zu schreiben, die den Wert ergibt:
THEFORMULAFUNCTION "STUFF"
Excel Ergebnis / Formel
1) = "THEFORMULAFUNCTION" & (CHAR (34) & "STUFF" & CHAR (34))
2) THEFORMULAFUNCTION "STUFF"
="Maurice "&"""TheRocker"""&" Richard"
Es gibt einen anderen Weg, allerdings mehr für "Wie kann ich die folgende Zeichenfolge in einer Excel-Formel erstellen:" Maurice "The Rocket" Richard "" als für "Wie erstelle ich Zeichenfolgen mit doppelten Anführungszeichen in Excel-Formeln?", Der einfach zu verwenden ist zwei einfache Anführungszeichen:
Links ist Calibri aus einem Excel-Arbeitsblatt und rechts ein Ausschnitt aus einem VBA-Fenster. Meiner Ansicht nach gewinnt das Entkommen, wie von @YonahW erwähnt, "zweifellos", aber zwei einfache Anführungszeichen sind nicht mehr als zwei doppelte Anführungszeichen, und der Unterschied ist in VBA ohne zusätzliche Tastenanschläge einigermaßen offensichtlich, während er möglicherweise in einer Tabelle nicht erkennbar ist.
""
Vielleicht liegt es nur daran, dass ich Mac Excel 2011 habe