Excel fügt Anführungszeichen am Ende meiner Formel ein

2

Excel korrigiert meine Formel automatisch mit den Worten "Wir haben einen Tippfehler in Ihrer Formel gefunden und versucht, diesen zu korrigieren:"

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

Meine ursprüngliche Formel enthält am Ende nur drei Anführungszeichen:

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

Zu Ihrer Information kombiniere ich die Daten aus zwei Spalten in Excel und das Ergebnis soll so aussehen:

"welcome":"Bienvenue!"

Die A4-Zelle enthält: welcome
Die D4-Zelle enthält:Bienvenue!

CHAR (34) steht für das anfängliche Anführungszeichen für Zelle A4.

Die Excel- CONCAT()Funktion kombiniert die Daten aus verschiedenen MS Excel-Zellen.

Hinweis: Diese Frage ähnelt nicht der Superuser-Frage. Excel fügt dem Ergebnis meiner Formel Anführungszeichen hinzu

Gabriel
quelle
2
Hey Gabriel, willkommen bei Superuser. Sie haben Ihr Problem bereits selbst gelöst. Anstatt "" "zu verwenden, können Sie einfach:, CHAR (34) verwenden, was ein doppeltes Anführungszeichen ergibt. Sie müssen mehr Kommas verwenden, aber dies ist die einfachste Lösung, die ich sehe.
Michthan
@Michthan oder befolge einfach die Regeln für Excel-Trennzeichen - siehe meine Antwort.
Carl Witthoft,
1
Excel korrigiert Ihre falsche Formel. Sie sollten sich darüber freuen. """ist keine gültige Zeichenfolge, solange """"es in
Ordnung
Basierend auf den Antworten von hannu, Michthan und fixer1234 denke ich, dass ich diese Formel verwenden werde = CONCAT (CHAR (34), A4, "": "", D4, CHAR (34), ",") als die einfachste dem Rest des an diesem Projekt beteiligten Teams, das aus Übersetzern, Programmierern und PM / Admin-Mitarbeitern bestehen kann, zu erklären. Aber zögern Sie nicht zu kommentieren, danke.
Gabriel

Antworten:

14

Anführungszeichen haben in Excel eine besondere Bedeutung. Sie müssen also durch einige Rahmen springen, um sie als reguläres Zeichen zu verwenden. Sie können das tun, indem Sie sie verdoppeln, aber das kann je nach Situation kompliziert werden.

Ignorieren Sie Apostrophe (manchmal auch "einfache Anführungszeichen" genannt), um Terminologieverwirrungen zu vermeiden. Alle Verweise auf "Anführungszeichen" oder "Anführungszeichen" beziehen sich auf das Symbol mit zwei Häkchen.

Die Regeln sind verständlich, wenn Sie erkennen, was los ist.

  • Anführungszeichen müssen immer paarweise sein (aber nicht unbedingt nebeneinander).
  • Ein doppeltes Anführungszeichen wird zu einem einzelnen Textzeichen (einem Anführungszeichen).
  • Text muss in Anführungszeichen stehen.
  • Befindet sich das doppelte Anführungszeichen in der Mitte einer Zeichenfolge, handelt es sich nur um ein anderes Zeichen.
  • Befindet es sich am Anfang oder Ende einer Zeichenfolge, muss die Zeichenfolge, zu der es gehört, in Anführungszeichen gesetzt werden (sodass Sie am Anfang oder Ende dreifache Anführungszeichen erhalten).
  • Wenn es als einziges Zeichen verkettet ist (am Anfang, in der Mitte oder am Ende eines Ausdrucks), muss es in Anführungszeichen eingeschlossen werden (so dass Sie vierfache Anführungszeichen erhalten).

Hier sind einige Beispiele mit Ihrer Formel:

