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
290
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
- 1592506
Kun viimeksi kohtasitte/näitte
Mitä olitte tekemässä? Millainen ympäristö oli? Löydetään toisemme...1361925Olet kyllä vaarallisen himokas
Luova, kaunis, määrätietoinen, pervo, mielenkiintoinen, kovanaama, naisellinen ja erikoinen.1061775- 781455
- 761388
Anna vielä vähän vihreää valoa
Teen sitten siirtoni, nainen. Tiedän, että olet jo varovaisesti yrittänyt lähestyä, mutta siitä on jo aikaa. Jos tunnet211357- 2281096
- 71890
Miksi homous puhuttaa konservatiiveja vuodesta toiseen?
Kysymykseen on vastattukin Kansanlähetyksen osalta: "Miksi sukupuoleen ja seksuaalisuuteen liittyvät asiat ovat konserv220880- 49831