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.
Apua, liittyen pikasuodatukseen ja kaavoihin!!!
10
465
Vastaukset
- 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
@Kundekunde 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
@Kundetoki 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
@KundeKiitoksia 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
@KundeSaako 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
@KundeOlet 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
Suomalainen tutkimus paljasti oudon asian vasemmistolaisista - he häpeävät itseään
Kyllä, asia on faktaa. Suomalainen tutkimus osoittaa, että vasemmistolaisina itseään pitävät kansalaiset häpeävät itseää1444007Sosialismia Tampereella: Virallinen ilmiantolinja avautuu kaupungissa
Nyt siis mennään mansessa ihan justiinsa samaan malliin kuin entisessä Neuvostoliitossa, jossa saattoi ilmiantaa naapuri3663084Tätä et nähnyt tv:ssä: Frederik paljastaa - Totuus "haisevasta jäynästä" pehtoorille Farmilla
Frederik veti ns. herneen nenään ja päätti kostaa pehtoorille. Mitäs mieltä olet Frederikin "aamutoimista"? Lue jutt142018Ellen Jokikunnas paljastaa kyynelehtien Ralph-pojasta: "Apua..."
Ellen Jokikunnaksen ja hänen puolisonsa Jari Raskin perheestä ja taloprojektista Italiassa kertova Unelmia Italiassa -sa101715Oho! Vappu Pimiä teki "röyhkeän" teon - Onko sopivaa paljastaa tämä MasterChef-sarjasta?
Vappu Pimiä on astunut MasterChef Suomi -keittiöön ja liittynyt ohjelman legendaariseen tuomaristoon Helena Puolakan ja51148Kaste tulisi tehdä apostolisella tavalla Ap. t. 2:38 mukaan
Apostolit eivät kastaneet kolminaisuuden nimellä vaan Jeesuksen alkuperäisen käskyn mukaisesti: Ap. t. 2:38 Niin Pietar69975- 71974
Kuhmossa rallit alkoi ennen aikojaan
Paettiin polliisia törkeästi? Se tuo rallikiima on näemmä saavuttanu paikalliset tommi mäkiset kiljupäissään auton rat23861- 71839
- 44804