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

Jak znaleźć i uzyskać wartość pierwszej widocznej komórki po przefiltrowaniu w programie Excel?

W niektórych przypadkach może być konieczne pobranie wartości pierwszej widocznej komórki na przefiltrowanej liście. Jak to osiągnąć? Ten artykuł pokaże Ci metody rozwiązania tego problemu.

Znajdź i uzyskaj wartość pierwszej widocznej komórki po przefiltrowaniu za pomocą formuły tablicowej
Znajdź i uzyskaj wartość pierwszej widocznej komórki po przefiltrowaniu za pomocą VBA


Znajdź i uzyskaj wartość pierwszej widocznej komórki po przefiltrowaniu za pomocą formuły tablicowej

Aby uzyskać wartość pierwszej widocznej komórki na przefiltrowanej liście, możesz zastosować następującą formułę tablicową. Wykonaj następujące czynności.

1. Wybierz pustą komórkę do umieszczenia pierwszej widocznej wartości, wprowadź do niej poniższą formułę, a następnie naciśnij Ctrl + przesunięcie + Wchodzę klucze jednocześnie.

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

Uwagi: W formule C2: C19 to przefiltrowana lista, dla której chcesz zwrócić pierwszą widoczną wartość komórki, C2 to pierwsza komórka na liście. Możesz je zmieniać według potrzeb.

Następnie możesz zobaczyć wartość pierwszej widocznej komórki na przefiltrowanej liście wypełnionej w wybranej komórce, jak pokazano na powyższym zrzucie ekranu.


Znajdź i uzyskaj wartość pierwszej widocznej komórki po przefiltrowaniu za pomocą VBA

Oprócz użycia powyższej formuły tablicowej, aby uzyskać wartość pierwszej widocznej komórki na przefiltrowanej liście, możesz uruchomić poniższy skrypt VBA, aby szybko zwrócić pierwszą widoczną komórkę z przefiltrowanej listy. Wykonaj następujące czynności.

1. Wybierz pustą komórkę, na przykład E8, do umieszczenia pierwszej widocznej wartości komórki na przefiltrowanej liście.

2. naciśnij inny + F11 klawisze jednocześnie, aby otworzyć Microsoft Visual Basic for Applications okno.

3. w Microsoft Visual Basic for Applications okno, kliknij wstawka > Moduł. Następnie skopiuj i wklej poniższy kod VBA do okna Module.

Kod VBA: znajdź i pobierz wartość pierwszej widocznej komórki po przefiltrowaniu w Excelu

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

Uwagi: W kodzie Arkusz1 to nazwa arkusza zawierającego przefiltrowaną listę. „C” to nazwa kolumny, z której chcesz pobrać pierwszą widoczną wartość. Możesz je zmieniać według potrzeb.

3. wciśnij F5 klucz do uruchomienia kodu, pierwsza widoczna komórka listy filtrowanej, która znajduje się w kolumnie C, zostanie natychmiast umieszczona w komórce E8.


Najlepsze narzędzia biurowe

Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%

  • Ponowne użycie: Szybko włóż złożone wzory, wykresy i wszystko, czego używałeś wcześniej; Szyfruj komórki z hasłem; Utwórz listę mailingową i wysyłaj e-maile ...
  • Pasek Super Formula (łatwo edytować wiele wierszy tekstu i formuły); Układ do czytania (łatwe odczytywanie i edytowanie dużej liczby komórek); Wklej do filtrowanego zakresu...
  • Scal komórki / wiersze / kolumny bez utraty danych; Podziel zawartość komórek; Połącz zduplikowane wiersze / kolumny... Zapobiegaj zduplikowanym komórkom; Porównaj zakresy...
  • Wybierz Duplikat lub Unikalny Wydziwianie; Wybierz puste wiersze (wszystkie komórki są puste); Super Find i Fuzzy Find w wielu zeszytach ćwiczeń; Losowy wybór ...
  • Dokładna kopia Wiele komórek bez zmiany odwołania do formuły; Automatyczne tworzenie odniesień do wielu arkuszy; Wstaw punktory, Pola wyboru i nie tylko ...
  • Wyodrębnij tekst, Dodaj tekst, Usuń według pozycji, Usuń przestrzeń; Tworzenie i drukowanie podsumowań stronicowania; Konwertuj zawartość komórek i komentarze...
  • Super filtr (zapisz i zastosuj schematy filtrów do innych arkuszy); Zaawansowane sortowanie według miesiąca / tygodnia / dnia, częstotliwości i innych; Specjalny filtr pogrubieniem, kursywą ...
  • Połącz skoroszyty i arkusze robocze; Scal tabele na podstawie kluczowych kolumn; Podziel dane na wiele arkuszy; Konwersja wsadowa xls, xlsx i PDF...
  • Ponad 300 zaawansowanych funkcji. Obsługuje Office / Excel 2007-2021 i 365. Obsługuje wszystkie języki. Łatwe wdrażanie w przedsiębiorstwie lub organizacji. Pełne funkcje 30-dniowa bezpłatna wersja próbna. 60-dniowa gwarancja zwrotu pieniędzy.
karta kte 201905

Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
officetab dół
Sortuj komentarze według
Komentarze (17)
Brak ocen. Oceń jako pierwszy!
Ten komentarz został zminimalizowany przez moderatora na stronie
Jak znaleźć i uzyskać wartość dziesięciu (10) pierwszych widocznych komórek po filtrowaniu sum częściowych w programie Excel?
Ten komentarz został zminimalizowany przez moderatora na stronie
Ola,


Como faço para saber o número da célula toda vez que realizo o filtro automático no vba via loop?
Por exemplo, ao filtrar o valor 1, retornou as linhas 2, 3 e 4. Nie 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?
Dziękuję.
Ten komentarz został zminimalizowany przez moderatora na stronie
Znakomity moduł w VBA, działał idealnie. Doceniam to! Wielkie dzięki za ten post!!!!
Ten komentarz został zminimalizowany przez moderatora na stronie
Czy ktoś może wyjaśnić, jak właściwie działa ta formuła?

=INDEX(C2:C19,MIN(IF(SUBTOTAL(3,OFFSET(C2,ROW(C2:C19)-ROW(C2),0)),ROW(C2:C19)-ROW(C2)+1)))
Ten komentarz został zminimalizowany przez moderatora na stronie
Ciągle otrzymuję błąd Run-time „91” Zmienna obiektu lub Zmienna blokowa nie jest ustawiona. Mój arkusz roboczy to Arkusz1 zatytułowany AllBrands. Oto moja formuła:

Sub FirstVisibleCell()
Z Arkuszami ("WSZYSTKIE MARKI").AutoFilter.Range
ActiveCell.Value2 = Range("H" i .Offset(1, 0).SpecialCells(xlCellTypeVisible)(1).Row).Value2
Kończyć z

End Sub

Każda pomoc zostanie doceniona!
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć Bub,
Kod działa dobrze w moim przypadku. Z której wersji programu Excel korzystasz?
Ten komentarz został zminimalizowany przez moderatora na stronie
Niestety – ani formuła – która daje mi błąd #VALUE, ani VBA nie działa dla mnie, dając mi błąd w czasie wykonywania „1004”
Szkoda, bo mam Office 2019 i spodziewałem się, że jedna z tych funkcji zadziała podczas filtrowania określonych komórek... :-(
Ten komentarz został zminimalizowany przez moderatora na stronie
‌wspaniale🌺 Dzięki milion
Ten komentarz został zminimalizowany przez moderatora na stronie
Dzięki milionowi🙏🌺
Ten komentarz został zminimalizowany przez moderatora na stronie
To działa. Dzięki wielkie...
Ten komentarz został zminimalizowany przez moderatora na stronie
Ta formuła działa, ale pamiętaj, że jeśli masz puste komórki, formuła może działać nieprawidłowo i wybrać pierwszą wartość w całej tabeli, a nie tylko w przefiltrowanych wynikach. Znalazłem obejście polegające na zastąpieniu pustych komórek wartością NULL lub spacją.
Ten komentarz został zminimalizowany przez moderatora na stronie
Najpierw miałem puste miejsca .... potem wszystkie komórki zostały wypełnione, ale nadal miały odpowiedź #VALUE. Mam nadzieję, że ta formuła działa również na tekst...! Dzięki za radę i tak ;-)
Ten komentarz został zminimalizowany przez moderatora na stronie
Więc dla mnie powyższa odpowiedź po prostu nie działa tak dobrze. Mam skoroszyt z ponad 23 tysiącami wierszy i nad jego optymalizacją pracowałem przez lata. Moje rozwiązanie przyszło mi dziś rano w kolejnej iskierce inspiracji.
Zakładając, że używasz TABELI, aby uzyskać żądane dane, zrób to: Jeden wiersz (nazwałem go „Rownmbr”) jest przeznaczony na: =CELL([@[TWOJAPIERWSZA]])
Poza tabelą tworzysz formułę gdzieś:=INDIRECT(CONCATENATE("A";SUBTOTAL(105;Table1[Rownmbr]))))
Po prostu zamieniasz literę „A” na miejsce, z którego chcesz uzyskać dane. Dla mnie działa to świetnie i nie jest to ciężka formuła, która jeszcze bardziej ugrzęźnie w dokumencie.
Ten komentarz został zminimalizowany przez moderatora na stronie
To rozwiązanie sprawdziło się dla mnie idealnie, ponieważ korzystałem ze stołu. Instrukcje były trudne do wykonania, więc miejmy nadzieję, że to wyjaśnienie będzie nieco jaśniejsze.
Załóżmy, że masz tabelę programu Excel o nazwie „Nazwa_tabeli”. Najpierw utwórz nową kolumnę w tabeli i nazwij ją „RowNumber”. 
W tej nowej kolumnie wprowadź formułę „=WIERSZ([@NumerWiersza])”. Spowoduje to wypełnienie nowej kolumny wartością
W komórce, w której chcesz wyświetlić pierwszą widoczną wartość, wprowadź formułę „=INDIRECT(„A”&SUBTOTAL(105,Table_Name[RowNumber]))” „A” to litera kolumny zawierającej żądaną wartość wracać.
Funkcja SUBTOTAL(105,...) zwraca minimalną wartość wszystkich widocznych wierszy w danym zakresie, co w powyższym przypadku zwróci numer pierwszego widocznego wiersza.
Funkcja ADR.POŚR zwraca wartość komórki dla podanego adresu komórki. Dlatego pierwsza część formuły musi zawierać literę kolumny, którą chcesz wyświetlić. Druga część formuły zwróci numer wiersza.


Ten komentarz został zminimalizowany przez moderatora na stronie
Czy możesz mi pomóc napisać tę formułę w arkuszu google z arrayformula ()

{=INDEX(C2:C19,MIN(IF(SUBTOTAL(3,OFFSET(C2,ROW(C2:C19)-ROW(C2),0)),ROW(C2:C19)-ROW(C2)+1)))}
Ten komentarz został zminimalizowany przez moderatora na stronie
Czy możesz wyjaśnić w poniższym kodzie VBA, co oznacza? SpecialCells (xlCellTypeVisible)(1) oznaczać? Co jest (1) używane po SpecialCells (xlCellTypeVisible)?
ActiveCell.Value2 = Range("C" & .Offset(1, 0).SpecialCells(xlCellTypeVisible)(1).Row).Value2
Ten komentarz został zminimalizowany przez moderatora na stronie
Dziękuję Ci!
Nie ma tu jeszcze żadnych komentarzy
Zostaw swój komentarz
Publikowanie jako gość
×
Oceń ten post:
0   Postacie
Sugerowane lokalizacje

Bądż na bieżąco

Prawa autorskie © 2009 - www.extendoffice.com. | Wszelkie prawa zastrzeżone. Zasilany przez ExtendOffice, | Mapa strony
Microsoft i logo Office są znakami towarowymi lub zastrzeżonymi znakami towarowymi Microsoft Corporation w Stanach Zjednoczonych i / lub innych krajach.
Chronione przez Sectigo SSL