1. Miten saa Excel 2003:ssa helpoiten tehtyä sellaisen alasvetovalikon, missä pystyisi valita esim. jonkun viidestä tuotteesta. Oletuksena se olisi esim. tyhjä tai siinä lukisi että valitse tästä.
2. Miten saa sellaisen tehtyä, että jos on yhteenlaskettavien solujen arvo on nollia niin se ei näyttäisi yhteenvedossa sitä nollaa vaan tyhjää solua...
2. Miten saa sellaisen tehtyä, että jos on yhteenlaskettavien solujen arvo on nollia niin se ei näyttäisi yhteenvedossa sitä nollaa vaan tyhjää solua...
Vastaukset 9
Vanhimmat
Valitse solu mihin haluat alasvetovalikon -> Tiedot -> Kelpoisuustarkistus -> valitse kohtaan Hyväksy: Luettelo ja kohtaan Lähde kirjoitat:Tuoli;Pöytä;Penkki;Kaappi;Sänky.
ja vielä ruksi kohtaan Avattava luetteloruutu
ja OK
Kysymys 2
Esim näin:
=JOS(A1 B1=0;"";A1 B1)
Kiitos tiedoista...
Vielä sellaista että miten saa vielä sellaisen laatikon, että vaikka valitsee "Penkin" alasvetovalikosta, niin johonkin tiettyyn laatikkoon tulee lukemaan se valinta eli "Penkki".
Kerro vähän tarkemmin mitä laatikkoa tarkoitat.
Reunaviivoilla voi ainakin tehdä laatikon jossa on yksi tai useampi solu.
"Vielä sellaista että miten saa vielä sellaisen laatikon, että vaikka valitsee "Penkin" alasvetovalikosta, niin johonkin tiettyyn laatikkoon tulee lukemaan se valinta eli "Penkki"."
Korjaan hiukan, eli tarkoitan siis että miten saan tiettyyn soluun sen tekstin minkä olen valinnut ko. alasvetovalikosta (eli jos olen valinnut alasvetovalikosta "Penkin" niin se tulee lukemaan myös valitsemaani erilliseen soluun)...
Jos alasvetovalikko on solussa B4 ja haluat valinnan näkyvän vaikka solussa E5, tee soluun E5 vaikka kaava
=TEKSTI(B4;"")
tai pelkästään
=B4
Jos haluat että alasvetovalikkkosolussa B4 lukee "valitse näistä", laita soluun B4 muotoiluksi
Luokka: Oma
Laji: ;;;"valitse näistä"
Kuinkas onnistuisi asettaa taulukon jokaiselle kohdalle jokin arvo? Esim. jos valitsen "tuolin" niin valintana näkyy tosiaan "tuoli", mutta solu antaisi jonkun "tuolille" määrätyn arvon kun solua käyttää jossain laskentakaavassa?
Vai onko laskentakaavassa pakko käydä kaikki mahdolliset arvot läpi esim. =JOS(B2 ="tuoli";...jne. ?
Heips, tuo "tuolin arvoitus" onnistuu vlookup tai hlookup funktioilla.
Tuo Paavalin customteksti-idea "valitse tästä" oli ovela, mutta kun koitin niin workkinu vaikka idean kyllä ymmärsin. Ymmärtääkö joku enemmän miksi ei pelittänyt?
neuvotaas välillä vähemmän käytettyä NIMI muutujaa.
Eli lisätään nimi Tuote, jota voidaan sitten käyttää kaavoissa. Nimen käytön etuna mm. ettei tarvitse suojata soluja ja sen voi piilottaa käytäjältä ja siihen voi liittää kaavoja ja kaavoista tulee paljon selkokielisempiä lukea yms. Nyt kuitenkin jätin sen näkyville nimilistassa.
eli solussa käytät vain nimeä esim. = tuote*1,22 30
tai esim ALV hinnan saat suoraan tekemällä nimen Loppuhinta ja viittaukseen laitat =tuote*1,22 ja sitten solussa kaavana =Loppuhinta joka vastaa siis kaavaa = tuote*1,22
...
kaikki muuten kuin kuten Paavali neuvoi (kelpoisuusehto), ja se solumuotoilukin toimii ihan OK, koska siinä on piilotettuna kaikki muut paitsi teksti, joka korvataan" valitse tästä" tekstillä
TAULUKON moduuliin...
eli jos solun B2 teksti muuttuu, niin muuttaa Tuotteen hintaa solutekstin mukaisesti. Muuta tuotenimet sopivksi ja lisää tarvittaessa ja muuta tuotenimet hinnat sopivaksi. Muista jos lisäät tuotteita koodiin niin lisää myös kelpoisuusehto luetteloon kanssa
jos haluat useampaan soluun tuotteita kopioi koodi ja muuta soluosoite (B2) ja muuta nimi muuttujan nimi esim. tuote1 jne
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B2")) Is Nothing Then
Select Case Target
Case "Tuoli"
ActiveWorkbook.Names.Add Name:="Tuote", RefersToR1C1:="=30"
Case "Pöytä"
ActiveWorkbook.Names.Add Name:="Tuote", RefersToR1C1:="=130"
Case "Penkki"
ActiveWorkbook.Names.Add Name:="Tuote", RefersToR1C1:="=80"
Case "Kaappi"
ActiveWorkbook.Names.Add Name:="Tuote", RefersToR1C1:="=400"
Case "Sänky"
ActiveWorkbook.Names.Add Name:="Tuote", RefersToR1C1:="=800"
End Select
End If
End Sub
solumuotoiluksi
kokonaisluvuille 0;-0;;@
2 desimaalia esim. hinnoille 0,00;-0,00;;@