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

Πώς να βρείτε και να λάβετε την τιμή του πρώτου ορατού κελιού μετά το φιλτράρισμα στο Excel;

Σε ορισμένες περιπτώσεις, ίσως χρειαστεί να λάβετε την τιμή του πρώτου ορατού κελιού σε μια φιλτραρισμένη λίστα. Πώς να το πετύχετε; Αυτό το άρθρο θα σας δείξει μεθόδους για την επίλυσή του.

Βρείτε και λάβετε την τιμή του πρώτου ορατού κελιού μετά το φιλτράρισμα με τον τύπο πίνακα
Βρείτε και λάβετε την τιμή του πρώτου ορατού κελιού μετά το φιλτράρισμα με VBA


Βρείτε και λάβετε την τιμή του πρώτου ορατού κελιού μετά το φιλτράρισμα με τον τύπο πίνακα

Μπορείτε να εφαρμόσετε τον ακόλουθο τύπο πίνακα για να λάβετε την τιμή του πρώτου ορατού κελιού σε μια φιλτραρισμένη λίστα. Κάντε τα εξής:

1. Επιλέξτε ένα κενό κελί για να τοποθετήσετε την πρώτη ορατή τιμή, εισαγάγετε τον παρακάτω τύπο και, στη συνέχεια, πατήστε το Ctrl + αλλαγή + εισάγετε ταυτόχρονα.

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

Note: Στον τύπο, το C2: C19 είναι η φιλτραρισμένη λίστα που θέλετε να επιστρέψετε την πρώτη ορατή τιμή κελιού, το C2 είναι το πρώτο κελί της λίστας. Μπορείτε να τα αλλάξετε όπως χρειάζεστε.

Στη συνέχεια, μπορείτε να δείτε την τιμή του πρώτου ορατού κελιού στη φιλτραρισμένη λίστα που έχει συμπληρωθεί στο επιλεγμένο κελί, όπως φαίνεται παραπάνω.


Βρείτε και λάβετε την τιμή του πρώτου ορατού κελιού μετά το φιλτράρισμα με VBA

Εκτός από τη χρήση του παραπάνω τύπου πίνακα για να λάβετε την τιμή του πρώτου ορατού κελιού σε μια φιλτραρισμένη λίστα, μπορείτε να εκτελέσετε το παρακάτω σενάριο VBA για να επιστρέψετε γρήγορα το πρώτο ορατό κελί μιας φιλτραρισμένης λίστας. Κάντε τα εξής:

1. Επιλέξτε ένα κενό κελί όπως το E8 για να τοποθετήσετε την πρώτη ορατή τιμή κελιού μιας φιλτραρισμένης λίστας.

2. Τύπος άλλος + F11 ταυτόχρονα για να ανοίξετε το Microsoft Visual Basic για εφαρμογές παράθυρο.

3. Στο Microsoft Visual Basic για εφαρμογές παράθυρο, κάντε κλικ στην επιλογή Κύριο θέμα > Μονάδα μέτρησης. Στη συνέχεια, αντιγράψτε και επικολλήστε τον παρακάτω κώδικα VBA στο παράθυρο Module.

Κωδικός VBA: βρείτε και λάβετε την τιμή του πρώτου ορατού κελιού μετά το φιλτράρισμα στο Excel

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

Note: Στον κώδικα, το Sheet1 είναι το όνομα φύλλου που περιέχει τη φιλτραρισμένη λίστα. Το "C" είναι το όνομα της στήλης από την οποία θέλετε να λάβετε την πρώτη ορατή τιμή. Μπορείτε να τα αλλάξετε όπως χρειάζεστε.

3. Πάτα το F5 για να εκτελέσετε τον κώδικα, τότε το πρώτο ορατό κελί της φιλτραρισμένης λίστας που εντοπίζει στη στήλη Γ θα συμπληρωθεί αμέσως στο κελί E8.


Τα καλύτερα εργαλεία παραγωγικότητας του Office

