Kuinka toteutan järkevimmin haun (PHAKU?) matriisin sarakkeesta, kun hakuarvo ei välttämättä ole hakusarakkeesta löytyvä, vaan pitäisi pyöristää lähimpään löytyvään lukuarvoon?
Tulukosta haku
6
151
Vastaukset
- indeksoija
Tuonmoisen kaavan löysin. Ei PHAKUa. Esimerkissä verrattavat luvut A1:A10 ja haettava arvo B1.
=INDEKSI(A1:A10;VASTINE(MIN(INDEKSI(ITSEISARVO(B1-A1:A10);0;0));INDEKSI(ITSEISARVO(B1-A1:A10);0;0);0))
Netistä löytyy kaavoja vaikka kuinka paljon. Google haku vaikka "excel find nearest value"- haku.päällä
Siis tarkoitus on olla yksi sarake jossa on epämääräisin välein lukuarvoja joihin haku suoritetaan. Sitten on toinen sarake jossa on vastaavat noudettavat arvot samalla rivillä.
Haku suoritetaan kuitenkin lukuarvolla jonka pitäisi pyöristyä lähimpään hakusarakkeessa olevaan lukuarvoon. PHAKU edellyttää että haettava arvo on täsmälleen sama kuin hakurivillä, eikä tavallinen pyöristys ei auta, koska kaikkia tasalukuja ei ole hakurivillä. - Tämmöinen
haku.päällä kirjoitti:
Siis tarkoitus on olla yksi sarake jossa on epämääräisin välein lukuarvoja joihin haku suoritetaan. Sitten on toinen sarake jossa on vastaavat noudettavat arvot samalla rivillä.
Haku suoritetaan kuitenkin lukuarvolla jonka pitäisi pyöristyä lähimpään hakusarakkeessa olevaan lukuarvoon. PHAKU edellyttää että haettava arvo on täsmälleen sama kuin hakurivillä, eikä tavallinen pyöristys ei auta, koska kaikkia tasalukuja ei ole hakurivillä.Function EtsiLähin(x As Variant, luvut, arvot As Range) As Variant
r = luvut.Rows.Count
If r > arvot.Rows.Count Then r = arvot.Rows.Count
For i = 1 To r
If (x = luvut(i, 1)) Or (i = r) Then
EtsiLähin = arvot(i, 1)
Exit Function
ElseIf x < luvut(i 1, 1) Then
If x < WorksheetFunction.Average(luvut(i, 1), luvut(i 1, 1)) Then
EtsiLähin = arvot(i, 1)
Else
EtsiLähin = arvot(i 1, 1)
End If
Exit Function
End If
Next i
End Function - haku.päällä
Tämmöinen kirjoitti:
Function EtsiLähin(x As Variant, luvut, arvot As Range) As Variant
r = luvut.Rows.Count
If r > arvot.Rows.Count Then r = arvot.Rows.Count
For i = 1 To r
If (x = luvut(i, 1)) Or (i = r) Then
EtsiLähin = arvot(i, 1)
Exit Function
ElseIf x < luvut(i 1, 1) Then
If x < WorksheetFunction.Average(luvut(i, 1), luvut(i 1, 1)) Then
EtsiLähin = arvot(i, 1)
Else
EtsiLähin = arvot(i 1, 1)
End If
Exit Function
End If
Next i
End FunctionPulma ratkesi HAKU funktiolla.
HAKU(A1; B1:B25;C1:C25) pyöristää alas päin jos matriisista ei löydy haettua lukuarvoa. - Tämmöinen
haku.päällä kirjoitti:
Pulma ratkesi HAKU funktiolla.
HAKU(A1; B1:B25;C1:C25) pyöristää alas päin jos matriisista ei löydy haettua lukuarvoa.Alaspäin pyöristetty ei ole lähin.
- haku.päällä
Tämmöinen kirjoitti:
Alaspäin pyöristetty ei ole lähin.
Ei niin, mutta tässä sovelluksessa se on parempi kuin normaali pyöristys.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Järkyttävä tieto Purrasta
Purra tapasi nykyisen miehensä täällä. Suomi24:ssä! Tulipa likainen olo. Nyt loppuu tämä roikkuminen tällä palstalla.2335430Näin asia on
Tiedän ettei hän koskaan aio lähestyä minua eikä niin ole koskaan aikonutkaan, eikä lähesty ja enkä minä enää tee sitä k233790Taas varoitusta lumesta ja jäästä
Ai kauhea! Vakava säävaroitus Lumi-/jäävaroitus Varsinais-Suomi, Satakunta, Uusimaa, Kanta-Häme, Päijät-Häme, Pirkanmaa,182284Mikseivät toimittajat vaadi Orpoa vastuuseen lupauksistaan
Missä ne 100.000 uutta työpaikkaa muka ovat? Eivät yhtään missään. Näin sitä Suomessa voi puhua ja luvata mitä sattuu. E2852162Aavistan tai oikeastaan
tiedän, että olet hulluna minuun. Mutta ilman kommunikointia, tällaisenaan tilanne ja kaikki draama ovat mun näkökulmast481421Mistä erotat onko joku kiinnostunut vai muuten mukava?
Voi sekaantua yleiseen ystävällisyyteen vai voiko?1611269Poliisi tahtoo pääsyn 4 miljoonan suomalaisen sormenjälkiin.
https://www.is.fi/digitoday/art-2000011009633.html Tämä sormenjälkiin poliisin pääsy on erittäin tärkeä rikollisten kiin1301165Örebro kuolleet lisääntyy.
Nyt n, 10. Mitähän vielä. Haavoittuneet?. Kuka on ampuja, salaisuus.1201018- 34930
- 161807