Note: The other languages of the website are Google-translated. Back to English

Hvordan finder og får jeg værdien af ​​den første synlige celle efter filtrering i Excel?

I nogle tilfælde skal du muligvis få værdien af ​​den første synlige celle på en filtreret liste. Hvordan opnås det? Denne artikel viser dig metoder til at løse det.

Find og få værdien af ​​den første synlige celle efter filtrering med matrixformel
Find og få værdien af ​​den første synlige celle efter filtrering med VBA


Find og få værdien af ​​den første synlige celle efter filtrering med matrixformel

Du kan anvende følgende matrixformel for at få værdien af ​​den første synlige celle på en filtreret liste. Gør som følger.

1. Vælg en tom celle for at placere den første synlige værdi, indtast nedenstående formel i den, og tryk derefter på Ctrl + Flytte + Indtast taster samtidig.

=INDEX(C2:C19,MIN(IF(SUBTOTAL(3,OFFSET(C2,ROW(C2:C19)-ROW(C2),0)),ROW(C2:C19)-ROW(C2)+1)))

Bemærk: I formlen er C2: C19 den filtrerede liste, som du vil returnere den første synlige celleværdi, C2 er den første celle på listen. Du kan ændre dem efter behov.

Derefter kan du se værdien af ​​den første synlige celle på den filtrerede liste befolket i den valgte celle som vist ovenstående skærmbillede.


Find og få værdien af ​​den første synlige celle efter filtrering med VBA

Udover at bruge ovenstående arrayformel til at få værdi af den første synlige celle i en filtreret liste, kan du køre nedenstående VBA-script for hurtigt at returnere den første synlige celle på en filtreret liste. Gør som følger.

1. Vælg en tom celle, f.eks. E8, for at placere den første synlige celleværdi på en filtreret liste.

2. Trykke andre + F11 taster samtidigt for at åbne Microsoft Visual Basic til applikationer vindue.

3. i Microsoft Visual Basic til applikationer vindue, skal du klikke på indsatte > Moduler. Kopier og indsæt derefter nedenstående VBA-kode i modulvinduet.

VBA-kode: find og få værdien af ​​den første synlige celle efter filtrering i Excel

Sub FirstVisibleCell()
   With Worksheets("Sheet1").AutoFilter.Range
       ActiveCell.Value2 = Range("C" & .Offset(1, 0).SpecialCells(xlCellTypeVisible)(1).Row).Value2
    End With
End Sub

Bemærk: I koden er Ark1 arknavnet, der indeholder den filtrerede liste. “C” er det kolonnenavn, som du ønsker at få den første synlige værdi fra. Du kan ændre dem efter behov.

3. Tryk på F5 nøgle til at køre koden, derefter udfyldes den første synlige celle med filtreret liste, der findes i kolonne C, straks i celle E8.


De bedste Office-produktivitetsværktøjer

Kutools til Excel løser de fleste af dine problemer og øger din produktivitet med 80%

  • Genbruge: Indsæt hurtigt komplekse formler, diagrammer og alt, hvad du har brugt før; Krypter celler med adgangskode Opret postliste og send e-mails ...
  • Super formel bar (let redigere flere linjer med tekst og formel); Læsning Layout (let at læse og redigere et stort antal celler); Indsæt til filtreret rækkevidde...
  • Flet celler / rækker / kolonner uden at miste data; Split celler indhold; Kombiner duplikerede rækker / kolonner... Forhindre duplikerede celler; Sammenlign områder...
  • Vælg Duplicate eller Unique Rækker; Vælg tomme rækker (alle celler er tomme); Super Find og Fuzzy Find i mange arbejdsbøger; Tilfældig valg ...
  • Præcis kopi Flere celler uden at ændre formelreference; Auto Opret referencer til flere ark; Indsæt kugler, Afkrydsningsfelter og mere ...
  • Uddrag tekst, Tilføj tekst, Fjern efter position, Fjern mellemrum; Opret og udskriv personsøgningssubtotaler; Konverter mellem celler indhold og kommentarer...
  • Superfilter (gem og anvend filterskemaer på andre ark); Avanceret sortering efter måned / uge / dag, hyppighed og mere; Specielt filter af fed, kursiv ...
  • Kombiner arbejdsbøger og arbejdsark; Fletabeller baseret på nøglekolonner; Opdel data i flere ark; Batch Konverter xls, xlsx og PDF...
  • Mere end 300 kraftfulde funktioner. Understøtter Office / Excel 2007-2021 og 365. Understøtter alle sprog. Nem implementering i din virksomhed eller organisation. Fuld funktioner 30-dages gratis prøveperiode. 60 dages pengene tilbage garanti.
kte-fane 201905

Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere

  • Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
  • Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
  • Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!
officetab bund
Sorter kommentarer efter
Kommentarer (17)
Ingen vurderinger endnu. Vær den første til at bedømme!
Denne kommentar blev minimeret af moderatoren på webstedet
Hvordan finder man og får værdien af ​​ti (10) første synlige celler efter subtotalfiltrering i Excel?
Denne kommentar blev minimeret af moderatoren på webstedet
Ola,


Hvad er et sabelnummer eller et nummer, hvor du kan realisere den automatiske filtro uden vba via loop?
For eksempel, blandt andet filtrar o valor 1, retornou as linhas 2, 3 e 4. No próximo loop filtro o valor 2 e retorna as linhas 19, 20, 22.
Como faço para que eu realizar esse filtro eu pegue exatamente o valor da linha atual da linha do filtro e não o valor da primeira linha da planilha?
Tak.
Denne kommentar blev minimeret af moderatoren på webstedet
Fremragende modul i VBA, fungerede perfekt Jeg sætter pris på dette! Mange tak for dette indlæg!!!!
Denne kommentar blev minimeret af moderatoren på webstedet
Kan nogen forklare, hvordan denne formel rent faktisk virker?

