Excel guruja?

  • Keskustelun aloittaja Keskustelun aloittaja delete
  • Aloitettu Aloitettu
Liittynyt
22.5.2010
Viestejä
101
Seuraavanlainen pulma.

Olen laskenut excel-tiedostoon sm-liiga joukkueiden koti- ja vieraspelien prosentit (voitto tasapeli tappio). Seuraavaksi pitäisi saada laskettua jonkin otteluparin kotivoitto, tasapeli ja vierasvoitto prosentit (1X2). Nämä prosentit osaan siis laskea "käsin" mutta homma pitäisi saada pelaamaan niin että kun syötetään mikä tahansa ottelupari niin excel laskee prosentit automaattisesti. Eli kaava jolla 1X2 soluihin lasketaan prosentit olisi riippuvainen siitä mitä on syötetty koti ja vierasjoukkue kenttään. Millä funktiolla tätä pitäisi lähtä ratkaisemaan?
 
10% ALENNUS KOODILLA PAKKOTOISTO
En ole guru ja ilman dataa ja laskukaavoja veikkaisin, että VLOOKUP voisi olla se mitä haet (vaihtoehtoisesti INDEX-MATCH pari).
 
Koodi:
		Koti%				Vieras %	
	voitto	tasapeli häviö		voitto	tasapeli häviö
Ilves	  56	  22	  22		  56	  24	  20
JOKERIT	  39	  41	  20		  44	  20	  37
KÄRPÄT	  49	  17	  34		  34	  39	  27
							
							
	koti vieras	1	X	2
Tuossa on esim. siitä tiedosta, jota käytän. Kun koti kohtaan syötetään vaikka Ilves ja vieras kohtaan Kärpät niin 1 kohtaan pitäsi tulla prosentit laskusta (56+27)/2, x kohtaan (22+39)/2 ja 2 kohtaan (22+34)/2. Eli 1 kohdan kaava on keskiarvo kotijoukkueen voitto%:sta kotona ja vierasjoukkuueen häviö%:sta vieraisssa. Sama periaate muidenkin kohtien kaavoissa. Pystyykö tuohon VLOOKUP:iin lisäämään kaavoja?
 
VLOOKUP on hakufunktio ja sitä voi käyttää kaavassa. VLOOKUP toimii taulukossasi, koska joukkueet ovat ensimmäinen sarake ja niiden perusteellahan halusit etsiä tietoja.

VLOOKUPIN (ja kaikkien muidenkin funktioiden) syntaxin löytää helposti excelin helpistä. VLOOKUPin voit laittaa esimerkiksi etsimään joukkueen nimen perusteella sen kotivoittoprosentin (ja vierasjoukkueen tappioprosentin, summata nämä ja jakaa kahdella. Kun sitten muutat kotijoukkuetta, VLOOKUP etsii uuden nimen perusteella kotivoittoprosentin automaattisesti. Eli käytännössä kaava (56+27)2 muutetaan muotoon (VLOOKUP(kaikenlaisia tarvittavia tietoja)+VLOOKUP(kaikenlaisia tarvittavia tietoja))/2.

VLOOKUPin syntaxi on VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])

lookup_value = minkä arvon perusteella etsitään. Joukkueen nimi siis ja käytännössä solu johon vaihtelet sitä joukkueen nimeä
table_array= Aluen miltä etsitään. Alueen ensimmäisestä sarakkeesta pitää löytyä yllä oleva lookup value eli joukkueiden nimet
col_index_num= sarakkeen numero joka palautetaan. Jos haluat esimerkiksi kotivoittoprosentin, laitat numeroksi 2, numero 1 on joukkueiden nimisarake, numero 4 olisi kotitappio ja numero 7 vierastasuri.
[range_lookup]= Laitat FALSE, niin etsitään tarkkaa vastinetta. TRUE on monimutkaisempi. Joukkueen nimi pitää nyt kirjoittaa siis täysin oikein

Esimerkiksi antamallasi datalla kohdan 1 voi laskea kaavalla =(VLOOKUP(B8;A3:H5;2;FALSE)+VLOOKUP(C8;A3:H5;8;FALSE))/2
Kaavan tarkka muoto riippuu siitä minkä muotoinen taulukko on. Itse sijoitin nuo exceliin siten, että Ilves on solussa A3 ja kotijoukkue mitä muuttelet tulee soluun B8 (eli siihen kirjoitetaan Ilves) ja muuteltava vierasjoukkue soluun C8 (eli siihen kirjoitetaan KÄRPÄT). Soluihin B8 ja C8 pitää kirjoittaa joukkueen nimi täsmälleen oikein. kärpät ei siis kelpaa, vaan pitää kirjoittaa KÄRPÄT. Nyt voit vaihdella jokkueiden nimiä ja excel laskee homman automaattisesti.

