NL/Documentation/How Tos/Calc: functie SOMPRODUCT
SOMPRODUCT
Geeft de som van de producten van de overeenkomende matrix-elementen.
Syntaxis:
SOMPRODUCT(matrix1; matrix2; ... matrix30)
- matrix1 tot en met matrix30 zijn maximaal 30 matrices of bereiken van dezelfde grootte waarvan de overeenkomende elementen moeten worden vermenigvuldigd.
- U kunt SOMPRODUCT gebruiken om het scalaire product van twee vectoren te berekenen.
- Gevorderd onderwerp:
- SOMPRODUCT evalueert elke parameter matrix1 tot en met matrix30 als een matrixformule, maar behoeft niet te worden ingevoerd als een matrixformule. Met andere woorden: het kan worden ingevoerd met de {{#switch:enter
| shift = ⇧ Shift | up = ↑ | down = ↓ | > = → | < = ← | enter = ↵ Enter | cmd = ⌘ Cmd | command = ⌘ Cmd | opt = ⌥ Opt | option = ⌥ Opt | tab = Tab ⇆ | backspace = ← Backspace | << = ← Backspace | bs = ← Backspace | * = * | # = # | ; = ; | : = : | #default = Enter }} {{#if:| + {{#switch:{{{2}}} | shift = ⇧ Shift | up = ↑ | down = ↓ | > = → | < = ← | enter = ↵ Enter | cmd = ⌘ Cmd | command = ⌘ Cmd | opt = ⌥ Opt | option = ⌥ Opt | tab = Tab ⇆ | backspace = ← Backspace | << = ← Backspace | bs = ← Backspace | * = * | # = # | ; = ; | : = : | #default = {{{2}}} }} }}{{#if:| + {{#switch:{{{3}}} | shift = ⇧ Shift | up = ↑ | down = ↓ | > = → | < = ← | enter = ↵ Enter | cmd = ⌘ Cmd | command = ⌘ Cmd | opt = ⌥ Opt | option = ⌥ Opt | tab = Tab ⇆ | backspace = ← Backspace | << = ← Backspace | bs = ← Backspace | * = * | # = # | ; = ; | : = : | #default = {{{3}}} }} }}{{#if:| + {{#switch:{{{4}}} | shift = ⇧ Shift | up = ↑ | down = ↓ | > = → | < = ← | enter = ↵ Enter | cmd = ⌘ Cmd | command = ⌘ Cmd | opt = ⌥ Opt | option = ⌥ Opt | tab = Tab ⇆ | backspace = ← Backspace | << = ← Backspace | bs = ← Backspace | * = * | # = # | ; = ; | : = : | #default = {{{4}}} }} }}{{#if:| + {{#switch:{{{5}}} | shift = ⇧ Shift | up = ↑ | down = ↓ | > = → | < = ← | enter = ↵ Enter | cmd = ⌘ Cmd | command = ⌘ Cmd | opt = ⌥ Opt | option = ⌥ Opt | tab = Tab ⇆ | backspace = ← Backspace | << = ← Backspace | bs = ← Backspace | * = * | # = # | ; = ; | : = : | #default = {{{5}}} }} }}{{#if:| + {{#switch:{{{6}}} | shift = ⇧ Shift | up = ↑ | down = ↓ | > = → | < = ← | enter = ↵ Enter | cmd = ⌘ Cmd | command = ⌘ Cmd | opt = ⌥ Opt | option = ⌥ Opt | tab = Tab ⇆ | backspace = ← Backspace | << = ← Backspace | bs = ← Backspace | * = * | # = # | ; = ; | : = : | #default = {{{6}}} }} }}-toets, in plaats van met {{#switch:ctrl | shift = ⇧ Shift | up = ↑ | down = ↓ | > = → | < = ← | enter = ↵ Enter | cmd = ⌘ Cmd | command = ⌘ Cmd | opt = ⌥ Opt | option = ⌥ Opt | tab = Tab ⇆ | backspace = ← Backspace | << = ← Backspace | bs = ← Backspace | * = * | # = # | ; = ; | : = : | #default = Ctrl }} {{#if:Shift| + {{#switch:shift | shift = ⇧ Shift | up = ↑ | down = ↓ | > = → | < = ← | enter = ↵ Enter | cmd = ⌘ Cmd | command = ⌘ Cmd | opt = ⌥ Opt | option = ⌥ Opt | tab = Tab ⇆ | backspace = ← Backspace | << = ← Backspace | bs = ← Backspace | * = * | # = # | ; = ; | : = : | #default = Shift }} }}{{#if:Enter| + {{#switch:enter | shift = ⇧ Shift | up = ↑ | down = ↓ | > = → | < = ← | enter = ↵ Enter | cmd = ⌘ Cmd | command = ⌘ Cmd | opt = ⌥ Opt | option = ⌥ Opt | tab = Tab ⇆ | backspace = ← Backspace | << = ← Backspace | bs = ← Backspace | * = * | # = # | ; = ; | : = : | #default = Enter }} }}{{#if:| + {{#switch:{{{4}}} | shift = ⇧ Shift | up = ↑ | down = ↓ | > = → | < = ← | enter = ↵ Enter | cmd = ⌘ Cmd | command = ⌘ Cmd | opt = ⌥ Opt | option = ⌥ Opt | tab = Tab ⇆ | backspace = ← Backspace | << = ← Backspace | bs = ← Backspace | * = * | # = # | ; = ; | : = : | #default = {{{4}}} }} }}{{#if:| + {{#switch:{{{5}}} | shift = ⇧ Shift | up = ↑ | down = ↓ | > = → | < = ← | enter = ↵ Enter | cmd = ⌘ Cmd | command = ⌘ Cmd | opt = ⌥ Opt | option = ⌥ Opt | tab = Tab ⇆ | backspace = ← Backspace | << = ← Backspace | bs = ← Backspace | * = * | # = # | ; = ; | : = : | #default = {{{5}}} }} }}{{#if:| + {{#switch:{{{6}}} | shift = ⇧ Shift | up = ↑ | down = ↓ | > = → | < = ← | enter = ↵ Enter | cmd = ⌘ Cmd | command = ⌘ Cmd | opt = ⌥ Opt | option = ⌥ Opt | tab = Tab ⇆ | backspace = ← Backspace | << = ← Backspace | bs = ← Backspace | * = * | # = # | ; = ; | : = : | #default = {{{6}}} }} }}. Zie het voorbeeld hieronder.
- SOMPRODUCT kan ook worden gebruikt om cellen bij elkaar op te tellen die voldoen aan een gespecificeerde voorwaarde - zie Optellen en tellen met voorwaarden en het voorbeeld hieronder.
Voorbeeld:
SOMPRODUCT(A1:B2; F1:G2)
- geeft terug A1*F1 + B1*G1 + A2*F2 + B2*G2.
- Gevorderd onderwerp:
SOMPRODUCT(ABS(A1:A6))
- indien 'normaal' ingevoerd (niet als een matrixformule), geeft het de som van de absolute waarden in de cellen A1:A6 terug. SOMPRODUCT forceert ABS(A1:A6) om te worden geëvalueerd als een matrixformule.
SOMPRODUCT(A1:A6="rood"; B1:B6="groot"; C1:C6)
- geeft de som van de cellen in C1:C6 waarvan de overeenkomende items in kolom A rood zijn en in kolom B groot zijn. Dit is niet overdraagbaar naar Excel, omdat Excel logische waarden negeert.
SOMPRODUCT((A1:A6="rood") * (B1:B6="groot") * C1:C6)
- een versie van SOMPRODUCT(A1:A6="rood"; B1:B6="groot"; C1:C6) die wel overdraagbaar is naar Excel, omdat de logische waarden zijn geconverteerd naar getallen tijdens de vermenigvuldiging.
Problemen:
- In Excel negeert SOMPRODUCT logische waarden (dat betekent: ze worden als 0 behandeld). In Calc is WAAR 1 en ONWAAR is 0.
Zie ook