=INDEX(C2:C19,MIN(IF(SUBTOTAL(3,OFFSET(C2,ROW(C2:C19)-ROW(C2),0)),ROW(C2:C19)-ROW(C2)+1)))
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg bliver ved med at få en Run-time-fejl '91' Objektvariabel eller Med blokvariabel ikke indstillet. Mit regneark er Sheet1 med titlen AllBrands. Dette er min formel:

Sub FirstVisibleCell()
Med regneark("ALLBRANDS").AutoFilter.Range
ActiveCell.Value2 = Range("H" & .Offset(1, 0).SpecialCells(xlCellTypeVisible)(1).Row).Value2
Slut med

End Sub

Enhver hjælp vil blive værdsat!
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Bub,
Koden fungerer godt i mit tilfælde. Hvilken Excel-version bruger du?
Denne kommentar blev minimeret af moderatoren på webstedet
Desværre - hverken formlen - der giver mig en #VALUE-fejl, eller VBA'en virker for mig og giver mig en runtime-fejl '1004'
Ærgerligt, da jeg har Office 2019, og jeg forventede, at en af ​​disse funktioner ville fungere, når jeg filtrerede specifikke celler... :-(
Denne kommentar blev minimeret af moderatoren på webstedet
‌vidunderligt🌺 Tusind tak🙏
Denne kommentar blev minimeret af moderatoren på webstedet
Tusind tak🙏🌺
Denne kommentar blev minimeret af moderatoren på webstedet
Det virker. Tusind tak...
Denne kommentar blev minimeret af moderatoren på webstedet
Denne formel virker, men vær opmærksom på, at hvis du har tomme celler, kan formlen ikke fungere og vælge den første værdi i hele tabellen, ikke kun i de filtrerede resultater. Løsningen, jeg fandt, var at erstatte tomme celler med NULL eller et mellemrum.
Denne kommentar blev minimeret af moderatoren på webstedet
Først havde jeg tomme felter... så var alle celler udfyldt, men stadig med #VALUE-svaret. Forhåbentlig virker denne formel også på tekst...! Tak for rådet i hvert fald ;-)
Denne kommentar blev minimeret af moderatoren på webstedet
Så for mig fungerer svaret ovenfor simpelthen ikke så godt. Jeg har en projektmappe med over 23k rækker og er noget, jeg har arbejdet på at optimere gennem årene. Min løsning kom til mig i morges i endnu en gnist af inspiration.
Hvis du antager, at du bruger en TABEL til at få de data, du ønsker, skal du gøre dette: Én række (jeg kaldte den "Rownmbr") er dedikeret til: =CELL([@[DINFØRSTETRO]])
Uden for tabellen laver du en formel et sted:=INDIREKTE(CONCATENATE("A";SUBTOTAL(105;Tabel1[Rækkenmbr])))
Du erstatter blot "A"et med, hvor du vil hente dataene fra. For mig fungerer dette godt, og det er ikke en tung formel at bruge, der vil sænke dokumentet yderligere.
Denne kommentar blev minimeret af moderatoren på webstedet
Denne løsning fungerede perfekt for mig, da jeg brugte et bord. Instruktionerne var svære at følge, så forhåbentlig bliver denne forklaring en smule klarere.
Lad os sige, at du har en excel-tabel med navnet "Tabel_navn." Først skal du oprette en ny kolonne i din tabel og navngive den "RækkeNumber". 
I den nye kolonne skal du indtaste formlen "=ROW([@RowNumber])" Dette vil derefter udfylde den nye kolonne med
I den celle, hvor du vil vise den første synlige værdi, skal du indtaste formlen "=INDIREKTE("A"&SUBTOTAL(105,Tabel_navn[Rækkenummer]))" "A" er bogstavet i kolonnen, der indeholder den værdi, du ønsker at vende tilbage.
Funktionen SUBTOTAL(105,...) returnerer minimumsværdien af ​​alle de synlige rækker i et givet område, som i ovenstående tilfælde vil returnere rækkenummeret for den første synlige række.
Funktionen INDIREKTE returnerer værdien af ​​cellen for en given celleadresse. Det er derfor, du skal have, at den første del af formlen indeholder kolonnebogstavet for den kolonne, du vil vise. Den anden del af formlen returnerer rækkenummeret.


Denne kommentar blev minimeret af moderatoren på webstedet
Kan du hjælpe mig med at skrive denne formel i google ark med arrayformula ()

{=INDEX(C2:C19,MIN(IF(SUBTOTAL(3,OFFSET(C2,ROW(C2:C19)-ROW(C2),0)),ROW(C2:C19)-ROW(C2)+1)))}
Denne kommentar blev minimeret af moderatoren på webstedet
I den følgende VBA-kode, kan du venligst forklare, hvad der gør SpecialCells(xlCellTypeVisible)(1) betyde? Hvad er (1) bruges til efter SpecialCells(xlCellTypeVisible)?
ActiveCell.Value2 = Range("C" & .Offset(1, 0).SpecialCells(xlCellTypeVisible)(1).Row).Value2
Denne kommentar blev minimeret af moderatoren på webstedet
Tak!
Der er endnu ingen kommentarer her
Efterlad dine kommentarer
Sender som gæst
×
Bedøm dette indlæg:
0   Tegn
Foreslåede steder

Følg os

Copyright © 2009 - www.extendoffice.com. | Alle rettigheder forbeholdes. Drevet af ExtendOffice. | | Sitemap
Microsoft og Office-logoet er varemærker eller registrerede varemærker tilhørende Microsoft Corporation i USA og / eller andre lande.
Beskyttet af Sectigo SSL