2013-01-07 11 views
12

mam wartości logicznych w kolumnie:prawda i fałsz nie działają wewnątrz SUM()

A 
1 TRUE 
2 FALSE 
3 TRUE 
4 TRUE 

zdaję sobie sprawę, że w programie Excel =TRUE+TRUE powraca 2 i =TRUE+FALSE powraca 1 co implikuje TRUE jest równa 1 i FALSE jest równy 0. Jednak SUM(A1:A4) zawsze zwraca 0 bez względu na to, czy jest to styl formuły tablicowej ... Oczekuję, że będzie to 3 (numer TRUE w zakresie).

Jednym ze sposobów uzyskania 3 jest użycie {=SUM(IF(A1:A4,1,0))} (styl formuły tablicowej), który uważam za nadmiarowy ... Czy ktoś mógłby pomyśleć o prostszym rozwiązaniu niż to?

Odpowiedz

11

Możesz spróbować prefiksować zakres z -- i wprowadzać jako tablicę. -- konwertuje wartości logicznych na ich odpowiedniki całkowitą:

=SUM(--(A1:A4)) 

za tym documentation na SUM funkcję:

Jeśli argument jest tablicą lub odniesienie tylko numerów w tej tablicy lub odniesienia są policzone. Puste komórki, wartości logiczne lub tekst w tablicy lub odwołaniu są ignorowane.

+1

Dzięki ... masz jakieś inne rozwiązanie niż '--'? – SoftTimur

+1

@SoftTimur Jakie są twoje ograniczenia? Liczenie może być najlepszą opcją, jeśli nie chcesz sumować. Jeśli jednak chcesz użyć 'SUMA', myślę, że byłoby to najkrótsze rozwiązanie. W przeciwnym razie twoje podejście do porównywania z 'IF' byłoby inne. Zasadniczo funkcja 'SUM' nie sumuje wartości binarnych w zakresie od projektu, więc opcje stają się nieco bardziej ograniczone :) – RocketDonkey

+1

Jest to formuła tablicowa, która wymaga użycia Ctrl-Shift-Enter. – denfromufa

10

miałem sukces LICZ.WARUNKI w przedziale gdzie warunek jest spełniony

+0

W mojej sytuacji countifs/countif, suma itp. Nie działa z tablicami boolowskimi w ogóle, ale - na początku to naprawił. Pracował 4 dni temu, dokładnie w tym samym arkuszu kalkulacyjnym. Teraz zamiast tego wraca # N/A. Dziwaczny. – AER

+0

Hmm ... excel potrafi robić fajne rzeczy. Bez arkusza kalkulacyjnego sprawdziłbym Twoją formułę i być może upewniam się, że twoje referencje są poprawne. Przenieśliłem nazwy komórek i podobne rzeczy w przeszłości i otrzymałem również wynik # N/A. – cowboydan

2

Jeśli chcesz użyć sumę na true/false polu mogłeś stwardnienie prawdziwe/fałszywe stan o 1, tak aby ma wartość 0 lub 1. Wtedy twoja funkcja sumowania działałaby na kolumnie.

+0

Całkowicie niedoceniana odpowiedź i jest poprawna. Nie ma nic prostszego niż pomnożenie przez 1 i działa to pięknie. – newyuppie

Powiązane problemy