virtuaalikuvaaja

Tämä on tietysti tyhmä kysymys, joko itestään selvä tai täysin mahdotonta.
Siis, jos taukukoin x- ja y-akselin tietoja joukon sarakkeiden riveille, näistä muodostuu virtuaalisen kuvaajan lähtötiedot.
Kysymys on, voinko jollain funktiolla hakea, jollakin x-akselin mielivaltaisella väliarvolla sitä vastaavaa arvoa y-akselilta. Funktio ikääkuin "katsoisi" kuvaajasta toisen akselin lukeman.
8353
Äänestä

Muut lukivat myös

Vastaukset 8

Vanhimmat

En tiedä onko tämä se mitä haet, mutta näin ainakin löytää kaavan jolla voi laskea x vastaavan y arvon.
Kun olet piirtänyt kaavion, klikkaa "viivaa" ja valitse "Lisää trendiviiva". Aukeaa ikkuna "Trendiviivan muotoileminen". Trendiviiva asetukset-välilehdellä ruksaa sieltä alhaalta kohta "Näytä kaava kaaviossa". Trendiviivan yläpäähän ilmestyy kaava (y=....) jolla voi laskea y:n arvon. Anna johonkin soluun mielivaltainen x arvo ja siihen viereiseen soluun sitten lasket y tuolla kaavalla. Voit myös lisätä tuohon kaavioon nämä uudet arvot uutena sarjana. Näin näet mihin nämä "mielivaltaiset arvot" sijoittuu kaaviossa.
Tuon trendiviivan voi sitten poistaa "häiritsemästä".

Äänestä
  • Tuollaisen kaavan se tyrkkäsi: y=-93,025x 1691,2 mutta ei se mitään järkeviä arvoja tuottanut kun yritin sitä kokeilla.

    Äänestä

Funktio intpl etsii murtoviivalta x:ää vastaavan y-arvon. Se toimii myös toisinpäin, eli löytää y:tä vastaavan x-arvon. Silloin toiseen parametriin tulee y-arvot ja kolmanteen x-arvot. Rajoituksena on vain, että y-arvojen on oltava koko matkalla joko nousevia tai laskevia.

Function intpl(X As Double, Xa As Variant, Ya As Variant) As Double
   
   l = 0
   Ux = Xa.Count
   Uy = Ya.Count
   
   If Ux < Uy Then u = Ux Else u = Uy
   
   ReDim xarvo(u 1)
   ReDim yarvo(u 1)
   arvo = 0
   j = 0
   For i = l To u
      If Application.WorksheetFunction.IsNumber(Ya(i)) Then
         j = j 1
         xarvo(j) = Xa(i)
         yarvo(j) = Ya(i)
      End If
   Next i
   
   n = j
   If X < xarvo(1) Then
      result = yarvo(1)
   ElseIf X > xarvo(n) Then
      result = yarvo(n)
   Else
      For i = 0 To n - 1
         If X <= xarvo(i 1) Then
            dx = xarvo(i 1) - xarvo(i)
            result = (yarvo(i 1) * (X - xarvo(i)) yarvo(i) * (xarvo(i 1) - X)) / dx
            Virhe = ""
            Exit For
         End If
      Next i
   End If
   intpl = result
End Function

Äänestä
  • Ohjelmakoodin ymppääminen taulukkoon on minulle ihan tuntematon alue...

    Äänestä

  • Paina Alt-F11 – aukeaa VBA-editori
    Valikosta: Insert – Module
    Liimaa yllä oleva funktio siihen.
    Se toimii samaan tapaan kuin esim. vakiofunktio FORECAST
    Talletus muodossa *.xlsm, jotta makrofuktio tulee mukaan.

    Äänestä

  • Kai se jotenkin pitää nimetä ja tallentaa että sen saa käyttöön, eikä tuommoista .xlsm tallennusmuotoa ole käytettävissä?

    Äänestä

  • käyrästä_luku kirjoitti:

    Kai se jotenkin pitää nimetä ja tallentaa että sen saa käyttöön, eikä tuommoista .xlsm tallennusmuotoa ole käytettävissä?

    Toimii se tallettamattakin, mutta kun talletat, on valittava sellainen tiedostomuoto, joka säilyttää myös makrot. Talletusmuoto valitaan nimiruudun alapuolella olevista vaihtohdoista. Oletus ja ensimmäinen vaihtoehto on *.xlsx, toinen on *.xlsm. Myös kaksi seuraavaa *.xlsb ja vanhentunut *.xls käyvät.

    Äänestä

  • Tämmöinen kirjoitti:

    Toimii se tallettamattakin, mutta kun talletat, on valittava sellainen tiedostomuoto, joka säilyttää myös makrot. Talletusmuoto valitaan nimiruudun alapuolella olevista vaihtohdoista. Oletus ja ensimmäinen vaihtoehto on *.xlsx, toinen on *.xlsm. Myös kaksi seuraavaa *.xlsb ja vanhentunut *.xls käyvät.

    Nyt huomasinkin, sillä on jo nimi, intpl sisäänrakennettuna.
    Täytyypä alkaa testailemaan, kiitos!

    Äänestä

Kommentoi aloitusta


käyrästä_luku kirjoitti:

Tämä on tietysti tyhmä kysymys, joko itestään selvä tai täysin mahdotonta.
Siis, jos taukukoin x- ja y-akselin tietoja joukon sarakkeiden riveille, näistä muodostuu virtuaalisen kuvaajan lähtötiedot.
Kysymys on, voinko jollain funktiolla hakea, jollakin x-akselin mielivaltaisella väliarvolla sitä vastaavaa arvoa y-akselilta. Funktio ikääkuin "katsoisi" kuvaajasta toisen akselin lukeman.

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu