Eli pitäisi saada haettua lähin luku mikä vastaa haettavaa, yhdeltä sarakkeelta. Esim. minulla on sarakkeella luvut:
1,72
2,1
4,35
5,3
5,55
5,67
ja haen lukua 5,5 lähinnä olevaa. Kaikki mitä olen kokeillut tehdä antaa luvuksi 5,3, vaikka lähin olisi tietysti tuo 5,55. Eli millaisella rivillä haun sais toimimaan.
Toinen vaihtoehto on rivi mikä antaisi aina tuon lähimmän hakua suuremman luvun, että saisin sen toiseen soluun tulokseksi. Olisi sitten tuloksina molemmat, lähin pienempi ja suurempi luku, joita voisi sitten vertailla.
1,72
2,1
4,35
5,3
5,55
5,67
ja haen lukua 5,5 lähinnä olevaa. Kaikki mitä olen kokeillut tehdä antaa luvuksi 5,3, vaikka lähin olisi tietysti tuo 5,55. Eli millaisella rivillä haun sais toimimaan.
Toinen vaihtoehto on rivi mikä antaisi aina tuon lähimmän hakua suuremman luvun, että saisin sen toiseen soluun tulokseksi. Olisi sitten tuloksina molemmat, lähin pienempi ja suurempi luku, joita voisi sitten vertailla.
Vastaukset 9
Vanhimmat
sortata luvut laskevaan järjestykseen ja käyttää tätä
=INDEX(B1:B6;MATCH(C1;B1:B6;-1))
Mulla olis sama ongelma mutta täytyis löytää joku sellainen kaava missä ei tarvitsisi sortata mitään vaan ohjelma hakisi suoraan sen.
Eli tarve olisi seuraavanlaiseen kaavaan:
A1 soluun kun syöttää luvun, ohjelma hakee D-sarakkeelta luvun joka on lähinnä A1:stä ja ilmoittaa luvun B1:ssä.
saat ensimmäisen suuremman luvun tulemaan B1-soluun. Klikkaa taulun nimeä hiiren oikealla korvalla, valitse 'Näytä koodi' ja sijoita makro sinne.
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
For Each c In Range("D1:D6")
If c.Value > Target.Value Then
Range("B1") = c.Value
Exit Sub
End If
Next
End If
End Sub
Tässäkin kaavassa pitää D-sarakkeessa olla luvut pienimmästä suurempaan, mutta tarvitsisin sellaisen kaavan missä luvut voi olla missä järjestyksessä tahansa ja pitäisi löytää lähin, joko pienempi tai suurempi, luku...
Nimeä alue A1 ja koko D-sarake vaikka nimeksi haku.
Soluun B1 kaava
=JOS(ITSEISARVO(PIENI(D:D;ARVON.MUKAAN(A1;haku;1)))-A1>ITSEISARVO(SUURI(D:D;ARVON.MUKAAN(A1;haku))-A1);SUURI(D:D;ARVON.MUKAAN(A1;haku));PIENI(D:D;ARVON.MUKAAN(A1;haku;1)))
tuo löytää kyllä ne luvut mitkä on samoja kuin D-sarakkeella mutta sitten kun hakee jotain muuta lukua niin tulee virhe #PUUTTUU!
Kyllä tuo pitäis toimia kaikilla luvuilla.
Oletko nimennyt alueen oikein:
Lisää -> Määritä -> Nimet työkirjassa: haku
Viittaa: =Taul1!$D:$D;Taul1!$A$1
Voin lähettää sulle esimerkkitaulukon
[email protected]
Lisää -> Nimi -> Määritä -> Nimet työkirjassa: haku
Viittaa: =Taul1!$D:$D;Taul1!$A$1
Kiitoksia paljon, nyt toimii