Το Kutools για Excel λύνει τα περισσότερα από τα προβλήματά σας και αυξάνει την παραγωγικότητά σας κατά 80%

  • Επαναχρησιμοποίηση: Εισαγάγετε γρήγορα σύνθετοι τύποι, γραφήματα και οτιδήποτε έχετε χρησιμοποιήσει στο παρελθόν. Κρυπτογράφηση κυττάρων με κωδικό πρόσβασης Δημιουργία λίστας αλληλογραφίας και στείλτε email ...
  • Super Formula Bar (επεξεργαστείτε εύκολα πολλές γραμμές κειμένου και τύπου). Διάταξη ανάγνωσης (εύκολη ανάγνωση και επεξεργασία μεγάλου αριθμού κελιών). Επικόλληση σε φιλτραρισμένο εύρος...
  • Συγχώνευση κελιών / σειρών / στηλών χωρίς απώλεια δεδομένων · Περιεχόμενο διαχωρισμού κελιών Συνδυάστε διπλές σειρές / στήλες... Αποτροπή διπλών κυττάρων; Συγκρίνετε τα εύρη...
  • Επιλέξτε Διπλότυπο ή Μοναδικό Σειρές; Επιλέξτε Κενές σειρές (όλα τα κελιά είναι κενά). Σούπερ εύρεση και ασαφής εύρεση σε πολλά βιβλία εργασίας. Τυχαία επιλογή ...
  • Ακριβές αντίγραφο Πολλαπλά κελιά χωρίς αλλαγή της αναφοράς τύπου. Αυτόματη δημιουργία αναφορών σε πολλαπλά φύλλα? Εισαγωγή κουκκίδων, Πλαίσια ελέγχου και άλλα ...
  • Εξαγωγή κειμένου, Προσθήκη κειμένου, Κατάργηση κατά θέση, Αφαιρέστε το διάστημα; Δημιουργία και εκτύπωση υποσύνολων σελιδοποίησης. Μετατροπή περιεχομένου και σχολίων μεταξύ κελιών...
  • Σούπερ φίλτρο (αποθηκεύστε και εφαρμόστε σχήματα φίλτρων σε άλλα φύλλα). Προηγμένη ταξινόμηση ανά μήνα / εβδομάδα / ημέρα, συχνότητα και άλλα. Ειδικό φίλτρο με έντονη, πλάγια ...
  • Συνδυάστε βιβλία εργασίας και φύλλα εργασίας; Συγχώνευση πινάκων βάσει βασικών στηλών. Διαχωρίστε τα δεδομένα σε πολλά φύλλα; Μαζική μετατροπή xls, xlsx και PDF...
  • Περισσότερα από 300 ισχυρά χαρακτηριστικά. Υποστηρίζει Office / Excel 2007-2021 και 365. Υποστηρίζει όλες τις γλώσσες. Εύκολη ανάπτυξη στην επιχείρηση ή τον οργανισμό σας. Πλήρεις δυνατότητες δωρεάν δοκιμής 30 ημερών. Εγγύηση επιστροφής χρημάτων 60 ημερών.
kte καρτέλα 201905

Το Office Tab φέρνει τη διεπαφή με καρτέλες στο Office και κάνει την εργασία σας πολύ πιο εύκολη

  • Ενεργοποίηση επεξεργασίας και ανάγνωσης καρτελών σε Word, Excel, PowerPoint, Publisher, Access, Visio και Project.
  • Ανοίξτε και δημιουργήστε πολλά έγγραφα σε νέες καρτέλες του ίδιου παραθύρου και όχι σε νέα παράθυρα.
  • Αυξάνει την παραγωγικότητά σας κατά 50% και μειώνει εκατοντάδες κλικ του ποντικιού για εσάς κάθε μέρα!
