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
171
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
- 2164413
Ja taas ammuttu kokkolassa
Kokkolaisilta pitäisi kerätä pois kaikki ampumaset, keittiöveitset ja kaikki mikä vähänkään paukku ja on terävä.262751Tekisi niin mieli laittaa sulle viestiä
En vaan ole varma ollaanko siihen vielä valmiita, vaikka halua löytyykin täältä suunnalta, ja ikävää, ja kaikkea muuta m1062285Miksi ihmeessä?
Erika Vikman diskattiin, ei osallistu Euroviisuihin – tilalle Gettomasa ja paluun tekevä Cheek341910- 1841666
Erika Vikman diskattiin, tilalle Gettomasa ja paluun tekevä Cheek
Erika Vikman diskattiin, ei osallistu Euroviisuihin – tilalle Gettomasa ja paluun tekevä Cheek https://www.rumba.fi/uut291602Kuinka kauan
Olet ollut kaivattuusi ihastunut/rakastunut? Tajusitko tunteesi heti, vai syventyivätkö ne hitaasti?1111323Pitääkö penkeillä hypätä Martina?
Eivätkö puistonpenkit ole istumista varten.Ei niitä kannata liata hyppäämällä koskaa likaantuvat eikä siellä kukaan niit2211266- 391212
Maikkarin tentti: Orpo jälleen rauhallinen ja erittäin hyvä, myös Purra oli hyvä
Lindtman ja Kaikkonen oli kohtalaisia, sen sijaan punavihreät Koskela ja Virta olivat taas heikkoja. Ja vastustavat jalk1381204