Hei,
yksinkertaisesti omat aivot eivät tähän taivu, joten apuja tarvitaan.
Millä konstilla saisin tehtyä ko. kaavasta huomattavasti lyhyemmän?
=SUMMA.JOS(Vu1;AY5)*G$5 SUMMA.JOS(Vu2;AY5)*G$6 SUMMA.JOS(Vu3;AY5)*G$7 SUMMA.JOS(Vu4;AY5)*G$8 SUMMA.JOS(Vu5;AY5)*G$9 SUMMA.JOS(Vu6;AY5)*G$10 SUMMA.JOS(Vu7;AY5)*G$11 SUMMA.JOS(Vu8;AY5)*G$12 SUMMA.JOS(Vu9;AY5)*G$13 SUMMA.JOS(Vu10;AY5)*G$14 SUMMA.JOS(Vu11;AY5)*G$15 SUMMA.JOS(Vu12;AY5)*G$16 SUMMA.JOS(Vu13;AY5)*G$17 SUMMA.JOS(Vu14;AY5)*G$18 SUMMA.JOS(Vu15;AY5)*G$19 SUMMA.JOS(Vu16;AY5)*G$20 SUMMA.JOS(Vu17;AY5)*G$21 SUMMA.JOS(Vu18;AY5)*G$22 SUMMA.JOS(Vu19;AY5)*G$23 SUMMA.JOS(Vu20;AY5)*G$24 SUMMA.JOS(Vu21;AY5)*G$25 SUMMA.JOS(Vu22;AY5)*G$26 SUMMA.JOS(Vu23;AY5)*G$27 SUMMA.JOS(Vu24;AY5)*G$28 SUMMA.JOS(Vu25;AY5)*G$29 SUMMA.JOS(Vu26;AY5)*G$30 SUMMA.JOS(Vu27;AY5)*G$31 SUMMA.JOS(Vu28;AY5)*G$32 SUMMA.JOS(Vu29;AY5)*G$33 SUMMA.JOS(Vu30;AY5)*G$34 SUMMA.JOS(Vu31;AY5)*G$35 SUMMA.JOS(Vu32;AY5)*G$36 SUMMA.JOS(Vu33;AY5)*G$37 SUMMA.JOS(Vu34;AY5)*G$38 SUMMA.JOS(Vu35;AY5)*G$39 SUMMA.JOS(Vu36;AY5)*G$40 SUMMA.JOS(Vu37;AY5)*G$41 SUMMA.JOS(Vu38;AY5)*G$42 SUMMA.JOS(Vu39;AY5)*G$43 SUMMA.JOS(Vu40;AY5)*G$44 SUMMA.JOS(Vu41;AY5)*G$45
Tässä tulee Excelin rajat vastaan ja kaavaa ei saa pidemmäksi, kuin mihin olisi tarve. Kaavassa oleva esim. Vu1 on nimetty solualue.
Olen myös pähkäillyt hieman, että jos saisin itse tehdyn funktion kautta tuota jotenkin toimimaan, joten jos jollakin olisi tietoa ja taitoa tähän vaihtoehtoon, niin mielelläni olisin erittäin kiitollinen.
Etukäteen kiittäen,
Tomcraft
Kaavion yksinkertaistaminen
2
316
Vastaukset
- gaavoittaja
ihan yhtä kaavaa. Tuo SUMMA.JOS()-funktio ei varmaankaan noin pelaa. Siitä puuttuu yksi osatekijä.
=SUMMA.JOS(alue;ehto;[summa alue]), eli kaava pitää olla
=SUMMA.JOS(Vu1;"mikä Vu1 pitää olla";"mistä lasketaan jos ehto täyttyy")nyt 30 argumenttiä käytössä ja nimeällä kaavan saat esim. kaava1 ja teet sitten uuden nimetyn kaavan kaava2 jne. ja sitten vaan lasket summana kaava1 kaava2 jne.
Nyt ei ole rajoituksista kiinni vaan koneen muistista
matriisikaavana SHIFT CTRL ENTER
=SUMMA(1*(vu1=G5)*G5;(1*(vu2=G6))*G6;(1*(vu3=G7))*G7;(1*(vu4=G8))*G8)
VBA oma funktio
Nimialue on solualue johon kirjoitat nimetyt solualueet. Viereisiin soluihin sitten hakuehdot ja kertoimet
soluun mihin haluat tuloksen kaavaksi =Laskejos(C17:C100)
eli
solualueella C17:C100 on nimetyt alueet
solualueella D17:D100 on hakuehdot
solualueella E17:E100 on kertoimet
moduuliin..
Public Function Laskejos(Nimialue As Range) As Double
Dim Solu As Range
Dim i As Integer
Dim j As Integer
Application.Volatile True
For i = 1 To Nimialue.Count
For Each Solu In Range(Nimialue.Cells(i, 1))
If Solu.Value = Nimialue.Cells(i, 1).Offset(0, 1).Value Then
Laskejos = Laskejos Nimialue.Cells(i, 1).Offset(0, 2).Value
End If
Next
Next
End Function
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 362250
- 841303
- 561298
Mies mä oon ihan helppo
Miehelle johon oon ihastunut. Olen harvoin ihastunut, mutta suhun olen. Ei tarvitse kuin pyytää, niin...361236- 631171
Mies olen aika erakko nykyään
Vanhentunutkin olen muutamana viime vuonna parikyt vuotta. Kun en ennenkään kelvannut, niin tuskin nytkään kelpaan. Lisä39894Lavroville taitaa olla jo ikkuna raollaan?
Lavrovin syytä välttää korkeita paikkoja ja ikkunoiden läheisyyttä.Ettei vain keikahda ikkunasta pihalle.122779- 31731
Ylen johdon hulppeat bonukset alkavat taas
Suora kopio Iltalehdestä: "Asiasta kertoo Iltalehdelle Ylen hallituksen puheenjohtaja Matti Apunen. Mitä tulospalkkioi21582Skenaario
Elämä ja kuolema ovat merkillisin nyytti olevaisuutta. Mutta kun kumpaakaan ei ole, syntyy lapsuksia, joita korjaamaan55565