Tulukosta haku

haku.päällä

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?

6

276

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • 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 Function

        Pulma 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

    1. Jaaha, sitä on vasemmistoryhmä käynyt häiriköimässä Purran kodin vieressä

      On näköjään iso lakana levitetty puiden väliin, jossa lukee mm. "Haista vi*** Riikka Purra". Tunkekaa leikkaukset pers..
      Maailman menoa
      186
      6256
    2. Päivi Räsänen vs. Abbas Bahmanpour

      (Bahmanpour on imaami Helsingissä) Syyttäjä siis jahtaa edelleen Räsästä tämän H-puheista, joissa hän on ilmeisesti vaa
      Maailman menoa
      63
      4748
    3. Demokratian uhka: Perussuomalaiset ja polarisoiva "me ja muut" -ajattelu

      Laurence Rees varoittaa, kuinka demokratian heikkeneminen ja autoritaaristen liikkeiden nousu voidaan liittää "me ja muu
      Maailman menoa
      85
      4551
    4. Mistä kummasta voi johtua se, että vasemmistolaiset usein häpeää itseään

      voiko se johtua esim. köyhyydestä? Ja tästä on siis ihan suomalainen tutkimus olemassa. "Suomalainen tutkimus osoittaa
      Maailman menoa
      73
      4323
    5. Palkansaajan oikeus nauttia työuransa hedelmistä

      Työeläkejärjestelmä on verrattavissa pyramidihuijaukseen, jossa alemmat tasot, eli nykyiset palkansaajat, toimivat maksa
      Maailman menoa
      78
      2744
    6. En koskaan tule sinulle tätä kertomaan

      Kun kirjoitin sinulle viimeisintä viestiä, huomasin kyynelten valuvan poskiani pitkin.
      Ikävä
      62
      2225
    7. Saatoin tehdä elämäni isoimman virheen

      Otsikko kertoo kaiken. Miksei kaikki voi olla yksinkertaisempaa?
      Ikävä
      132
      1681
    8. odotatko vielä viestiä minulta...

      Mies...? En tiedä mitä sanoa 😔 auta vähän naista ja tule enemmän vastaan
      Ikävä
      139
      1624
    9. Joroinen räjähdys

      Ja siellä räjähti sähköpakettiauto,joka teki suuret tuhot.
      Hybridi- ja sähköautot
      54
      1558
    10. Kova ikävä parittelukumppania täällä korvessa

      Mutta muuten kyllä on rauhallista.
      Ikävä
      36
      1372
    Aihe