phaku

Voiko phaulla tai jollakin muulla hakea niin että kaksi ehtoa toteutuisi esim. vuosi ja järjestysnumero miten?
111856
Äänestä

Muut lukivat myös

Vastaukset 11

Vanhimmat

toimisko sinulla DGET/TNOUDA funktio.

Äänestä

A-sarakkeessa vuosi
B-sarakkeessa järjestysnumero
C-sarakkeessa palautettava arvo
Hakuarvot F3 ja G3

Kaava
=INDEKSI(A1:C1000;VASTINE(F3&G3;A1:A1000&B1:B1000;0);3)
hyväksyt Ctrl Vaihto Enter niin se muuttuu matriisikaavaksi
{=INDEKSI(A1:C1000;VASTINE(F3&G3;A1:A1000&B1:B1000;0);3)}

Äänestä
  • kun minulla on tarkistettavat solut b järjestysnumero ja E vuosi palautettavia arvoja on useassa solussa n.20kpl. Hakuarvot ovat samassa taulukossa josta kysely tehdään, mutta datataulu on eri.

    Äänestä

  • kavi kirjoitti:

    kun minulla on tarkistettavat solut b järjestysnumero ja E vuosi palautettavia arvoja on useassa solussa n.20kpl. Hakuarvot ovat samassa taulukossa josta kysely tehdään, mutta datataulu on eri.

    Jos hakuarvoille löytyy useampi vastine, tämä kaava poimii vain sen mikä on ylimpänä.
    Jos haluat kaikki, saattais erikoissuodatus toimia.

    Äänestä

  • paavali50 kirjoitti:

    Jos hakuarvoille löytyy useampi vastine, tämä kaava poimii vain sen mikä on ylimpänä.
    Jos haluat kaikki, saattais erikoissuodatus toimia.

    Minulla on nyt "Askellin" mutta se aloittaa aina data-aluen alusta jos on satoja rivejä niin joutuu kelamaan aika pitkään enne kuin löytää haluamansa.
    Tässä varmaankin kävisi että annettaisiin "Askeltimelle" järjestysnumero josta lähteä?
    Tässä osa koodia.

    Sub tiedot()
    With Sheets("Selain")
    'tuodaan tiedot takaisin tauluun nähtäväksi
    vaihtoehto = ActiveSheet.Spinners("valitsin").Value

    .Cells(9, 13).Value = Sheets("Data").Cells(2 vaihtoehto, 2)
    .Cells(6, 15).Value = Sheets("Data").Cells(2 vaihtoehto, 5)
    .Cells(9, 4).Value = Sheets("Data").Cells(2 vaihtoehto, 3)
    .Cells(9, 9).Value = Sheets("Data").Cells(2 vaihtoehto, 4)


    End With
    End Sub

    Äänestä

  • kavi kirjoitti:

    Minulla on nyt "Askellin" mutta se aloittaa aina data-aluen alusta jos on satoja rivejä niin joutuu kelamaan aika pitkään enne kuin löytää haluamansa.
    Tässä varmaankin kävisi että annettaisiin "Askeltimelle" järjestysnumero josta lähteä?
    Tässä osa koodia.

    Sub tiedot()
    With Sheets("Selain")
    'tuodaan tiedot takaisin tauluun nähtäväksi
    vaihtoehto = ActiveSheet.Spinners("valitsin").Value

    .Cells(9, 13).Value = Sheets("Data").Cells(2 vaihtoehto, 2)
    .Cells(6, 15).Value = Sheets("Data").Cells(2 vaihtoehto, 5)
    .Cells(9, 4).Value = Sheets("Data").Cells(2 vaihtoehto, 3)
    .Cells(9, 9).Value = Sheets("Data").Cells(2 vaihtoehto, 4)


    End With
    End Sub

    Ei auta ainakaan minua. Olen niin kömpelö tuon VBA:n kanssa, että nostan heti käteni pystyyn.

    Äänestä

  • kavi kirjoitti:

    Minulla on nyt "Askellin" mutta se aloittaa aina data-aluen alusta jos on satoja rivejä niin joutuu kelamaan aika pitkään enne kuin löytää haluamansa.
    Tässä varmaankin kävisi että annettaisiin "Askeltimelle" järjestysnumero josta lähteä?
    Tässä osa koodia.

    Sub tiedot()
    With Sheets("Selain")
    'tuodaan tiedot takaisin tauluun nähtäväksi
    vaihtoehto = ActiveSheet.Spinners("valitsin").Value

    .Cells(9, 13).Value = Sheets("Data").Cells(2 vaihtoehto, 2)
    .Cells(6, 15).Value = Sheets("Data").Cells(2 vaihtoehto, 5)
    .Cells(9, 4).Value = Sheets("Data").Cells(2 vaihtoehto, 3)
    .Cells(9, 9).Value = Sheets("Data").Cells(2 vaihtoehto, 4)


    End With
    End Sub

    Siis jos tämä toimii sinulla oikein:

    > vaihtoehto = ActiveSheet.Spinners("valitsin").Value
    > .Cells(9, 13).Value = Sheets("Data").Cells(2 vaihtoehto, 2)

    eli muuttuja vaihtoehto tulee suoraan "askeltimesta"

    Mites olisi että varaat yhden solun tuolle askeltimesta tulevalle arvolle, ja käytät tuota solun arvoa koodissa. Näin voisit tarvittaessa kirjoittaa suoraan järjestys numeron tuohon soluun

    Äänestä

  • {=INDEKSI(Data!G3:G65536;VASTINE(O6;JOS(Data!B3:B65536=M9;Data!E3:E65536);0))}

    Tämä kaava toimi mutta nyt on murheena kun on tyhjä solu minkä se noutaa niin siitä tulee 0 ja pitäisi olla tyhjä miten tuon ratkaisen?

    Äänestä

  • Nimimerkki kirjoitti:

    Siis jos tämä toimii sinulla oikein:

    > vaihtoehto = ActiveSheet.Spinners("valitsin").Value
    > .Cells(9, 13).Value = Sheets("Data").Cells(2 vaihtoehto, 2)

    eli muuttuja vaihtoehto tulee suoraan "askeltimesta"

    Mites olisi että varaat yhden solun tuolle askeltimesta tulevalle arvolle, ja käytät tuota solun arvoa koodissa. Näin voisit tarvittaessa kirjoittaa suoraan järjestys numeron tuohon soluun

    Mutta en osannut sitä hyödyntää / taito ei riittänyt.

    Äänestä

  • kavi kirjoitti:

    {=INDEKSI(Data!G3:G65536;VASTINE(O6;JOS(Data!B3:B65536=M9;Data!E3:E65536);0))}

    Tämä kaava toimi mutta nyt on murheena kun on tyhjä solu minkä se noutaa niin siitä tulee 0 ja pitäisi olla tyhjä miten tuon ratkaisen?

    Työkalut -> Asetukset -> Näkymä -> ja ruksi pois kohdasta Nolla-arvot ja OK.

    Toinen konsti on muuttaa kaavat muotoon
    {=JOS(INDEKSI(Data!G3:G65536;VASTINE(O6;JOS(Data!B3:B65536=M9;Data!E3:E65536);0))=0;"";INDEKSI(Data!G3:G65536;VASTINE(O6;JOS(Data!B3:B65536=M9;Data!E3:E65536);0)))}

    Äänestä

  • paavali50 kirjoitti:

    Työkalut -> Asetukset -> Näkymä -> ja ruksi pois kohdasta Nolla-arvot ja OK.

    Toinen konsti on muuttaa kaavat muotoon
    {=JOS(INDEKSI(Data!G3:G65536;VASTINE(O6;JOS(Data!B3:B65536=M9;Data!E3:E65536);0))=0;"";INDEKSI(Data!G3:G65536;VASTINE(O6;JOS(Data!B3:B65536=M9;Data!E3:E65536);0)))}

    >Työkalut -> Asetukset -> Näkymä -> ja ruksi pois kohdasta Nolla-arvot ja OK.
    En voi käyttää koska jonkun solun arvo voi olla o, mutta toinen toimii kun muutan että solun pitää olla tyhjä niin silloin ei näytetä 0.

    Äänestä

Kommentoi aloitusta


kavi kirjoitti:

Voiko phaulla tai jollakin muulla hakea niin että kaksi ehtoa toteutuisi esim. vuosi ja järjestysnumero miten?

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