Hét vraag- en antwoordplatform van Nederland

Excelvraag: hoe tel je drie klassen in twee kolommen?

Stel, er zijn twee kolommen: A en B.
Elke kolom heeft waarde JA of Nee.

Dan zijn er DRIE klassen:
A= Ja en B=Ja
A= Nee en B=Ja
A=Ja en B=Ja

Hoe maak ik een formule die de jaatjes onder A telt, met uitzondering van de dubbele-ja's en en onder B, maar ook hier zonder de dubbele jas?

Dus

Ja Nee
Ja Ja
Ja Nee
Nee Ja

2 1

Verwijderde gebruiker
13 jaar geleden
in: Software
851

Heb je meer informatie nodig om de vraag te beantwoorden? Reageer dan hier.

Het beste antwoord

Voor dit voorbeeld ga ik ervan uit dat je de bovenstaande Ja's en Nee's in A1 t/m B4 hebt gezet.

Ga dan naar A5, en type daar het volgende in:

      =SOM((A1:A4="Ja")*(B1:B4<>"Ja"))

Heel belangrijk: zodra je dat hebt ingetypt, druk je op Control+Shift+Enter.

Vervolgens ga je naar B5; daar type je het volgende in:

      =SOM((B1:B4="Ja")*(A1:A4<>"Ja"))

Ook nu eindig je door Control+Shift+Enter in te typen.

De beide formules komen nu tussen accolades te staan, om aan te geven dat het zogenaamde array formulas zijn. Array formulas zijn, simpel gezegd, een soort formules met een ingebouwde sommatiefunctie.

Toegevoegd na 2 uur:
 
Laat ik uitleggen wat deze formule doet. Ik neem de eerste formule als voorbeeld; de tweede werkt natuurlijk net zo.

De uitdrukking

      =(A1="Ja")

heeft als resultaat ofwel WAAR, ofwel ONWAAR. Ook de uitdrukking

      =(B1<>"Ja")

heeft als resultaat ofwel WAAR, ofwel ONWAAR.

Door beide uitdrukkingen met elkaar te vermenigvuldigen, worden ze automatisch eerst omgezet in een getalswaarde. WAAR wordt daarbij omgezet in 1, ONWAAR wordt omgezet in 0.

Dus

      =(A1="Ja")*(B1<>"Ja")

wordt 0*0, of 0*1, of 1*0, of 1*1  --  net wat de waarden van A1 en B1 zijn. Het resultaat wordt alleen maar 1 wanneer A1 "Ja" is, én tegelijk B1 niet "Ja" is.

Dit is dus het begin van de door jou gewenste Ja's in A, zonder de dubbele Ja's mee te tellen.

Nu kun je natuurlijk bovenstaande vermenigvuldiging in C1 zetten; daar komt dan (in dit geval) een 1 te staan. Vervolgens zet je dezelfde formule in C2 t/m C4 neer, en tel je de resultaten van C1 t/m C4 op. Da's de eenvoudige manier, maar je hebt wel een tussenstap (de formules in C1 t/m C4) nodig.

In plaats van die tussenstap, kun je ook de sommatie meteen in de cel zelf laten gebeuren.

Daartoe zet je niet A1 neer, maar A1:A4. En niet B1, maar B1:B4. Vervolgens sommeren door er SOM() omheen te zetten.

Je krijgt dan

      =SOM((A1:A4="Ja")*(B1:B4<>"Ja"))

Om het sommeren daadwerkelijk te laten gebeuren, moet je de formule invoeren met Control-Shift-Enter. Daardoor ziet Excel dat je niet zomaar A1:A4 bedoelt, en B1:B4, maar dat je wilt dat hij het splitst in A1 t/m A4 en B1 t/m B4, en dat hij daarna pas de resultaten aan SOM() geeft om ze op te tellen.
(Lees meer...)
Cryofiel
13 jaar geleden
Verwijderde gebruiker
13 jaar geleden
fungeert het * hier als AND-operator?
Cryofiel
13 jaar geleden
Zoiets, ja. Ik zat toevallig net mijn extra uitleg te typen terwijl jij bovenstaande reactie gaf. Wat je doet is de logische waarden (WAAR of ONWAAR) omzetten in getallen (1 of 0). Als je die met elkaar vermenigvuldigt, krijg je inderdaad hetzelfde effect als bij het toepassen van de AND-operator.

Andere antwoorden (1)

Het is me gelukt in Excel, de oplossing zit in de afbeelding die ik toegevoegd heb. Als je die formules letterlijk overtypt in Excel, dan doet hij het.

Als jouw Excel op Nederlands staat moet je IF vervangen door ALS en moet je SUM vervangen door SOM.
(Lees meer...)
Verwijderde gebruiker
13 jaar geleden
Verwijderde gebruiker
13 jaar geleden
geneste formules... slim.

Weet jij het beter..?

Het is niet mogelijk om je eigen vraag te beantwoorden Je mag slechts 1 keer antwoord geven op een vraag Je hebt vandaag al antwoorden gegeven. Morgen mag je opnieuw maximaal antwoorden geven.

0 / 5000
Gekozen afbeelding