κάτω μέρος γραφείου
Σχόλια (17)
Δεν υπάρχουν ακόμη βαθμολογίες. Γίνε ο πρώτος που θα αξιολογήσετε!
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Πώς να βρείτε και να αποκτήσετε την τιμή των δέκα (10) πρώτων ορατών κελιών μετά από υποσύνολο φιλτραρίσματος στο Excel;
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
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. 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;
Σας ευχαριστώ.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Εξαιρετική ενότητα σε VBA, λειτούργησε τέλεια. Το εκτιμώ αυτό! Ευχαριστώ πολύ για αυτήν την ανάρτηση!!!!
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Μπορεί κανείς να εξηγήσει πώς λειτουργεί πραγματικά αυτή η φόρμουλα;

=INDEX(C2:C19,MIN(IF(SUBTOTAL(3,OFFSET(C2,ROW(C2:C19)-ROW(C2),0)),ROW(C2:C19)-ROW(C2)+1)))
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Συνεχίζω να λαμβάνω ένα σφάλμα χρόνου εκτέλεσης '91' Μεταβλητή αντικειμένου ή Με μη καθορισμένη μεταβλητή μπλοκ. Το φύλλο εργασίας μου είναι το Sheet1 με τίτλο AllBrands. Αυτή είναι η φόρμουλα μου:

Sub FirstVisibleCell()
Με φύλλα εργασίας ("ALLBRANDS").AutoFilter.Range
ActiveCell.Value2 = Εύρος ("H" & .Offset(1, 0).SpecialCells(xlCellTypeVisible)(1).Σειρά).Τιμή2
Τέλος με

Sub End

