Hei
käytössä englannin kielinen excel.
sheet1 solussa b23 Vlookup kaava joka hakee tiedon solun a23 mukaan.
Sheet2 arvot soluissa c1..c229. näiden sheet2 solujen arvot muuttuvat 1 ja 29 välillä.
millä saan sheet1 a23 haettua pienimmän numeron 1-29 väliltä ja ja sheet1 a24 seuraavan jne. Sheet1 b23 sama Vlookup kaava.
If kaavalla =if(sheet!2c2>0;sheet!2c2;1)*if(sheet!2c3>0;sheet!2c3;1)jne. Mutta Excel herjaa liian pitkää kaavaa ( 229 kertaa ).
löytyykö apua.
Etukäteen kiitos
käytössä englannin kielinen excel.
sheet1 solussa b23 Vlookup kaava joka hakee tiedon solun a23 mukaan.
Sheet2 arvot soluissa c1..c229. näiden sheet2 solujen arvot muuttuvat 1 ja 29 välillä.
millä saan sheet1 a23 haettua pienimmän numeron 1-29 väliltä ja ja sheet1 a24 seuraavan jne. Sheet1 b23 sama Vlookup kaava.
If kaavalla =if(sheet!2c2>0;sheet!2c2;1)*if(sheet!2c3>0;sheet!2c3;1)jne. Mutta Excel herjaa liian pitkää kaavaa ( 229 kertaa ).
löytyykö apua.
Etukäteen kiitos
Vastaukset 11
Vanhimmat
Täytyy tunnustaa etten ymmartänyt tuosta muuta kuin sen että haluaisit kertoa 229 lukua keskenään jos ovat isompia kuin nolla.
Se onnistuu tietokanta funktiolla TTULO (DPRODUCT), vaatii ehtoalueen ja sarakeotsikot. Esim.
Kirjoita soluihin C1 ja G1 otsikoksi "luvut"
soluun G2 >0
Nyt saat tällä kaavalla C2:229 tulon
=DPRODUCT(C1:C229;C1;G1:G2)
Suomenkielisessä
=TTULO(C1:C229;C1;G1:G2)
Jos luvut vaihtelevat 1-29 välillä tulosta tulee aika pitkä luku.
Terve Paavali
Kiitos vastauksestasi, laitan hiukan lisäselvitystä.
Sheet2 on tuoteluettelo alkaen 2 riviltä.
solussa a2 on check box, a3 check box jne. soluun a229 saakka.
Kun check box valitaan esim a4, näkyy solussa c4 2. Eli ylimmäinen valittu boxi antaa arvon kaksi ja seuraava valittu ( vaikka a100 ) antaa arvon kolme, saman rivin soluun ( c100 )jne.
Hakemani kaavan tarkoitus sheet1 olisi näyttää sheet1 solussa a23 ensimmäinen valittu arvo kaksi, ja a24 seuraava jne.
Sheet1 solussa b23 on Vlookup kaava =VLOOKUP(Sheet1!A23;Sheet2!$C$1:$E$229;3;FALSE)
ja b24 =VLOOKUP(A24;Sheet2!$C$1:$E$229;3;FALSE)
sama kaava jatkuen riville b50 saakka.
Sheet2 solussa c1 on arvo yksi. Eli miten Sheet1 a23 arvo olisi 1 silloin kun yhtään checkboxia ei ole valittu, muuten valittu järjestysnumero 2- eteenpäin ?
JOS (IF) testataan onko arvoja,
PIENI-funktiolla (SMALL) voi hakea ne arvot, esim:
=JOS(LASKE.A(Taul2!C2:C229)=0;1;PIENI(Taul2!C2:C229;1))
=IF(COUNTA(Sheet2!C2:C229)=0;1;SMALL(Sheet2!C2:C229;1))
ei toimi vielä
palauttaa nollan
kopioin kaavan sheet1 solu a23, teinkö jotain väärin ?
tämmöstäkö hait?
soluun A23 kaava ja kopioit alas
=JOS(ONVIRHE(JOS(LASKE.A(Taul2!$C$2:$C$229)=0;1;PIENI(Taul2!$C$2:$C$229;RIVI()-22)));"";JOS(LASKE.A(Taul2!$C$2:$C$229)=0;1;PIENI(Taul2!$C$2:$C$229;RIVI()-22)))
=IF(ISERROR(IF(COUNTA(Taul2!$C$2:$C$229)=0,1,SMALL(Taul2!$C$2:$C$229,ROW()-22))),"",IF(COUNTA(Taul2!$C$2:$C$229)=0,1,SMALL(Taul2!$C$2:$C$229,ROW()-22)))
Jos A-sarakkeen checkboxia ei ole käytetty, onko C-sarakkeen arvo 0 vai tyhjä solu.
On Nolla, kokeilin myös siten että arvo on yksi muttei kaava oikein aukea... täytyy jatkaa kokeilua.
Hakemani kaavan tavoiteena on, kun valitsen sheet2 checkboxilla tuotteen, tulee saman välilehden sivulle viereiseen soluun arvo 1, seuraava valittu antaa arvon kaksi, jne.
sheet1 b1 solussa oleva Vlookup etsii solun a23 mukaan 1, a24 2, jne.
Jos laitan valmiiksi soluihin esim a23 arvon yksi, eikä yhtään checkboxia ole valittu on vlookupin arvona #N/A, jos tuon #N/A;n pystyisi korvaamaan nollaksi, silloin tuloste sheet1 olisi hyvä kun asetuksista poistaa nolla-arvojen näytön.
=JOS(LASKE.JOS(Taul2!$C$2:$C$229;">0")>RIVI()-23;PIENI(Taul2!$C$2:$C$229;LASKE.JOS(Taul2!$C$2:$C$229;0) RIVI()-22);1)
=IF(COUNTIF(Sheet2!$C$2:$C$229;">0")>ROW()-23;SMALL(Sheet2!$C$2:$C$229;COUNTIF(Sheet2!$C$2:$C$229;0) ROW()-22);1)
tee tämä kaava soluun A23 ja vedä alaspäin niin pitkälle kuin on tarvetta.
Jos haluat että arvo on nolla kun kun arvoa ei ole, muuta kaavan viimeinen ykkönen nollaksi, jos haluat solun jäävän tyhjäksi kun arvoa ei ole muuta ykkönen "".
Minulla on vain suomenkielinen versio, tein tuon Lontoon kaavan kirjoittamalla, enkä voinut sitä testata.
Tee se hakukaava näin
=JOS(ONPUUTTUU(PHAKU(A23;Taul2!$C$2:$E$229;3;0));"";PHAKU(A23;Taul2!$C$2:$E$229;3;0))
=IF(ISNA(VLOOKUP(A23;Sheet2!$C$2:$E$229;3;0));"";VLOOKUP(A23;Sheet2!$C$2:$E$229;3;0))
niin solu jää tyhjäksi jos hakuarvoa ei löydy.
Kiitos avusta.
Viimeisin kaava toimi kun vaihdoin viimeisen arvon nollaksi.
Jonkin verran jouduin jatkokaavoja korjailemaan mutta lohdulliselta näyttää.
käytin siis =IF(COUNTIF(Sheet2!$C$2:$C$229;">0")>ROW()-23;SMALL(Sheet2!$C$2:$C$229;COUNTIF(Sheet2!$C$2:$C$229;0) ROW()-22);0)