Bildbeschreibung hier eingeben

  • Anhand dreifacher Anführungszeichen um den Doppelpunkt können Sie erkennen, dass Sie alles richtig gemacht haben. Stellen Sie sich das als den Doppelpunkt vor, der von doppelten Anführungszeichen umgeben ist, und all das in Anführungszeichen, um diesen Text abzugrenzen.
  • Mit CHAR (34) hast du es wieder richtig gemacht, die Zeichenkette zu starten. Sie können dasselbe für das letzte Zeichen tun.
  • Da das erste und das letzte Zeichen verkettet sind, können Sie diese (wie D4&"""") alternativ vervierfachen . Das ist, was Excel versucht hat, für Sie zu beheben.
  • Wenn der Ausdruck mit hartcodiertem Text anstelle eines Zellverweises begonnen oder beendet wurde, könnten Sie dreifache Anführungszeichen verwenden (wie """Welcome")

Dies kann also mit mehreren Anführungszeichen geschehen, obwohl Sie die Augen verschränken können, wenn Sie Formelprobleme diagnostizieren müssen, wenn Sie Fehler machen. Die einfache und sichere Möglichkeit besteht darin, CHAR (34) zu verwenden, insbesondere wenn vierfache Anführungszeichen erforderlich sind, wie Hannus Antwort nahe legt (obwohl ich es selbst vorziehen würde, die dreifachen Anführungszeichen um den Doppelpunkt herum zu belassen, um zu vermeiden, dass ein Textausdruck in drei geteilt wird Stücke; aber deshalb gibt es sowohl Vanille- als auch Schokoladeneis).

fixer1234
quelle
Ich bevorzuge Heath Bar Crunch selbst
Carl Witthoft
Es sollte nicht schwierig sein, sich nicht ins Auge zu fassen - die zwei einfachsten Methoden, um festzustellen, ob es sich um ein Schlusszitat oder ein wörtliches Zitat handelt, sind 1. Lesen Sie das Eröffnungszitat. Dann, während die nächsten Anführungszeichen paarweise kommen, sind sie wörtliche Anführungszeichen. Wenn nicht, ist es ein Schlusszitat. Alternativ können Sie sie in wesentlich kleinere Zeichenfolgen aufteilen - """:"""wird "" ":" "". Dann verbinden Sie einfach alle Zeichenfolgen mit Anführungszeichen
jemand
Meine vollständige Formel lautet tatsächlich = CONCAT (CHAR (34), A4, "": "", D4, "", ","), während ich eine JSON-Zeichenfolge in der Spalte G aus Daten in der Spalte erstelle A und Spalte D. Würden Sie diese Formel daher empfehlen? = "" "& A4 &" ":" "& D4 &" "," Ich möchte, dass das Ergebnis so aussieht: "welcome": "Bienvenue!",
Gabriel
@ Gabriel, hast du es versucht, um zu sehen, was du bekommst? :-) Das sieht richtig aus, obwohl es in Ihrer gewünschten Ausgabe in Ihrem Kommentar so aussieht, als ob nach dem Doppelpunkt ein Leerzeichen steht, das Sie einfügen müssten, wenn dies richtig ist:. . . ( """: """vs. """:"""). Es ist Ihre persönliche Präferenz, CONCAT mit Kommas oder Et-Zeichen zu verwenden. Gleiches gilt für """"vs. CHAR (34) für ein einzelnes verkettetes Anführungszeichen. Daher funktioniert auch die Version der Formel in Ihrem Kommentar zu Hannus Antwort (der gleiche Punkt mit dem scheinbaren Leerzeichen nach dem Doppelpunkt: ": "vs. ":").
Fixer1234
@ fixer1234 Oh, ich habe jetzt gesehen, dass ich keinen Platz mehr habe, danke! :-). Ja, ich brauche das Leerzeichen nach dem Komma. Ich versuche nur, eine Formel zu finden, die jeder, der mit der Excel-Datei befasst ist, leicht versteht und leicht ändern kann. Daher möchte ich nur einige Standard-Excel-Praktiken befolgen.
Gabriel
4

Diese beiden sind gleichwertig und beide erstellen die erwartete Zeichenfolge:

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

Beachten Sie, dass ,interne Funktionsaufrufe möglicherweise in ;abhängig von Ihrem Gebietsschema geändert werden müssen.

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

Sie können doppelte Anführungszeichen in eine Zeichenfolge einfügen, da "eascaping" verfügbar ist. In Kombination mit der Tatsache, dass Zeichenfolgen mit einem doppelten Anführungszeichen beginnen und enden, wird dies schnell hässlich und schwierig zu pflegen. ZB ="""welcome"":""Bienvenue!"""- Sie benötigen mehr Anführungszeichen, um die obigen Zellreferenzen hinzuzufügen. =""""&A4&""":"""&D4&""""... leicht falsch zu verstehen.

