2010-07-20 19 views
10

Próbujesz odszyfrować niektóre formuły Excela i widzę coś takiego jak SUMPRODUCT (- Lewe (...) ...)Co - w programie Excel?

Co to jest? Naturalnie wydaje mi się to zmniejszać, ale nie mogę znaleźć żadnej dokumentacji na ten temat.

Dzięki.

Odpowiedz

14

Podwójne myślenie jest znane jako podwójny operator jednoargumentowy.

Spróbuj ten link: Why use -- in SUMPRODUCT formulae

szczególności:

SUMPRODUCT() ignoruje wpisy nienumeryczne. Porównanie zwraca wartość logiczną (TRUE/FALSE), która nie jest numeryczna. XL automatycznie wymusza wartości logiczne na wartości liczbowe (odpowiednio 1/0) w operacjach arytmetycznych (np. TRUE + 0 = 1).

Najbardziej efektywnym sposobem wymuszenia wartości jest najpierw zastosowanie operatora jednoargumentowego minus, wymuszenie wartości PRAWDA/FAŁSZ na -1/0, a następnie ponowne zastosowanie w celu zanegowania wartości, np. +1/0.

Pojedyncza operatorem, (-) wymusza prawda/fałsz wartości do -1/0. Korzystając z podwójnego jednoczęściowego opera, ponownie przymuszamy wartości do 1/0.

4

Operator jednoargumentowy (-) jest skrótową metodą konwersji instrukcji true/false na -1/0.

Pojedynczy operator konwersji - (true) do -1, a więc dwukrotnie operator jednoargumentowy służy do konwersji, które z powrotem do 1:

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

Używam SUMPRODUCT na chwilę i mieć zawsze użył symbolu * zamiast --. Jestem pewien, że zadałem to samo pytanie, które zadałem, ale nie pamiętam powodu, który mi dali, ale powiedziano mi, że nie było potrzeby, aby sumproduct radził sobie całkiem dobrze bez tego.

W każdym razie, =sumproduct(()*()*()*()) zawsze pracował dla mnie i jest mniej kłopotliwy.

+0

- może zmusić pojedynczą tablicę na raz. – Noumenon

0

Wartości logiczne PRAWDA i FAŁSZ w programie Excel są traktowane jako 1 i 0, ale musimy je przekonwertować. Aby przekształcić je w liczby 1 lub 0, wykonaj jakąś operację matematyczną. Operator Unary neguje wartość boolowską (operację matematyczną), a zatem konwertuje wartość logiczną na liczbę. To samo działa w TRUE * FALSE = 0

Powiązane problemy