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

Come trovare e ottenere il valore della prima cella visibile dopo aver filtrato in Excel?

In alcuni casi, potrebbe essere necessario ottenere il valore della prima cella visibile in un elenco filtrato. Come ottenerlo? Questo articolo ti mostrerà i metodi per risolverlo.

Trova e ottieni il valore della prima cella visibile dopo aver filtrato con la formula di matrice
Trova e ottieni il valore della prima cella visibile dopo aver filtrato con VBA


Trova e ottieni il valore della prima cella visibile dopo aver filtrato con la formula di matrice

È possibile applicare la seguente formula di matrice per ottenere il valore della prima cella visibile in un elenco filtrato. Si prega di fare quanto segue.

1. Selezionare una cella vuota per inserire il primo valore visibile, immettere la formula seguente al suo interno, quindi premere il tasto Ctrl + spostamento + Entra tasti contemporaneamente.

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

Note:: Nella formula, C2: C19 è l'elenco filtrato a cui si desidera restituire il primo valore di cella visibile, C2 è la prima cella dell'elenco. Puoi cambiarli secondo le tue necessità.

Quindi puoi vedere il valore della prima cella visibile nell'elenco filtrato popolato nella cella selezionata come mostrato nell'immagine sopra.


Trova e ottieni il valore della prima cella visibile dopo aver filtrato con VBA

Oltre a utilizzare la formula di matrice sopra per ottenere il valore della prima cella visibile in un elenco filtrato, è possibile eseguire lo script VBA sottostante per restituire rapidamente la prima cella visibile di un elenco filtrato. Si prega di fare quanto segue.

1. Selezionare una cella vuota come E8 per posizionare il primo valore di cella visibile di un elenco filtrato.

2. Stampa altro + F11 tasti contemporaneamente per aprire il file Microsoft Visual Basic, Applications Edition finestra.

3. Nel Microsoft Visual Basic, Applications Edition finestra, fare clic inserire > Modulo. Quindi copia e incolla il codice VBA sottostante nella finestra del modulo.

Codice VBA: trova e ottieni il valore della prima cella visibile dopo aver filtrato in 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:: Nel codice, Sheet1 è il nome del foglio che contiene l'elenco filtrato. "C" è il nome della colonna da cui si desidera ottenere il primo valore visibile. Puoi cambiarli secondo le tue necessità.

3. premi il F5 chiave per eseguire il codice, quindi la prima cella visibile dell'elenco filtrato che si trova nella colonna C verrà popolata immediatamente nella cella E8.


I migliori strumenti per la produttività in ufficio

Kutools per Excel risolve la maggior parte dei tuoi problemi e aumenta la tua produttività dell'80%

  • Riutilizzo: Inserisci rapidamente formule complesse, grafici e tutto ciò che hai usato prima; Crittografa celle con password; Crea mailing list e invia email ...
  • Bar Super Formula (modifica facilmente più righe di testo e formula); Layout di lettura (leggi e modifica facilmente un gran numero di celle); Incolla su intervallo filtrato...
  • Unisci celle / righe / colonne senza perdere dati; Contenuto delle celle divise; Combina righe / colonne duplicate... Impedisci celle duplicate; Confronta intervalli...
  • Seleziona Duplica o Unico Righe; Seleziona Righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molte cartelle di lavoro; Selezione casuale ...
  • Copia esatta Più celle senza modificare il riferimento della formula; Riferimenti di creazione automatica a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
  • Estrai testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare totali parziali di paging; Converti contenuto e commenti tra celle...
  • Super filtro (salva e applica schemi di filtri ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale in grassetto, corsivo ...
  • Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle in base a colonne chiave; Suddividi i dati in più fogli; Conversione in batch xls, xlsx e PDF...
  • Più di 300 potenti funzionalità. Supporta Office/Excel 2007-2021 e 365. Supporta tutte le lingue. Facile implementazione nella tua azienda o organizzazione. Funzionalità complete Prova gratuita di 30 giorni. Garanzia di rimborso di 60 giorni.
scheda kte 201905

Scheda Office porta l'interfaccia a schede a Office e semplifica notevolmente il lavoro

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!
fondo officetab
Commenti (17)
Ancora nessuna valutazione. Puoi essere il primo a votare!
Questo commento è stato fatto dal moderatore sul sito
Come trovare e ottenere il valore di dieci (10) prime celle visibili dopo il filtraggio del totale parziale in Excel?
Questo commento è stato fatto dal moderatore sul sito
Ciao,


Como faço para saber o número da célula toda vez que realizo o filtro automático no vba via loop?
Per esempio, per filtrare il valore 1, restituire come linee 2, 3 e 4. Non c'è il prossimo filtro ad anello per il valore 2 e restituire come linee 19, 20, 22.
Come fai a capire che il filtro è troppo piccolo il valore della linea attuale della linea del filtro e non il valore della prima linea del piano?
Grazie.
Questo commento è stato fatto dal moderatore sul sito
Modulo eccellente in VBA, ha funzionato perfettamente Lo apprezzo! Grazie mille per questo post !!!!
Questo commento è stato fatto dal moderatore sul sito
Qualcuno può spiegare come funziona effettivamente questa formula?

=INDEX(C2:C19,MIN(IF(SUBTOTAL(3,OFFSET(C2,ROW(C2:C19)-ROW(C2),0)),ROW(C2:C19)-ROW(C2)+1)))
Questo commento è stato fatto dal moderatore sul sito
Continuo a ricevere un errore di runtime '91' Variabile oggetto o Con variabile di blocco non impostata. Il mio foglio di lavoro è Sheet1 intitolato AllBrands. Questa è la mia formula:

Sub PrimaCellaVisibile()
Con fogli di lavoro ("TUTTI I MARCHI"). AutoFilter.Range
ActiveCell.Value2 = Range("H" & .Offset(1, 0).SpecialCells(xlCellTypeVisible)(1).Row).Value2
Fine Con

End Sub

Qualsiasi aiuto sarà apprezzato!
Questo commento è stato fatto dal moderatore sul sito
Ciao Bub,
Il codice funziona bene nel mio caso. Quale versione di Excel stai utilizzando?
Questo commento è stato fatto dal moderatore sul sito
Sfortunatamente - né la formula - che mi dà un errore #VALUE né il VBA funziona per me dandomi un errore di runtime "1004"
Peccato perché ho Office 2019 e mi aspettavo che una di queste funzionalità funzionasse durante il filtraggio di celle specifiche... :-(
Questo commento è stato fatto dal moderatore sul sito
‌meraviglioso🌺 Grazie mille🙏
Questo commento è stato fatto dal moderatore sul sito
Grazie mille🙏🌺
Questo commento è stato fatto dal moderatore sul sito
Funziona. Grazie mille...
Questo commento è stato fatto dal moderatore sul sito
Questa formula funziona, ma tieni presente che se hai celle vuote, la formula potrebbe non funzionare correttamente e selezionare il primo valore nell'intera tabella, non solo nei risultati filtrati. La soluzione che ho trovato è stata quella di sostituire le celle vuote con NULL o uno spazio.
Questo commento è stato fatto dal moderatore sul sito
Per prima cosa avevo degli spazi vuoti.... quindi tutte le celle sono state riempite ma hanno ancora la risposta #VALUE. Speriamo che questa formula funzioni anche sul testo...! Grazie comunque per il consiglio ;-)
Questo commento è stato fatto dal moderatore sul sito
Quindi per me la risposta sopra semplicemente non funziona così bene. Ho una cartella di lavoro con oltre 23 righe ed è qualcosa su cui ho lavorato per ottimizzare nel corso degli anni. La mia soluzione mi è venuta stamattina in un'altra scintilla di ispirazione.
Supponendo che tu stia utilizzando una TABLE per ottenere i dati che desideri, fai questo: Una riga (l'ho chiamata "Rownmbr") è dedicata a: =CELL([@[YOURFIRSTROW]])
Fuori dalla tabella crei una formula da qualche parte:=INDIRECT(CONCATENATE("A";SUBTOTAL(105;Table1[Rownmbr])))
Sostituisci semplicemente la "A" con la posizione da cui desideri ottenere i dati. Per me funziona alla grande e non è una formula pesante da usare che impantanerà ulteriormente il documento.
Questo commento è stato fatto dal moderatore sul sito
Questa soluzione ha funzionato perfettamente per me, dal momento che stavo usando un tavolo. Le istruzioni erano difficili da seguire, quindi spero che questa spiegazione sia un po' più chiara.
Supponi di avere una tabella Excel denominata "Table_Name". Innanzitutto, crea una nuova colonna nella tabella e chiamala "RowNumber". 
In quella nuova colonna, inserisci la formula "=ROW([@RowNumber])" Questo popolerà quindi la nuova colonna con
Nella cella in cui vuoi visualizzare il primo valore visibile, inserisci la formula "=INDIRECT("A"&SUBTOTAL(105,Table_Name[RowNumber]))" La "A" è la lettera della colonna che contiene il valore desiderato ritornare.
La funzione SUBTOTAL(105,...) restituisce il valore minimo di tutte le righe visibili in un determinato intervallo, che nel caso precedente restituirà il numero di riga della prima riga visibile.
La funzione INDIRETTO restituisce il valore della cella per un determinato indirizzo di cella. Questo è il motivo per cui è necessario che la prima parte della formula contenga la lettera della colonna della colonna che si desidera visualizzare. La seconda parte della formula restituirà il numero di riga.


Questo commento è stato fatto dal moderatore sul sito
Puoi aiutarmi a scrivere questa formula nel foglio di google con arrayformula ()

{=INDEX(C2:C19,MIN(IF(SUBTOTAL(3,OFFSET(C2,ROW(C2:C19)-ROW(C2),0)),ROW(C2:C19)-ROW(C2)+1)))}
Questo commento è stato fatto dal moderatore sul sito
Nel seguente codice VBA, puoi spiegare cosa fa SpecialCells(xlCellTypeVisible)(1) significare? Cos'è (1) usato per dopo SpecialCells(xlCellTypeVisible)?
ActiveCell.Value2 = Intervallo("C" & .Offset(1, 0).SpecialCells(xlCellTypeVisible)(1).Row).Value2
Questo commento è stato fatto dal moderatore sul sito
.
Non ci sono ancora commenti pubblicati qui
Lasciate i vostri commenti
Pubblicazione come ospite
×
Valuta questo post:
0   Personaggi
Posizioni suggerite

Seguici

Copyright © 2009 - www.extendoffice.com. | Tutti i diritti riservati. Offerto da ExtendOffice, | Mappa del sito
Microsoft e il logo Office sono marchi o marchi registrati di Microsoft Corporation negli Stati Uniti e / o in altri paesi.
Protetto da Sectigo SSL