Jos et saa mitään selkoa sepustuksistani, niin googlaa VLOOKUPia tai katso excelin helpistä. Se on yksinkertainen tapa ratkaista ongelmasi, kun pääset siihen vähän sisälle.
 
Oon nyt muutaman tunnin yrittäny googlella löytää ratkasua;

Yritän saada conditional formattia toimimaan niin, että kahden ehdon täyttyessä samalta riviltä koko rivi vaihtaa väriä.

AND(H*rivinro* > $H102 ; E*rivinro* > 0)

Siis tohon H102 / 0 aina verrataan mut eri riveiltä pitäis molemmat ehdot täyttyä, rangessa muutamankymmentä riviä valittuna. Saan tän toimimaan ihan miten sattuu mut en just niinku pitäis.
Excel07
 
Oon nyt muutaman tunnin yrittäny googlella löytää ratkasua;

Yritän saada conditional formattia toimimaan niin, että kahden ehdon täyttyessä samalta riviltä koko rivi vaihtaa väriä.

AND(H*rivinro* > $H102 ; E*rivinro* > 0)

Siis tohon H102 / 0 aina verrataan mut eri riveiltä pitäis molemmat ehdot täyttyä, rangessa muutamankymmentä riviä valittuna. Saan tän toimimaan ihan miten sattuu mut en just niinku pitäis.
Excel07

Väittäisin että puuttuu vaan dollareita ja ehdot huitelee pitkin sheettiä sen vuoksi.

Eli tee ehto rangen vasemman yläkulman mukaan ja lukitse rivit ja sarakkeet jotka ei muutu.
Tässä tilanteessa jotain seuraavaa:
AND($H*rivinro 1* > $H$102 ; $E*rivinro 1* > 0)

Oletin tuossa että tuo H102 solu on kaikille sama, siksi rivikin pitää lukita dollarilla.
 
No sehän se oli, kiitos.
Aina nää on jostain saatanan dollarista tai pilkusta kiinni eikä sitä meinaa millään tajuta ku hermotki jo menny.
 
Tähän ei guruja tarvita, mutta kertokaapa tyhmälle miten saan määriteltyä, että milloin excel juoksuttaa jotain lukusarjaa ja milloin sen vaan kopioi samaa lukua kun vasen näppäin pohjassa siitä solkun kulmasta raahaa alaspäin?

Jos mulla on esim. A1000 ekassa solussa niin sitten se kyllä tekee A1001, A1002 jne mutta jos siinä on vain 1000 niin se kopioi tuota eikä juoksuta sitä numeroa suuremmaksi. Mistä minä määrittelen sen milloin se mitäkin tekee?

Tyhmä kun ei osaa, niin ei osaa.
 
Tähän ei guruja tarvita, mutta kertokaapa tyhmälle miten saan määriteltyä, että milloin excel juoksuttaa jotain lukusarjaa ja milloin sen vaan kopioi samaa lukua kun vasen näppäin pohjassa siitä solkun kulmasta raahaa alaspäin?

Jos mulla on esim. A1000 ekassa solussa niin sitten se kyllä tekee A1001, A1002 jne mutta jos siinä on vain 1000 niin se kopioi tuota eikä juoksuta sitä numeroa suuremmaksi. Mistä minä määrittelen sen milloin se mitäkin tekee?

Tyhmä kun ei osaa, niin ei osaa.

Sillon jos valitset vain yhden solun ja lähet sitä juoksuttaa niin pitäisi alkaa kopioimaan numeroa, mutta sitten jos haluat että se alkaa juoksuttaa numeroa niin laitappa yhteen soluun se 1000 ja seuraavaan 1001 ja sitten maalaat molemmat solut niin se lähtee juoksuttaa sitä nroa, sille pittee vähä kertoa että mihin suuntaan pittee mennä ku ei nuo Excelit oo vielä ajatuksia oppinu lukemaan... :D
 
Sillon jos valitset vain yhden solun ja lähet sitä juoksuttaa niin pitäisi alkaa kopioimaan numeroa, mutta sitten jos haluat että se alkaa juoksuttaa numeroa niin laitappa yhteen soluun se 1000 ja seuraavaan 1001 ja sitten maalaat molemmat solut niin se lähtee juoksuttaa sitä nroa, sille pittee vähä kertoa että mihin suuntaan pittee mennä ku ei nuo Excelit oo vielä ajatuksia oppinu lukemaan... :D

No katoppas perkele, arvasin että tähän on joku erittäin yksinkertainen juttu olemassa, kuten aina. Kiitos, jatkan taas säätämistä tästä eteenpäin.

EDIT: Ja joo, siis se vähän ihmetytti kun jos on vaikka kirjain tai väliviiva tai jotain muuta numeroiden lisäksi niin sitten juoksuttaa ja ilman niitä ei. Mutta tämä solujen maalailu oli se juttu. Kiitos ja kummarrus siis. Pakkis auttaa aina!
 
Tässähän on hyvä ketju, kun kaipaan excel-gurua. Eli teen treeniohjelmaa excelillä ja se laskee mulle painot prosenttejen mukaan, mutta nyt tuli mieleen että jos vaikka hifistelisi ja tekisi sen niin että se pyöristää automaattisesti lähimpään 2.5 kiloon. Ei vaan mitään hajua miten se tapahtuu. Yksihän olisi että laskee prosentit, jakaa tuloksen 2.5:llä, pyöristää tuloksen lähimpään tasalukuun ja kertoo tämän taas 2.5:llä, niin saadaan oikea tulos. En vain saa tota pyöristystä edes toimimaan. Ja kai tähän on joku fiksumpikin tapa? Tyyliin sellainen mikä tekee kaiken sen yhden solun sisällä?

Niin ja tämä on nimenomaan sitä hifistelyä. Mitään tarvetta ei ole, mutta kun perfektionisti olen ja tuollaisen sain päähäni niin pitäähän se tehdä.
 
Tässähän on hyvä ketju, kun kaipaan excel-gurua. Eli teen treeniohjelmaa excelillä ja se laskee mulle painot prosenttejen mukaan, mutta nyt tuli mieleen että jos vaikka hifistelisi ja tekisi sen niin että se pyöristää automaattisesti lähimpään 2.5 kiloon. Ei vaan mitään hajua miten se tapahtuu. Yksihän olisi että laskee prosentit, jakaa tuloksen 2.5:llä, pyöristää tuloksen lähimpään tasalukuun ja kertoo tämän taas 2.5:llä, niin saadaan oikea tulos. En vain saa tota pyöristystä edes toimimaan. Ja kai tähän on joku fiksumpikin tapa? Tyyliin sellainen mikä tekee kaiken sen yhden solun sisällä?

Niin ja tämä on nimenomaan sitä hifistelyä. Mitään tarvetta ei ole, mutta kun perfektionisti olen ja tuollaisen sain päähäni niin pitäähän se tehdä.

Enpä fiksummasta tavasta tiedä, tuo ehdottamasi on aika näppärä ja tehdään yhden solun sisään näin:

=ROUND(solu1*solu2/2,5;0)*2,5
 
Enpä fiksummasta tavasta tiedä, tuo ehdottamasi on aika näppärä ja tehdään yhden solun sisään näin:

=ROUND(solu1*solu2/2,5;0)*2,5
Kiitos. Täytyy kokeilla illemmalla. Onko toi ROUND suomenkielisessä versiossa sama kuin PYÖRISTÄ, vai ymmärtääkö se molempia?
 
Taitaa olla PYÖRISTÄ tuon vastine suomeksi. Ei käsittääkseni ymmärrä molempia.
Kokeilinkin nyt jo työkoneella ja toimii kuin ajatus. Täytyy vaan kotona kokeilla onko se tosiaan se pyöristä, kun siellä on suomenkielinen. Niin ja jos joku muu tekee samantyylistä tästä innostuneena, niin kerronpa että tohon soluun saa vielä sarjat x toistot näin: = "sarjat x toistot x"&ROUND (...
eli alkuun tekstiä heittomerkeissä ja perään &-merkki ja sen perään kaava. Nyt siinä solussa lukee vaikka 5x5x97.5 joista viineinen luku on 2.5 kilon välein muuttuva. On se mukavaa kun oppii koko ajan uutta.
 
Eikö sekin pyöristä jos määritteleen solun luvuksi ja pistää desimaalit tuossa Powerhousun tapauksessa yhteen?
 
Kertokaas fiksummat onko tähän joku helpompikin tapa, eli:

Sarakkeessa A on päivämääriä vaikka ajalta 2012-2013 muodossa pp.kk.vvvv
Sarakkeessa B on lukuja

Haluaisin laskea yhteen kaikki luvut jotka ovat esim. 2013 helmikuun ajalta.

Tuohan onnistuu muistaakseni (ei oo exceliä just tässä) jollain =SUMIFS(B:B;A:A;">31.1.2013";A:A;"<1.3.2013") kaavalla. Mutta kai tohon on joku lyhyempikin tapa? Siis ettei tarvitsisi käytää tota suurempi kuin & pienempi kuin -juttua. Vaan pelkkä "helmikuu 2013" esim? :D
 

Latest posts

Suositut

Back
Ylös Bottom