HINWEIS: Aktualisiertes WRT-Anführungszeichen wird ausgeblendet.

Hannu
quelle
Mit 4 doppelten Anführungszeichen in einer Reihe ist nichts falsch, außer es sieht hässlich aus
Carl Witthoft
1
@CarlWitthoft, es sei denn, Sie müssen einen Tippfehler in einer langen Formel mit dreifachen und vierfachen Anführungszeichen diagnostizieren. Das ist eines von zwei Dingen, die dich blind machen können. :-)
fixer1234
@ Fixer1234 Stimmt, dass - oder 7-tiefe Klammern
Carl Witthoft
Meine vollständige Formel lautet tatsächlich = CONCAT (CHAR (34), A4, "": "", D4, "", ","), während ich eine JSON-Zeichenfolge in der Spalte G aus Daten in der Spalte erstelle A und Spalte D. Würden Sie diese Formel daher empfehlen? = CONCAT (CHAR (34), A4, CHAR (34), ":", CHAR (34), D4, CHAR (34), ",",) Ich möchte, dass das Ergebnis so aussieht: "welcome": " Bienvenue! ",
Gabriel
Die Wahl liegt ganz bei Ihnen. Ich kann kaum glauben, dass die Auswahl in Bezug auf die Geschwindigkeit einen großen Unterschied macht, zumindest nicht, wenn Sie mäßige Datenmengen verwenden. Es kann jedoch einen Unterschied geben, wenn Sie große Datenmengen haben. Ich würde eine gute Lesbarkeit anstreben, damit eine spätere Überprüfung (nach etwa einem Jahr) einfacher wäre. zB bei Änderungsversuchen.
Hannu
1

Ich bin nicht sicher, was die Verwirrung hier ist: Vielleicht haben Sie versucht, alle Argumente in CONCATAnführungszeichen zu setzen? Sie verketten mehrere Zeichenfolgen und jede muss den Regeln von Excel entsprechen. Jede Zeichenfolge muss dann an jedem Ende mit einem doppelten Anführungszeichen getrennt werden. Daher müssen Sie für jede beliebige Zeichenfolge schreiben

"the_string" 

Wenn Ihre Zeichenfolge ein Anführungszeichen enthält, muss dieses Anführungszeichen durch Wiederholen "maskiert" werden.

"the""string"   

Befolgen Sie also in jeder Instanz einer Zeichenfolge in Ihrer Verkettung diese Regel. Denken Sie an Ihre erste und letzte Saite als

$DELIMITER""$DELIMITER

Da der Wert von $ DELIMITER zufällig das doppelte Anführungszeichen ist, sieht es hässlich aus, befolgt aber die Regeln.

Carl Witthoft
quelle
Carl tolle Antwort, das macht für mich vollkommen Sinn!
Michthan
0

Doppelte Anführungszeichen sind Sonderzeichen in Excel und müssen durch Eingabe von zwei doppelten Anführungszeichen maskiert werden.

  • ="""" Ausgänge "
  • ="My name is ""James""." Ausgänge My name is "James".
  • =""""""""""""""""""""""(22 Zitate) Ausgaben """"""""""(10 Zitate)

Die ersten und letzten doppelten Anführungszeichen sind die Anlage, und alle 2 doppelten Anführungszeichen dazwischen werden zu einem doppelten Anführungszeichen .


Also los geht's.

  • Zelle A4: welcome
  • Zelle D4: Bienvenue!

  • Formel: ="""" & A4 & """:""" & D4 & """"

  • Ausgabe: "welcome":"Bienvenue!"

(Zum leichteren Lesen wurde &anstelle der CONCAT(...)Verkettung verwendet.)

Wilson
quelle