Filtru di colonna horizontale in Excel

Se ùn site micca un utilizatore principiante, allora avete digià nutatu chì u 99% di tuttu in Excel hè pensatu per travaglià cù tavule verticali, induve i paràmetri o attributi (campi) passanu per e colonne, è l'infurmazioni nantu à l'uggetti o l'avvenimenti sò situati. in i linii. Pivot tables, subtotals, cupià e formule cun un doppiu clic - tuttu hè adattatu apposta per stu formatu di dati.

In ogni casu, ùn ci sò micca regule senza eccezzioni è cù una freccia abbastanza regulare, mi sò dumandatu ciò chì deve fà se un tavulu cù una orientazione semantica horizontale, o un tavulinu induve e fila è e culonne anu u stessu pesu in u significatu, scontra in u travagliu:

Filtru di colonna horizontale in Excel

È se Excel sà sempre cumu sorte in orizzontale (cù u cumandimu Dati - Sort - Opzioni - Sort columns), allora a situazione cù u filtru hè peghju - ùn ci hè simplicemente micca strumenti integrati per filtrà e colonne, micca fila in Excel. Allora, sè vo site affruntatu cù un tali compitu, vi tuccherà à vene cù soluzioni di diversi gradi di cumplessità.

Metudu 1. Nova funzione FILTER

Sè vo site nantu à a nova versione di Excel 2021 o un abbonamentu Excel 365, pudete prufittà di a nova funzione introdutta FILTER (FILTRE), chì ponu filtrà i dati fonte micca solu per fila, ma ancu per colonne. Per travaglià, sta funzione richiede un array-row unidimensionale horizontale ausiliare, induve ogni valore (TRUE o FALSE) determina s'ellu si mostra o, à u cuntrariu, ammuccià a prossima colonna in a tavula.

Aghjunghjemu a seguente linea sopra a nostra tavula è scrivite u statutu di ogni colonna in questu:

Filtru di colonna horizontale in Excel

  • Diciamu chì vulemu sempre vede a prima è l'ultima colonna (intestazione è totali), cusì per elli in a prima è l'ultima cellula di l'array avemu stabilitu u valore = TRUE.
  • Per e colonne rimanenti, u cuntenutu di e cellule currispondenti serà una formula chì verifica a cundizione chì avemu bisognu cù e funzioni И (È) or OR (OR). Per esempiu, u tutale hè in u range da 300 à 500.

Dopu quì, resta solu à aduprà a funzione FILTER per selezziunà e culonne sopra à quale a nostra matrice ausiliaria hà un valore TRUE:

Filtru di colonna horizontale in Excel

In listessu modu, pudete filtrà e colonne per una lista data. In questu casu, a funzione aiuta COUNTIF (COUNTIF), chì verifica u nùmeru d'occurrence di u nome di a colonna dopu da l'intestazione di a tavola in a lista permessa:

Filtru di colonna horizontale in Excel

Metudu 2. Pivot table invece di u solitu

Attualmente, Excel hà un filtru horizontale integratu per colonne solu in tavule pivot, cusì se riescimu à cunvertisce a nostra tavola originale in una tabella pivot, pudemu usà sta funziunalità integrata. Per fà questu, a nostra tavola fonte deve risponde à e seguenti cundizioni:

  • avè una linea d'intestazione di una linea "corretta" senza cellule viote è fusionate - altri ùn hà micca travagliatu per custruisce una tabella pivot;
  • ùn cuntene micca duplicati in l'etichette di fila è culonni - "collapse" in u riassuntu in una lista di solu valori unichi;
  • cuntenenu solu numeri in a gamma di valori (à l'intersezzione di fila è culonne), perchè a tavola pivot hà definitamente applicà una certa funzione di aggregazione per elli (summa, media, etc.) è questu ùn hà micca travagliatu cù u testu.

Se tutte queste cundizioni sò scontri, allora per custruisce una table pivot chì s'assumiglia à a nostra tavola originale, (u originale) deve esse allargata da u crosstab in un pianu pianu (normalizatu). È u modu più faciule per fà questu hè cù l'add-in Power Query, un putente strumentu di trasfurmazioni di dati integratu in Excel da 2016. 

Queste sò:

  1. Cunvertisce a tavula in un cumandamentu dinamicu "intelligente". Home - Formate cum'è una tavola (Casa - Formate cum'è Table).
  2. Carica in Power Query cù u cumandimu Dati - Da Table / Range (Dati - Da Table / Range).
  3. Filtremu a linea cù i totali (u riassuntu avarà i so totali).
  4. Cliccate cù u dirittu nantu à a prima intestazione di a colonna è selezziunate Uncollapse altre colonne (Unpivot altre colonne). Tutte e colonne non-selezziunate sò cunvertiti in dui - u nome di l'impiigatu è u valore di u so indicatore.
  5. Filtrà a colonna cù i totali chì sò andati in a colonna attribuilla.
  6. Custruemu una tabella di pivot secondu a tavula flat (normalizata) risultante cù u cumandimu Casa — Chiudi è Carica — Chiudi è Carica in… (Casa - Chiudi è Carica - Chiudi è Carica à...).

