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
305
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
Hengenvaaralliset kiihdytysajot päättyivät karmealla tavalla, kilpailija kuoli
Onnettomuudesta on aloitettu selvitys. Tapahtuma keskeytettiin onnettomuuteen. Tapahtumaa tutkitaan paikan päällä yhtei1656074- 1471684
- 1131478
- 511240
Suureksi onneksesi on myönnettävä
Että olen nyt sitten mennyt rakastumaan sinuun. Ei tässä mitään, olen kärsivällinen ❤️43849Möykkähulluus vaati kuolonuhrin
Nuori elämä menettiin täysin turhaan tällä järjettömyydellä! Toivottavasti näitä ei enää koskaan nähdä Kauhavalla! 😢28824Älä mies pidä mua pettäjänä
En petä ketään. Älä mies ajattele niin. Anteeksi että ihastuin suhun varattuna. Pettänyt en ole koskaan ketään vaikka hu91785Reeniähororeeniä
Helvetillisen vaikeaa työskennellä hoitajana,kun ei kestä silmissään yhtään läskiä. Saati hoitaa sellaista. Mitä tehdä?5749- 41709
Tarvitsemme lisää maahanmuuttoa.
Väestö eläköityy, eli tarvitsemme lisää tekeviä käsiä ja veronmaksajia. Ainut ratkaisu löytyy maahanmuutosta. Nimenomaan218692