Apua, liittyen pikasuodatukseen ja kaavoihin!!!

Apua tarvitseva

Minulla on taulukko, jossa on sarakkeessa H useita kirjainnumero yhdistelmiä sekä myös tyhjiä kenttiä. Suodatan tuon sarakkeen perusteella tietoja. Haluaisin näyttää h-sarakkeeseen jääneiden arvojen tiedon toisessa solussa. Dget-funktio on varmaankin tähän oivallinen tapa, mutta se ei osaa ottaa huomioon suodatusta vaan näyttää, että sarakkeessa on samoja arvoja. Yritin yhdistää tuota subtotalin kanssa, mutta en osannut tehdä sitä oikein. Olisin kovin kiitollinen avusta! Haluan päästä tässä hommassa eteenpäin.

10

483

    Vastaukset 10

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Apua tarvitseva

      tai tarkoitin siis, että dget-funktio ilmoittaa, että sarakkeessa on eri arvoja...jeesatkaa onnetonta Excelin käyttäjää

    • 45454454544444

      No, kai sinä sen osaat tehdä. Ja pikasuodatuksen tuloksen voi "tallentaa" omaksi mukautetuksi näkymäksi - eli kun on suodatuksen tulos siinä esillä, niin sitten Näytä Mukautetut näkymät ja siellä Lisää ja nimeä tämä suodatuksen tulos ja ok. Silloin se tulos löytyy sieltä mukautetuista myöhemmin.

      • Apua tarvitseva

        huonosti oon selittäny tuon... eli ei nuo tyhjät kentät mitään haittaa. (en tiedä, miksi sen olen tuohon edes kirjoittanut, varmaan ainainen kiire prkl). Enkä halua tallentaa kutakin suodatuksen jälkeistä näkymää.

        Koitan kertoa tilanteen vähän selvemmin. Tilanne on kuitenkin yksinkertainen. Minulla on sarakkeessa arvoja esim. yy12,yy12,yy12,tt13, er99 jne. Suodatuksen jälkeen näkyviin jää esimerkiksi arvot yy12. Kuinka saan tuon arvon näkyviin uuteen soluun esim d18 samalla välilehdellä. Entäs jos suodatan uudelleen? Tarviiko tähän peräti jotain skriptiä kirjottaa vai onko tähän joku välisumman tapainen ratkaisu olemassa, mikä osaa ottaa huomioon tuon suodatuksen. Vai ajattelenko asioita vähän liian vaikeasti.


      • Apua tarvitseva kirjoitti:

        huonosti oon selittäny tuon... eli ei nuo tyhjät kentät mitään haittaa. (en tiedä, miksi sen olen tuohon edes kirjoittanut, varmaan ainainen kiire prkl). Enkä halua tallentaa kutakin suodatuksen jälkeistä näkymää.

        Koitan kertoa tilanteen vähän selvemmin. Tilanne on kuitenkin yksinkertainen. Minulla on sarakkeessa arvoja esim. yy12,yy12,yy12,tt13, er99 jne. Suodatuksen jälkeen näkyviin jää esimerkiksi arvot yy12. Kuinka saan tuon arvon näkyviin uuteen soluun esim d18 samalla välilehdellä. Entäs jos suodatan uudelleen? Tarviiko tähän peräti jotain skriptiä kirjottaa vai onko tähän joku välisumman tapainen ratkaisu olemassa, mikä osaa ottaa huomioon tuon suodatuksen. Vai ajattelenko asioita vähän liian vaikeasti.

        ei tuo onnaa ilman koodia...
        D18 soluun kaava esim. jos haluamasi sarakkeen suodatusehtovalikko on solussa C2 =Pikasuodatus(C2)
        näyttää myös ja/tai ehdotkin ja jos ei ole mitään suodatusta niin KAIKKI teksti soluun D18...

        moduuliin...

        Function Pikasuodatus(Alue As Range) As String
        Dim Suodatin As String
        Suodatin = ""
        On Error GoTo Poistu
        Application.Volatile True
        With Alue.Parent.AutoFilter
        If Not Intersect(Alue, .Range) Is Nothing Then
        With .Filters(Alue.Column - .Range.Column 1)
        If .On Then
        Suodatin = .Criteria1
        Select Case .Operator
        Case xlAnd
        Suodatin = Suodatin & " JA " & .Criteria2
        Case xlOr
        Suodatin = Suodatin & " TAI " & .Criteria2
        End Select

        Else
        Suodatin = "KAIKKI"
        End If
        End With
        End If
        End With
        Poistu:
        Pikasuodatus = Suodatin
        End Function

        Keep EXCELing
        @Kunde


      • kunde kirjoitti:

        ei tuo onnaa ilman koodia...
        D18 soluun kaava esim. jos haluamasi sarakkeen suodatusehtovalikko on solussa C2 =Pikasuodatus(C2)
        näyttää myös ja/tai ehdotkin ja jos ei ole mitään suodatusta niin KAIKKI teksti soluun D18...

        moduuliin...

        Function Pikasuodatus(Alue As Range) As String
        Dim Suodatin As String
        Suodatin = ""
        On Error GoTo Poistu
        Application.Volatile True
        With Alue.Parent.AutoFilter
        If Not Intersect(Alue, .Range) Is Nothing Then
        With .Filters(Alue.Column - .Range.Column 1)
        If .On Then
        Suodatin = .Criteria1
        Select Case .Operator
        Case xlAnd
        Suodatin = Suodatin & " JA " & .Criteria2
        Case xlOr
        Suodatin = Suodatin & " TAI " & .Criteria2
        End Select

        Else
        Suodatin = "KAIKKI"
        End If
        End With
        End If
        End With
        Poistu:
        Pikasuodatus = Suodatin
        End Function

        Keep EXCELing
        @Kunde

        toki tolla kaavalla saa muittenkin sarakkeiden suodatusehdot esille esim. viitaten edelliseen postaukseeni =Pikasuodatus(B2) näyttää sarakkeem B suodatusehdot....

        Keep EXCELing
        @Kunde


      • Apua tarvitseva
        kunde kirjoitti:

        toki tolla kaavalla saa muittenkin sarakkeiden suodatusehdot esille esim. viitaten edelliseen postaukseeni =Pikasuodatus(B2) näyttää sarakkeem B suodatusehdot....

        Keep EXCELing
        @Kunde

        Kiitoksia kovasti, olet ollut suuri apu niin minulle kuin monelle muullekin täällä keskusteluissa pyöriville.Kaavasi toimii ja sain sen jopa räplättyä käymään yhteen oman avuttoman skriptini kanssa, mitä kuitenkin tarvitsen osana laskentataulukokkoa.

        Osaatko vielä sanoa, mitä minun täytyy tehdä, että saan tuon =merkin pois näkyvistä solusta, johon tieto on tuotu. Myös välilyönnin kohdalle tulevat aaltoviivat ~ eivät ole toivottuja. Saako niitä poistettua? (esim d18 solun näkymä. =yy12 tai =yy12~)


      • Apua tarvitseva kirjoitti:

        Kiitoksia kovasti, olet ollut suuri apu niin minulle kuin monelle muullekin täällä keskusteluissa pyöriville.Kaavasi toimii ja sain sen jopa räplättyä käymään yhteen oman avuttoman skriptini kanssa, mitä kuitenkin tarvitsen osana laskentataulukokkoa.

        Osaatko vielä sanoa, mitä minun täytyy tehdä, että saan tuon =merkin pois näkyvistä solusta, johon tieto on tuotu. Myös välilyönnin kohdalle tulevat aaltoviivat ~ eivät ole toivottuja. Saako niitä poistettua? (esim d18 solun näkymä. =yy12 tai =yy12~)

        Function Pikasuodatus(Alue As Range) As String
        Dim Suodatin As String
        Suodatin = ""
        On Error GoTo Poistu
        Application.Volatile True
        With Alue.Parent.AutoFilter
        If Not Intersect(Alue, .Range) Is Nothing Then
        With .Filters(Alue.Column - .Range.Column 1)
        If .On Then
        Suodatin = Mid(.Criteria1, 2)
        Select Case .Operator
        Case xlAnd
        Suodatin = Mid(Suodatin & " JA " & .Criteria2, 2)
        Case xlOr
        Suodatin = Mid(Suodatin & " TAI " & .Criteria2, 2)
        End Select

        Else
        Suodatin = "KAIKKI"
        End If
        End With
        End If
        End With
        Poistu:
        Pikasuodatus = Suodatin
        End Function

        "Myös välilyönnin kohdalle tulevat aaltoviivat ~ eivät ole toivottuja. Saako niitä poistettua? (esim d18 solun näkymä. =yy12 tai =yy12~)"

        nuo ~- merkit on soluissa (ei kylläkään välilyöti...) voit ne poistaa lisäämällä koodiin replace funktion millä korvaat ~- merkit välilyönneiksi
        esim. Replace(Suodatin, "~", " ")

        Keep EXCELing
        @Kunde


      • Apua tarvitseva
        kunde kirjoitti:

        Function Pikasuodatus(Alue As Range) As String
        Dim Suodatin As String
        Suodatin = ""
        On Error GoTo Poistu
        Application.Volatile True
        With Alue.Parent.AutoFilter
        If Not Intersect(Alue, .Range) Is Nothing Then
        With .Filters(Alue.Column - .Range.Column 1)
        If .On Then
        Suodatin = Mid(.Criteria1, 2)
        Select Case .Operator
        Case xlAnd
        Suodatin = Mid(Suodatin & " JA " & .Criteria2, 2)
        Case xlOr
        Suodatin = Mid(Suodatin & " TAI " & .Criteria2, 2)
        End Select

        Else
        Suodatin = "KAIKKI"
        End If
        End With
        End If
        End With
        Poistu:
        Pikasuodatus = Suodatin
        End Function

        "Myös välilyönnin kohdalle tulevat aaltoviivat ~ eivät ole toivottuja. Saako niitä poistettua? (esim d18 solun näkymä. =yy12 tai =yy12~)"

        nuo ~- merkit on soluissa (ei kylläkään välilyöti...) voit ne poistaa lisäämällä koodiin replace funktion millä korvaat ~- merkit välilyönneiksi
        esim. Replace(Suodatin, "~", " ")

        Keep EXCELing
        @Kunde

        Saako tuon replacen sohlattua tuohon sinun koodiisi jotenkin vai miten se oli tarkoitus tehdä? Voiko siinä käyttää näitä If then juttuja. Oon aika tunari näissä koodi hommissa, olet varmaan huomannut =).


      • Apua tarvitseva kirjoitti:

        Saako tuon replacen sohlattua tuohon sinun koodiisi jotenkin vai miten se oli tarkoitus tehdä? Voiko siinä käyttää näitä If then juttuja. Oon aika tunari näissä koodi hommissa, olet varmaan huomannut =).

        "nuo ~- merkit on soluissa (ei kylläkään välilyöti...) voit ne poistaa lisäämällä koodiin replace funktion millä korvaat ~- merkit välilyönneiksi
        esim. Replace(Suodatin, "~", " ")"

        Function Pikasuodatus(Alue As Range) As String
        Dim Suodatin As String
        Suodatin = ""
        On Error GoTo Poistu
        Application.Volatile True
        With Alue.Parent.AutoFilter
        If Not Intersect(Alue, .Range) Is Nothing Then
        With .Filters(Alue.Column - .Range.Column 1)
        If .On Then
        Suodatin = Mid(.Criteria1, 2)
        Select Case .Operator
        Case xlAnd
        Suodatin = Mid(Suodatin & " JA " & .Criteria2, 2)
        Case xlOr
        Suodatin = Mid(Suodatin & " TAI " & .Criteria2, 2)
        End Select

        Else
        Suodatin = "KAIKKI"
        End If
        End With
        End If
        End With
        Poistu:
        Pikasuodatus = Replace(Suodatin, "~", " ")
        End Function

        Keep EXCELing
        @Kunde


      • Apua tarvitseva
        kunde kirjoitti:

        "nuo ~- merkit on soluissa (ei kylläkään välilyöti...) voit ne poistaa lisäämällä koodiin replace funktion millä korvaat ~- merkit välilyönneiksi
        esim. Replace(Suodatin, "~", " ")"

        Function Pikasuodatus(Alue As Range) As String
        Dim Suodatin As String
        Suodatin = ""
        On Error GoTo Poistu
        Application.Volatile True
        With Alue.Parent.AutoFilter
        If Not Intersect(Alue, .Range) Is Nothing Then
        With .Filters(Alue.Column - .Range.Column 1)
        If .On Then
        Suodatin = Mid(.Criteria1, 2)
        Select Case .Operator
        Case xlAnd
        Suodatin = Mid(Suodatin & " JA " & .Criteria2, 2)
        Case xlOr
        Suodatin = Mid(Suodatin & " TAI " & .Criteria2, 2)
        End Select

        Else
        Suodatin = "KAIKKI"
        End If
        End With
        End If
        End With
        Poistu:
        Pikasuodatus = Replace(Suodatin, "~", " ")
        End Function

        Keep EXCELing
        @Kunde

        Olet mainio tyyppi koodia vääntämään. Palataan myöhemmin asiaan, jos tulee ongelmia... siis aivan kohta =D


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Mikä on totta mikä ei?

      Onko juoru vai ei että nimeltä mainitsematon henkilö on tehnyt naiselle/naisille jotain joka on väärin?
      Kuhmo
      24
      2533
    2. Päivän aivopieru Trumpilta

      Trump julisti sodan hyttysiä vastaan. Myös punkit ovat Trumpin sodan kohteena. Eikö vieläkään USA:n kansa tajua tuon uko
      Maailman menoa
      88
      1662
    3. Lopetetaanko tämä

      Juttu ja mennään eteenpäin? Pystytkö?
      Ikävä
      135
      1043
    4. Just saying

      Mies joka antaa naiselle turvallisen olon, on seksikäs. Ei kieroja kikkoja ja haluaa olla vain sen yhden naisen mies.
      Ikävä
      143
      783
    5. Älä unohda minua

      Nainen ethän unohda minua. Asiat olisivat voineet mennä toisin, olisi vain pitänyt uskaltaa lähestyä sinua kun annoit si
      Ikävä
      80
      759
    6. Löytyikö syy miksi Martina on Muhiksen kanssa

      Saipa naurut Gekkosen kuvasta, missä ovat ravintola Hookissa Immu fight night ottelun jälkeen, Muhoksella pullottaa hirv
      Kotimaiset julkkisjuorut
      100
      750
    7. Voisin antaa sulle nyt

      Halin❤️
      Ikävä
      54
      722
    8. Janpen Thai lopettanut, miksiköhän

      Hyvää apetta teki.
      Suomussalmi
      13
      697
    9. On väärin

      Tykätä ja haluta sua kun tilanne täysin mahdoton mutta minkäs teet. Mun sisällä roihuaa 🔥 kunpa tietäisit mitä sä minus
      Ikävä
      43
      652
    10. Jorma Uotinen läväytti härskin heiton - Paljastus uudesta TTK-romanssista?

      Tuomari Jorma Uotisen linja on välillä hyvinkin rohkea TTK:ssa. Hän näpäytti Jaakko Parkkalille ja Kastanja Rauhalalle v
      Tanssii tähtien kanssa
      12
      638
    11. Jos selviäisi että kaivattusi

      Olisi savant asperger? Rakastaisitko vielä? Savant-lahjakkuus olisi kapea-alaista neroutta liittyen mekanisiin ja tilan
      Ikävä
      100
      637
    12. Valtuuston kokous

      Kyl tuo Anita Ruokani on ihan pihalla,käy aika hitaalla.
      Kemijärvi
      49
      580
    13. Olen ajellut Dieseleillä yli 50 vuotta.

      Enkä ole koskaan kaivannut sähköautoa.
      Hybridi- ja sähköautot
      142
      579
    14. Toivotko vielä viestiä

      Minulta? En rohkene enää ottaa yhteyttä, kun varmasti jo uusia naisia elämässä. Nolaisin vain itseni.
      Ikävä
      44
      579
    15. Tosi kiva on

      Joo. Mitä olisit menettänyt jos olisit paljastanut itsesi?
      Ikävä
      65
      571
    16. Tehdään yhdessä itsestämme

      Parhaat versiot❤️ Se vaatii molemmilta hyvää itsetuntoa!
      Ikävä
      42
      540
    17. Miksi jotku naiset on niin tyhmiä

      Että elättelevät turhaa toivoa toisen kustannuksella. Onko ne kaikki kaappilesboja vai mikä niitä vaivaa? Sitten itketä
      Ikävä
      54
      528
    18. S-ryhmän vastuullisuuden kaksoisstandardi

      Vastuullisuuspuhe on helppoa. Vaikeampaa on selittää, miksi S-ryhmän omien merkkien tuotteita ja raaka-aineita hankitaan
      Maailman menoa
      14
      526
    19. Kuka kaipaa T m?

      Kerro nainen kirjaimesi vaan... Haluan miettiä kuka tulee ekana mieleeni.. kuin kurkistus tunteiden meren pinnalle, jota
      Ikävä
      36
      520
    20. Oliko Jani Halmeen aika jo tippua TTK:sta?

      Jani Halme ja Claudia Ketonen joutuivat jättämään TTK:n. Halme ja Ketonen saivat viimeiseksi jäänestä tanssista, sambas
      Tanssii tähtien kanssa
      29
      516
    Aihe