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
314
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
- 561488
Janni Tikkanen ohjattiin miesten pukuhuoneeseen
Vai olisko sittenkin Janne Tikkanen? Jos siellä jalkojen välissä on miesten killukkeet, mieshän tämä Janni on. Ja kuuluu651469Pitkäaikaistyöttömyys Suomessa harvinaisen paha
Karut työttömyysluvut, korkein luku yli neljännesvuosisataan.1611341Mitä vastaisit
Jos kysyisin, että lähdettäisiinkö lenkille yhdessä? Vain sinä ja minä, kaksin? Miehelle661207Tiedän ettet tehnyt tahallasi pahaa
Asiat tapahtuivat, ristiriidat ovat meitä vahvempia. Olemmeko me niin vahvoja, että selviämme tästäkin vielä? Aika paljo1041141Keskisarja loisti A-studiossa, vauhkoontunut Sofia Virta munasi itsensä
Keskisarja taas puhui 100% faktaa maahanmuuttoon liittyen. Kokoomuksen Kaumalta tuli pari hyvää puheenvuoroa, joskin muu2641055Rakastan ja ikävöin sinua
Ei helpota tämä ikävä millään. Pelkäsin että tämä ajanjakso tulee olemaan juuri näin vaikea. Siksi halusin ennen tätä pä58977- 57966
KIIKKUSTUOLI
Aloitetaan taas uudella alustalla, nuo pitkiksi venyneet ovat hankalia etsiä uusia viestejä, joskus vastauksia tulee sin85915Nyt tiistain galluppi alkaa....
Kuka on sun elämän rakkaus? Ketä kaipaat edelleenkin? Nyt nimiä vaan rohkeesti tuohon alle.Tää on ikäväpalsta, eikä mikä56913