Avà pudete aduprà a capacità di filtrà e colonne dispunibuli in tavule pivot - i soliti marchi di spunta davanti à i nomi è l'articuli Filtri di firma (Filtri d'etichetta) or Filtra per valore (Filtri di valore):

Filtru di colonna horizontale in Excel

E sicuru, quandu cambiate i dati, avete bisognu di aghjurnà a nostra dumanda è u riassuntu cù una scurciatoia di tastiera Ctrl+Alt+F5 o squadra Dati - Refresh All (Dati - Refresh All).

Metudu 3. Macro in VBA

Tutti i metudi previ, cum'è pudete vede facilmente, ùn sò micca esattamente filtrati - ùn avemu micca ammucciatu i culonni in a lista originale, ma formate una nova tavula cù un inseme di colonne da l'uriginale. S'ellu hè necessariu di filtrà (ocultà) e culonni in i dati di fonte, allora un approcciu fundamentale differente hè necessariu, à dì, una macro.

Eppo supponimu chì vulemu filtrà e colonne nantu à a mosca induve u nome di u manager in l'intestazione di a tavula satisface a maschera specificata in a cellula gialla A4, per esempiu, cumencia cù a lettera "A" (vale à dì, uttene "Anna" è "Arthur". " di cunsiguenza). 

Cum'è in u primu metudu, prima implementemu una fila ausiliaria, induve in ogni cellula u nostru criteriu serà verificatu da una formula è i valori lògichi TRUE o FALSE seranu visualizati per e colonne visibili è nascoste, rispettivamente:

Filtru di colonna horizontale in Excel

Allora aghjunghje una macro simplice. Cliccate cù u dirittu nantu à a tabulazione di u fogliu è selezziunate u cumandamentu surghjente (Codice surgente). Copia è incollà u seguente codice VBA in a finestra chì si apre:

Private Sub Worksheet_Change (ByVal Target As Range) If Target.Address = "$ A $ 4" Allora per ogni cellula In Range ("D2: O2") If cell = True Allora cell.EntireColumn.Hidden = False Else cell.EntireColumn.Hidden = True End If Next cell End If End Sub  

A so logica hè a siguenti:

  • In generale, questu hè un gestore di eventi Worksheet_Change, vale à dì chì sta macro si eseguirà automaticamente nantu à ogni cambiamentu à qualsiasi cellula nantu à u fogliu attuale.
  • A riferenza à a cellula cambiata serà sempre in a variàbile destinazione.
  • Prima, verificate chì l'utilizatore hà cambiatu esattamente a cellula cù u criteriu (A4) - questu hè fattu da l'operatore. if.
  • Allora u ciculu principia Per ogni… per iterà nantu à e cellule grise (D2: O2) cù i valori indicatori TRUE / FALSE per ogni colonna.
  • Se u valore di a prossima cellula grisa hè TRUE (true), allora a colonna ùn hè micca oculata, altrimenti l'avemu ammucciata (proprietà ammucciatu).

  •  Funzioni di matrice dinamica da Office 365: FILTER, SORT, è UNIC
  • Pivot table cù intestazioni multiline cù Power Query
  • Chì sò i macros, cumu creà è aduprà

 

Lascia un Audiolibro