2010-07-20 5 views
10

Versuchen, einige Excel-Formeln zu entschlüsseln und ich sehe einige Sachen wie SUMMENPRODUKT (- Links (...) ...)Was - in Excel?

Was ist das - tun? Natürlich scheint es mir zu fallen, aber ich konnte keine Dokumentation darüber finden.

Danke.

Antwort

14

Der Doppelstrich ist als doppelter unärer Operator bekannt.

Versuchen Sie diesen Link: Why use -- in SUMPRODUCT formulae

Im Einzelnen:

SUMPRODUCT() ignoriert nicht-numerische Eingaben. Ein Vergleich gibt einen booleschen Wert (TRUE/FALSE) zurück, der nicht numerisch ist. XL erzwingt automatisch boolesche Werte zu numerischen Werten (jeweils 1/0) in arithmetischen Operationen (z. B. WAHR + 0 = 1).

Die effizienteste Möglichkeit, den Wert zu erzwingen, besteht darin, zuerst den unären Minusoperator anzuwenden, TRUE/FALSE auf -1/0 zu setzen und ihn dann erneut anzuwenden, um den Wert, z. B. +1/0, zu negieren.

Ein einzelner unärer Operator (-) coerces true/false Werte in -1/0. Bei Verwendung des doppelten unären Operators werden die Werte erneut zu 1/0.

4

Der unäre Operator (-) ist ein verkürztes Verfahren eine Wahr/Falsch-Aussage in -1/0 zu konvertieren.

Ein einzelner Operator konvertiert - (true) in -1, so dass ein Doppel unärer Operator konvertieren verwendet wird, dass wieder in 1:

-(-(true)) = -(-(1)) = 1 
-(-(false)) = -(-(0)) = 0 
0

Ich habe für eine Weile SUMPRODUCT und habe immer verwendete das * Symbol anstelle des --. Ich bin mir sicher, dass ich dieselbe Frage gestellt habe, die ich gestellt habe, aber ich kann mich nicht an den Grund erinnern, den sie mir gegeben haben, aber mir wurde gesagt, dass es keine Notwendigkeit für -- als SumProduct gibt.

Wie auch immer, =sumproduct(()*()*()*()) hat immer für mich gearbeitet, und es ist weniger verwirrend.

+0

- kann ein einzelnes Array gleichzeitig erzwingen. – Noumenon

0

Boolesche Werte WAHR und FALSCH in Excel als 1 behandelt und 0, aber wir müssen sie konvertieren. Um sie in Zahlen 1 oder 0 umzuwandeln, führen Sie eine mathematische Operation aus. Der Unary-Operator negiert den booleschen Wert (mathematische Operation) und konvertiert den booleschen Wert in Zahl. Dasselbe funktioniert in TRUE * FALSE = 0