• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

SOMPRODUCT met behulp van indirect en address

Status
Niet open voor verdere reacties.

pvanbrakel

Gebruiker
Lid geworden
2 dec 2010
Berichten
35
Hallo Allemaal,

Ik heb een formule gedefineerd met behulp van indirect en address, deze formule neemt de som van de kolom waar hij in staat.

deze formule ziet er zo uit:
Code:
=SUM(INDIRECT((ADDRESS(2;COLUMN())&":"&ADDRESS(ROW()-1;COLUMN()))))

Nu wil ik in de kolom daarnaast hetzelfde principe, alleen dan een somproduct.

Feitelijk wil ik dat de formule dit doet: En dan de uitkomst daarvan onderaan kolom B zet.
SUMPRODUCT(KolomA & KolomB)/SUM(KolomA)
En dan de uitkomst daarvan onderaan kolom B zet.
SUM(kolomA) is al weergegeven doormiddel van de eerstgenoemde formule.

Ik hoop dat het een beetje duidelijk is.
 
[bestand zit in de bijlage]

Bekijk bijlage address_indirect.xlsDe verwijzing naar kolom 1 zou dit moeten zijn:
Code:
(ADDRESS(2;COLUMN())&":"&ADDRESS(ROW()-1;COLUMN()))

De verwijzing naar kolom 2 zou dit moeten zijn (denk ik....)
Code:
(ADDRESS(2;COLUMN()+1)&":"&ADDRESS(ROW()-1;COLUMN()+1))

kolommen staan naast elkaar, dus de COLUMN()+1 verwijst naar de kolom naast de kolom waar je instaat.

Deze 2 kolommen moeten in de somproduct, en de eerste kolom moet dan de som zijn waardoor weer gedeeld moet worden.

Maar hoe je dit in zo'n formule schrijft...?
 
Laatst bewerkt:
Met een voorbeeldbestandje erbij hoeven de helpers niet alles na te bootsen.

ja ik zat even te denken hoe ik het bestand kon toevoegen, het origineel is vertrouwelijk, maar ik heb zelf even wat gebouwd.
Bedankt voor de tip.
 
Met zoiets ?

Matrixformule:
Code:
=SOM(A2:A10*B2:B10)/A2:A10
Inbrengen met Ctrl+Shift+Enter.
 
ja, maar dan zonder al die directe verwijzingen.

Ik kwam op dit uit alleen dat werkt niet:

Code:
=(SUMPRODUCT(INDIRECT((ADDRESS(2;COLUMN())&":"&ADDRESS(ROW()-1;COLUMN()))))  :  (INDIRECT((ADDRESS(2;COLUMN-1())&":"&ADDRESS(ROW()-1;COLUMN()-1)))))
   /  (SUM(INDIRECT((ADDRESS(2;COLUMN-1())&":"&ADDRESS(ROW()-1;COLUMN()-1))))

De spaties die erin staan, die staan er natuurlijk niet in, maar die zijn even om aan te geven wat waarbij hoort.
 
De rij en kolom functie gaat volgens mij niet binnen een matrix (indirect heb ik wel vaker toegepast in een somproduct).
Wat wel wil is een naam geven aan een bepaalde gedeelte.

Noem bv dit gedeelte: KOLOMA
Code:
=INDIRECT(ADRES(2;KOLOM()-1)&":"&ADRES(RIJ()-1;KOLOM()-1))
Hetzelfde voor KOLOMB,
en de formule ziet er als volgt uit.
Ctrl+Shift+Enter

Code:
=SOM(KOLOMA*KOLOMB)/KOLOMA
 
Laatst bewerkt:
ok ik zal het eens op die manier proberen,

Weet alleen niet of ik dan het gewenste effect krijg.

bedankt alvast
 
Heb je het wel eens op onderstaande wijze geprobeerd?
Code:
=SOM(INDIRECT("R"&2&"K[-2]:R[-1]"&"K[-2]";ONWAAR))

In B11:
En inbrengen als matrix.
Code:
=SOMPRODUCT((INDIRECT("R"&2&"K[-1]:R[-1]"&"K[-1]";ONWAAR))*(INDIRECT("R"&2&"K:R[-1]"&"K";ONWAAR)))/INDIRECT("R"&2&"K[-1]:R[-1]"&"K[-1]";ONWAAR)
Of de ONWAAR verruilen voor 0 (nul)
Code:
=SOMPRODUCT((INDIRECT("R"&2&"K[-1]:R[-1]"&"K[-1]";0))*(INDIRECT("R"&2&"K:R[-1]"&"K";0)))/INDIRECT("R"&2&"K[-1]:R[-1]"&"K[-1]";0)
 
Laatst bewerkt:
ik heb het nu zo opgelost

Als eerste gebruik ik deze formule:
Code:
=(SUM(INDIRECT((ADDRESS(2;COLUMN())&":"&ADDRESS(ROW()-1;COLUMN())))))

Als tweede deze:
Code:
=(SUMPRODUCT((INDIRECT("R"&2&"C[-1]:R[-1]"&"C[-1]";0))*(INDIRECT("R"&2&"C:R[-1]"&"C";0)))/((SUM(INDIRECT((ADDRESS(2;COLUMN()-1)&":"&ADDRESS(ROW()-1;COLUMN()-1)))))))/1000

En iedere verdere kolom refereert dan terug naar voorstaande formules.

Het probleem is opgelost nu!

Bedankt voor de hulp!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan