Osallistu kisaan Liiga ja rekkamies – 500 € palkinnot!
Excel-osaajat, apuanne kaivataan taas
-
Mikezu
- Jäsen
- Viestit: 253
- Liittynyt: 05.02.2004, 17:01
- Pisteitä: 22
Excel-osaajat, apuanne kaivataan taas
Ongelma: miten saan haettua esim. soluun a1 sarakkeen b viimeisen arvon sisältävän solun arvon?
Valmista kaavaa ei excelissä viimeisien arvojen hakemiseen taida olla?
Yhden virityksen olen saanut tehtyä epäsuora/ketjuta/laske.a -kaavojen kombinaatiolla, mutta sen toiminta loppuu siihen, kun sarakkeeseen b ei tulekaan joka riville arvoa..
Valmista kaavaa ei excelissä viimeisien arvojen hakemiseen taida olla?
Yhden virityksen olen saanut tehtyä epäsuora/ketjuta/laske.a -kaavojen kombinaatiolla, mutta sen toiminta loppuu siihen, kun sarakkeeseen b ei tulekaan joka riville arvoa..
-
Strat
- Jäsen
- Viestit: 397
- Liittynyt: 06.05.2003, 11:38
- Pisteitä: 0
Ei valitettavasti löydy valmista vastausta minulta mutta yksi keino voisi olla makro joka alkaa käydä jostakin suurimmasta mahdollisesta B sarakkeen arvosta alaspäin (esim. B1000) kunnes löytyy solu joka ei ole tyhjä.
Helpompi voisi olla käyttää jotain dummy arvoja noissa tyhjissä kentissä jolloin tuo menisi varmaan countif tai vastaavalla? Siis jos nuo dummyt eivät haittaa.
Helpompi voisi olla käyttää jotain dummy arvoja noissa tyhjissä kentissä jolloin tuo menisi varmaan countif tai vastaavalla? Siis jos nuo dummyt eivät haittaa.
Minikommentit
-
KR
- Jäsen
- Viestit: 564
- Liittynyt: 23.01.2004, 15:52
-
Tuotto: -1.50 yks.
Palautus%: 0.00%
Panosten ka: 1.50 yks.
Vetoja: 1
- Pisteitä: 260
Tällainen kepeä versio toimii jos ei ole tyhjää riviä välissä
=INDIRECT("A"&COUNTA(A:A))
(A= tutkittavan sarakkeen numero)
Jos sarakkeen yläosassa on n tyhjää laita kaavaksi:
=INDIRECT("A"&COUNTA(A:A)+n)
Enpä testaillut kovasti mutta voi vaikka toimia.
Tyhjien välisolujen tunnistamiseen kai saa tehtyä toisennäköisen version.
-KR-
=INDIRECT("A"&COUNTA(A:A))
(A= tutkittavan sarakkeen numero)
Jos sarakkeen yläosassa on n tyhjää laita kaavaksi:
=INDIRECT("A"&COUNTA(A:A)+n)
Enpä testaillut kovasti mutta voi vaikka toimia.
Tyhjien välisolujen tunnistamiseen kai saa tehtyä toisennäköisen version.
-KR-
@Rajainmaki
Minikommentit
-
KR
- Jäsen
- Viestit: 564
- Liittynyt: 23.01.2004, 15:52
-
Tuotto: -1.50 yks.
Palautus%: 0.00%
Panosten ka: 1.50 yks.
Vetoja: 1
- Pisteitä: 260
Olinpas melooni, en oikein ole ollut sinut suomalaisen "Ekselin" kanssa. Kysyjä taisi jo kokeilla vastaavaa kuin ehdotin.
Tämä seuraava löytää viimeisen numeroarvon vaikka välissä olisikin tyhjiä:
=INDIRECT("A"&MATCH(9.99E+99;A:A))
-KR-
EDIT: ja tietysti B sarakkeesta:
=INDIRECT("B"&MATCH(9.99E+99;B:B))
Tämä seuraava löytää viimeisen numeroarvon vaikka välissä olisikin tyhjiä:
=INDIRECT("A"&MATCH(9.99E+99;A:A))
-KR-
EDIT: ja tietysti B sarakkeesta:
=INDIRECT("B"&MATCH(9.99E+99;B:B))
@Rajainmaki
Minikommentit
-
Mikezu
- Jäsen
- Viestit: 253
- Liittynyt: 05.02.2004, 17:01
- Pisteitä: 22
Noniin, tattista vaan KR, nyt toimii pelikirjanpitoni juuri niin kuin suunnittelin.
Enpä ollut aikaisemmin tohon MATCH-kaavaan (=vastine) excelin kanssa räpeltäessä törmännyt, mut se ratkaisikin ongelman.
Mutta tuon 9,99E+99:n (huom ,) merkitys jäi vielä hieman epäselväksi, tarkoittanee excelissä jotain yleistä viimeisen solun indeksiä?
Enpä ollut aikaisemmin tohon MATCH-kaavaan (=vastine) excelin kanssa räpeltäessä törmännyt, mut se ratkaisikin ongelman.
Mutta tuon 9,99E+99:n (huom ,) merkitys jäi vielä hieman epäselväksi, tarkoittanee excelissä jotain yleistä viimeisen solun indeksiä?
Minikommentit
-
KR
- Jäsen
- Viestit: 564
- Liittynyt: 23.01.2004, 15:52
-
Tuotto: -1.50 yks.
Palautus%: 0.00%
Panosten ka: 1.50 yks.
Vetoja: 1
- Pisteitä: 260
Lukuarvo voi olla suurempikin, tässä tapuksessa se merkkaa vain "erittäin isoa lukua".
Match funktion muoto on kokonaisuudessaan seuraava: MATCH(lookup_value;lookup_array;match_type)
Kolmas parametri on match_type joka voi olla -1, 0 tai 1 (=oletusarvo). Oletusarvo 1 hakee tässä tapauksessa "kauimmaisen" arvon sijainnin jossa löytyy testiarvoa (lookup_value) pienempi luku (suurin funktion arvo eli alimainen rivi) . Tässä tapauksessa haetaan siis alueesta riviä jossa on pienempi lukuarvo kuin 99.99E99. Esim "tyhjä" on "arvoltaan" suurempi kuin 99.99E99 joten se ei toteudu. Koska alue on määrätty A:A tyypillä (koko sarake) niin käytännössä se palauttaa rivin arvon.
Match_type voi olla myös 0 tai -1. Kun se on 0 niin funktio palauttaa ENEIMMÄISEN ARVON joka toteutuu (ensimmäinen rivi jossa luku löytyy), tässä "0" tapauksessa tulos on "#N/A" koska yhtään 99.99E99 lukua ei esiinny. Parametri "-1" tapauksessa funktio palauttaa pienimmän arvon (ensimmäisen rivin) joka on suurempi tai yhtäsuuri kuin testattava arvo, tässä tapauksessa sarake pitäisi olla sortattu suurimmasta pienimpään.
Vähän hankala selittää mutta toivottavasti auttoi.
-KR-
Match funktion muoto on kokonaisuudessaan seuraava: MATCH(lookup_value;lookup_array;match_type)
Kolmas parametri on match_type joka voi olla -1, 0 tai 1 (=oletusarvo). Oletusarvo 1 hakee tässä tapauksessa "kauimmaisen" arvon sijainnin jossa löytyy testiarvoa (lookup_value) pienempi luku (suurin funktion arvo eli alimainen rivi) . Tässä tapauksessa haetaan siis alueesta riviä jossa on pienempi lukuarvo kuin 99.99E99. Esim "tyhjä" on "arvoltaan" suurempi kuin 99.99E99 joten se ei toteudu. Koska alue on määrätty A:A tyypillä (koko sarake) niin käytännössä se palauttaa rivin arvon.
Match_type voi olla myös 0 tai -1. Kun se on 0 niin funktio palauttaa ENEIMMÄISEN ARVON joka toteutuu (ensimmäinen rivi jossa luku löytyy), tässä "0" tapauksessa tulos on "#N/A" koska yhtään 99.99E99 lukua ei esiinny. Parametri "-1" tapauksessa funktio palauttaa pienimmän arvon (ensimmäisen rivin) joka on suurempi tai yhtäsuuri kuin testattava arvo, tässä tapauksessa sarake pitäisi olla sortattu suurimmasta pienimpään.
Vähän hankala selittää mutta toivottavasti auttoi.
-KR-
@Rajainmaki
Minikommentit