Mir ist aufgefallen, dass dies "EXEC MySproc," & "arg, " & "arg2"
im Wesentlichen dasselbe ist wie =CONCATENATE("EXEC MySproc,", "arg,", "arg2")
die Fähigkeit, Auswertungen, Funktionen usw. zu verwenden. Was ist der Verwendungszweck von =CONCATENATE()
vs &
?
microsoft-excel
Taylor Ackley
quelle
quelle
CONCATENATE()
und&
werden intern umgesetzt anders in Excel?Antworten:
Es ist für Leute, die mehr tippen möchten. Wahrscheinlich dasselbe Publikum, das Dinge tut wie
=Sum((A1*A2)-A3)
statt=(A1*A2)-A3
. (Ja, diese Leute existieren und ich weiß nicht, warum sie das tun)Es bietet auch wunderbare Möglichkeiten, Ihre allererste benutzerdefinierte Funktion mit VBA zu erstellen, um etwas Nützlicheres als Concatenate () zu erstellen.
Excel 2016 (mit einem Office 365-Abonnement) verfügt über eine neue Funktion namens TextJoin () , die ein Trennzeichen und einen Bereich als Argumente verwendet und viel schneller ist als das Eingeben des kaufmännischen und des Trennzeichens als Textzeichenfolgen. Nun, das ist nützlich.
quelle
=Sum(A1,A2)
(als Alternative zu=A1+B1
)?=A1+A2
aber aus irgendeinem Grund schreiben sie=Sum(A1+A1)
. Oder=Sum(A1-A2)
wo sie uns könnten=A1-A2
. Oder=Sum(A1*A2)
wo sie brauchen könnten=A1*A2
. Einige Leute setzen alle Arten von Formeln in eine Sum () - Funktion und ich versuche zu verstehen, warum.Es ist wahrscheinlich, weil sie die Schaltfläche Funktion einfügen verwenden.
Ich mache das manchmal, wenn ich mit der linken Hand esse und nur ein paar einfache Formeln mache, oder wenn ich ein Touch-Gerät verwende und nicht die Mühe habe, zwischen den Symbolen, Buchstaben und Zahlen auf dem Touchscreen zu wechseln .
quelle
.
für Perl, pipe-pipe||
für SQL, no char für cmd und bash+
für Java erinnern . Brauche ich wirklich&
nur für Excel?.
,||
und+
dann kannst du dich erinnern&
. Es ist einfacher alsconcatenate
, esp. wenn man nicht fließend Englisch spricht. Es wird auch in VBA verwendetVERKETTEN
in deutschem Excel)Es hat nur historische und Kompatibilitätsgründe. Frühere Versionen von Excel haben ein Format nicht unterstützt, und andere Tabellenkalkulationsprogramme (wie Google Text & Tabellen, Apple Numbers oder Open Office) haben das andere Format nicht unterstützt.
Wählen Sie, was Sie bevorzugen.
Beachten Sie, dass Excel je nach Speicherformat mehr Speicherplatz benötigt
CONCATENATE()
als&
.quelle
&
der Ersatz istCONCATENATE
. Ich benutze selten Excel, aber wenn ich es tue, ist es normalerweise für etwas, das Verkettung benötigtMeiner Meinung nach kann die selektive Verwendung von Verkettung und Et-Zeichen zu klareren Formeln führen.
Diese Verkettung von Adressdaten unter Verwendung einer Mischung aus
CONCATENATE
und&
scheint mir klarer:Als die ausschließliche Verwendung von
&
:Und die ausschließliche Verwendung von
CONCATENATE
Andererseits
BuildAddress
würde ich argumentieren, dass eine UDF wie eine bessere Lösung wäre (und besser in der Lage wäre, die Feinheiten der Adressformatierung in Internationalisierungsdomänen zu handhaben - obwohl ich das nicht implementiert habe) ...Aber vielleicht ein weiteres Beispiel, das schließt die Verwendung
&
innerhalb der Stringliteral, zeigt besser die Schwierigkeit , eine Formel zu lesen , dass Kräfte sich ausschließlich Operatoren:Könnte besser geschrieben werden als:
Auf die Leistung kommt es jedoch an. Abhängig von der Anzahl der zu verkettenden Argumente und der Länge der einzelnen Argumente
CONCATENATE
scheint die Funktion den Verkettungsoperator um einen Faktor zwischen 4 und 6 zu übertreffen. Zugegeben, dieses Beispiel ist mit extrem 255 Argumente werden 10.000 Mal verkettet. Es wird nicht empfohlen, eine Argumentzeichenfolge mit einer Länge von mehr als 32 zu verwenden, da sonst möglicherweise der Arbeitsspeicher ausgeht oder Excel abstürzt.Hier ist ein grober Timing-Mechanismus:
Und die Ergebnisse, je nach Länge der Argumente:
Aber wir haben noch nicht einmal über den Elefanten im Raum gesprochen. Sie erstellen einen SQL-Befehl mithilfe der Verkettung. Mach das nicht. Sie führen eine gespeicherte Prozedur aus, die Parameter akzeptiert. Wenn Sie Ihre Eingaben nicht bereinigt haben (und ich nehme an, Sie haben es nicht getan), müssen Sie beim Erstellen einer SQL-Zeichenfolge mithilfe der Verkettung einen SQL-Injection-Angriff ausführen. Sie können auch eine UDF mit dem Namen
JohnnyDropTables
...quelle
Es ist ein semantischer Domänenunterschied. Verketten ist der Name einer Tabellenkalkulationsfunktion. Das kaufmännische Und ist ein Verkettungsoperator , der von Visual Basic entlehnt wurde. Leute, die niemals VBA öffnen, finden eine Funktion viel einfacher zu verwenden als VBA-Syntax. Aus dem gleichen Grund gibt es einen Hotkey, ein Symbol und eine Menüoption zum Speichern, wodurch die Verwendung der Software vereinfacht wird.
quelle
Ich benutze beides.
Bei langen Listen, die ich möglicherweise visuell überprüfen muss, benötigt ein Komma weniger Platz als ein kaufmännisches Und.
Es ist einfacher, eine Liste von Zellen zu lesen, die durch Kommas als durch kaufmännisches Und getrennt sind, insbesondere da ein kaufmännisches Und (nach einem Tag von 15 Stunden) zu sehr wie ein $ aussieht.
Dies bietet eine sinnvolle Rolle für CONCATENATE.
Aber - stimmen Sie zu - es gibt keinen Geschwindigkeitsvorteil oder einen funktionalen Unterschied.
quelle
Ein besonderer Anwendungsfall ist, dass=CONCATENATE(A1:A10)
viel kürzer ist als=A1&A2&A3&A4&A4&A6&A7&A8&A9&A10
. Es ist auch viel offensichtlicher richtig (tatsächlich hat die Beispielversion&
einen absichtlichen Fehler).Ich habe es zuerst versucht, aber ich habe das Office Excel verwendet, das auf Deutsch ist.
TEXTKETTE
verhält sich so wie ich es beschreibe, aber die Dokumentation zeigt, dass es sich um eine neue Funktion handelt und ersetztVERKETTEN
(was dem deutschen Äquivalent entsprichtCONCATENATE
).quelle
CONCATENATE
Form offensichtlicher korrekt ist. Wenn Sie alle Elemente eines Bereichs verketten möchten, ist es weniger fehleranfällig, den Bereich anzugeben, als jedes Element einzeln.&
Formulars weist einen bewussten Fehler auf.=CONCATENATE(A1:A10)
funktioniert nicht in Excel. Wenn Sie über eine solche Funktion verfügen, handelt es sich um eine benutzerdefinierte UDF, nicht um natives Excel. Es kann jedoch keine UDF mit demselben Namen wie die native Funktion sein.SUM
und Operatoren wie+
, es gilt jedoch nicht für die Excel-CONCATENATE
Funktion.=CONCATENATE(A1:A2)
ist nie das gleiche Ergebnis wie=A1&A2
=CONCATENATE(A1:A10)
gibt das ergebnis ausA1
, also ist es natürlich nicht nur kürzer sondern auch andersDie wahren Antworten habe ich hier nicht gesehen, aber ich habe einige Einsichten. (für alle, die in Zukunft diese Antwort nachschlagen könnten)
"Verketten" ist eine ältere Legacy-Funktion, die die gleichen Funktionen ausführt wie "&". "&" Wurde später hinzugefügt, um die Konsistenz in den Programmiersprachen zu gewährleisten. "Verketten" wurde jedoch durch "Verketten" ersetzt, um Bereiche zu unterstützen, sodass Sie A1: A10 kombinieren können, ohne ein benutzerdefiniertes Skript zu benötigen. Das "&" lässt noch keinen Bereich zu und nimmt nur die erste Zelle auf die gleiche Weise wie "Verketten". Wenn Sie also einen Bereich kombinieren, bietet das "Concat" eine zusätzliche Funktionsänderung gegenüber den beiden vorherigen Styles, die nur unterschiedlich codiert sind. Machen Sie "Verketten" und "&" im Wesentlichen zu einer Präferenz, wenn Sie kombinierte Zeichenfolgen verwenden, die nicht für den Bereich erforderlich sind.
https://support.office.com/de-de/article/concat-function-9b1a9a3f-94ff-41af-9736-694cbd6b4ca2
quelle
RTFM Microsoft sagt, verwenden Sie die
&
.Übrigens erhalten Sie unterschiedliche Antworten, wenn Sie den SUM-Operator verwenden.
quelle
=
Alternativen - Eingabe von Funktionen wie@CONCATENATE(A1,A2)
und Berechnungen wie+A5+A6
oder-A5+A6
.