Οποιαδήποτε βοήθεια θα εκτιμηθεί!
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σου Μπαμπ,
Ο κώδικας λειτουργεί καλά στην περίπτωσή μου. Ποια έκδοση του Excel χρησιμοποιείτε;
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Δυστυχώς - ούτε ο τύπος - που μου δίνει ένα σφάλμα #VALUE ούτε το VBA λειτουργεί για μένα δίνοντάς μου ένα σφάλμα χρόνου εκτέλεσης '1004'
Κρίμα που έχω το Office 2019 και περίμενα να λειτουργήσει μια από αυτές τις δυνατότητες κατά το φιλτράρισμα συγκεκριμένων κελιών... :-(
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
‌υπέροχο🌺 Ευχαριστώ ένα εκατομμύριο🙏
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Ευχαριστώ ένα εκατομμύριο🙏🌺
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Δουλεύει. Ευχαριστώ πολύ...
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Αυτός ο τύπος λειτουργεί, αλλά έχετε υπόψη ότι εάν έχετε κενά κελιά, ο τύπος μπορεί να παρουσιάσει δυσλειτουργία και να επιλέξετε την πρώτη τιμή σε ολόκληρο τον πίνακα, όχι μόνο στα φιλτραρισμένα αποτελέσματα. Η λύση που βρήκα ήταν να αντικαταστήσω τα κενά κελιά με NULL ή ένα κενό.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Πρώτα είχα κενά.... μετά γεμίστηκαν όλα τα κελιά αλλά εξακολουθούσαν να έχουν την απόκριση #VALUE. Ας ελπίσουμε ότι αυτός ο τύπος λειτουργεί και στο κείμενο...! Ευχαριστώ για τη συμβουλή πάντως ;-)
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Έτσι για μένα η παραπάνω απάντηση απλά δεν λειτουργεί τόσο καλά. Έχω ένα βιβλίο εργασίας με περισσότερες από 23 σειρές και είναι κάτι για το οποίο προσπαθώ να βελτιστοποιήσω όλα αυτά τα χρόνια. Η λύση μου ήρθε σε μένα σήμερα το πρωί σε μια ακόμη σπίθα έμπνευσης.
Υποθέτοντας ότι χρησιμοποιείτε έναν ΠΙΝΑΚΑ για να λάβετε τα δεδομένα που θέλετε κάντε αυτό: Μία σειρά (την ονόμασα "Rownmbr") είναι αφιερωμένη στο: =CELL([@[YOURFIRSTROW]])
Έξω από τον πίνακα δημιουργείτε έναν τύπο κάπου:=INDIRECT(CONCATENATE("A";SUBTOTAL(105;Table1[Rownmbr])))
Απλώς αντικαθιστάτε το "A" με από όπου θέλετε να λάβετε τα δεδομένα. Για μένα αυτό λειτουργεί υπέροχα και δεν είναι μια βαριά φόρμουλα που θα βαλτώνει περαιτέρω το έγγραφο.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Αυτή η λύση λειτούργησε τέλεια για μένα, καθώς χρησιμοποιούσα τραπέζι. Οι οδηγίες ήταν δύσκολο να ακολουθηθούν, οπότε ελπίζουμε ότι αυτή η εξήγηση θα είναι λίγο πιο ξεκάθαρη.
Ας υποθέσουμε ότι έχετε έναν πίνακα excel με το όνομα "Table_Name". Αρχικά, δημιουργήστε μια νέα στήλη στον πίνακά σας και ονομάστε την "RowNumber". 
Σε αυτήν τη νέα στήλη, εισαγάγετε τον τύπο "=ROW([@Αριθμός γραμμής])" Στη συνέχεια θα συμπληρωθεί η νέα στήλη με
Στο κελί όπου θέλετε να εμφανιστεί η πρώτη ορατή τιμή, εισαγάγετε τον τύπο "=INDIRECT("A"&SUBTOTAL(105,Table_Name[RowNumber]))" Το "A" είναι το γράμμα της στήλης που περιέχει την τιμή που θέλετε το να γυρίζεις.
Η συνάρτηση SUBTOTAL(105,...) επιστρέφει την ελάχιστη τιμή όλων των ορατών σειρών σε ένα δεδομένο εύρος, το οποίο στην παραπάνω περίπτωση θα επιστρέψει τον αριθμό σειράς της πρώτης ορατής σειράς.
Η συνάρτηση INDIRECT επιστρέφει την τιμή του κελιού για μια δεδομένη διεύθυνση κελιού. Αυτός είναι ο λόγος που χρειάζεστε το πρώτο μέρος του τύπου να περιέχει το γράμμα της στήλης της στήλης που θέλετε να εμφανίσετε. Το δεύτερο μέρος του τύπου θα επιστρέψει τον αριθμό σειράς.


Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Μπορείτε να με βοηθήσετε να γράψω αυτόν τον τύπο στο φύλλο google με arrayformula ()

{=INDEX(C2:C19,MIN(IF(SUBTOTAL(3,OFFSET(C2,ROW(C2:C19)-ROW(C2),0)),ROW(C2:C19)-ROW(C2)+1)))}
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Στον παρακάτω κώδικα VBA, μπορείτε να εξηγήσετε τι κάνει SpecialCells(xlCellTypeVisible)(1) σημαίνω? Τι είναι (1) χρησιμοποιείται για μετά SpecialCells (xlCellTypeVisible)?
ActiveCell.Value2 = Εύρος ("C" & .Offset(1, 0).SpecialCells(xlCellTypeVisible)(1).Σειρά).Τιμή2
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Ευχαριστώ!
Δεν υπάρχουν σχόλια δημοσιεύτηκε ακόμα
Αφήστε τα σχόλιά σας
Δημοσίευση ως επισκέπτης
×
Αξιολογήστε αυτήν την ανάρτηση:
0   Χαρακτήρες
Προτεινόμενες τοποθεσίες

Ακολουθησε μας

Πνευματικά δικαιώματα © 2009 - www.extendoffice.com. | Ολα τα δικαιώματα διατηρούνται. Τροφοδοτείται από ExtendOffice. | Sitemap
Το Microsoft και το λογότυπο του Office είναι εμπορικά σήματα ή σήματα κατατεθέντα της Microsoft Corporation στις Ηνωμένες Πολιτείες ή / και σε άλλες χώρες.
Προστατεύεται από το Sectigo SSL