Hur filtrerar jag data från rullgardinsmenyval i Excel?
I Excel kan de flesta av oss filtrera data med filterfunktionen. Men har du någonsin försökt att filtrera data från rullgardinsmenyn? När jag till exempel väljer ett objekt i listrutan vill jag att motsvarande rader filtreras bort enligt följande skärmdump. Den här artikeln kommer jag att prata om hur man filtrerar data genom att använda rullgardinsmenyn i ett eller två kalkylblad.
Filtrera data från rullgardinsmenyval i ett kalkylblad med hjälpformler
Filtrera data från rullgardinsmenyval i två kalkylblad med VBA-kod
Filtrera data från rullgardinsmenyval i ett kalkylblad med hjälpformler
För att filtrera data från rullgardinslistan kan du skapa några hjälpformelkolumner, gör med följande steg en efter en:
1. Först in i rullgardinsmenyn. Klicka på en cell där du vill infoga listrutan och klicka sedan på Data > Datagransknings > Datagransknings, se skärmdump:
2. I poppade ut Datagransknings under dialogrutan Inställningar fliken, välj Lista från Tillåt och klicka sedan på för att välja den datalista du vill skapa rullgardinsmenyn baserat på, se skärmdump:
3. Och klicka sedan på OK -knappen infogas rullgardinslistan på en gång och välj ett objekt i rullgardinsmenyn och ange sedan denna formel: = RADER ($ A $ 2: A2) (A2 är den första cellen i kolumnen som innehåller rullgardinslistans värde) i cell D2, och dra sedan fyllningshandtaget ner till cellerna för att tillämpa denna formel, se skärmdump:
4. Fortsätt med att ange den här formeln: = IF (A2 = $ H $ 2, D2, "") in i cell E2 och dra sedan ned fyllningshandtaget för att fylla denna formel, se skärmdump:
Anmärkningar: I ovanstående formel :A2 är den första cellen i kolumnen som innehåller listrutans värde ,H2 är cellen där rullgardinsmenyn placeras, D2 är den första hjälpkolonnformeln.
5. Och skriv sedan den här formeln: = FEL (LITT ($ E $ 2: $ E $ 17, D2), "") in i cell F2, dra sedan påfyllningshandtaget ner till cellerna för att fylla denna formel, se skärmdump:
Anmärkningar: I ovanstående formel: E2: E17 är den andra hjälparformelcellerna, D2 är den första cellen i den första hjälpformelkolumnen.
6. När du har infogat kolumnerna för hjälparformeln ska du mata ut det filtrerade resultatet till en annan plats, använd denna formel: =IFERROR(INDEX($A$2:$C$17,$F2,COLUMNS($J$2:J2)),"") in i cell J2 och dra sedan fyllningshandtaget från J2 till L2, och den första posten av data baserad på rullgardinsmenyn har extraherats, se skärmdump:
Anmärkningar: I ovanstående formel: A2: C17 är den ursprungliga informationen du vill filtrera, F2 är den tredje hjälpformelkolonnen, J2 är cellen där du vill mata ut filterresultatet.
7. Och fortsätt sedan med att dra fyllningshandtaget ner till cellerna för att visa alla motsvarande filtrerade poster, se skärmdump:
8. Från och med nu, när du väljer ett objekt i listrutan, filtreras alla rader baserat på detta val samtidigt, se skärmdump:
Supercharge Excel-rullgardinslistor med Kutools förbättrade funktioner
Öka din produktivitet med Kutools för Excels förbättrade listfunktioner. Denna funktionsuppsättning går utöver grundläggande Excel-funktioner för att effektivisera ditt arbetsflöde, inklusive:
- Flervalsrullgardinslista: Välj flera poster samtidigt för effektiv datahantering.
- Dropdown-lista med kryssrutor: Förbättra användarinteraktion och tydlighet i dina kalkylark.
- Dynamisk rullgardinslista: Uppdaterar automatiskt baserat på dataändringar, vilket säkerställer noggrannhet.
- Sökbar rullgardinslista: Hitta snabbt nödvändiga poster, spara tid och minska krångel.
Filtrera data från rullgardinsmenyval i två kalkylblad med VBA-kod
Om din rullgardinsmeny i Ark1 och de filtrerade uppgifterna i Ark2, när du väljer ett objekt från rullgardinsmenyn, kommer ett annat ark att filtreras bort. Hur kunde du avsluta det här jobbet i Excel?
Följande VBA-kod kan göra dig en tjänst, gör så här:
1. Högerklicka på arkfliken som innehåller rullgardinsmenyn och välj sedan Visa kod från snabbmenyn, i den öppnade Microsoft Visual Basic för applikationer fönster, kopiera och klistra in följande kod i den tomma modulen:
VBA-kod: Filtrera data från rullgardinsmenyval i två ark:
Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
On Error Resume Next
If Not Intersect(Range("A2"), Target) Is Nothing Then
Application.EnableEvents = False
If Range("A2").Value = "" Then
Worksheets("Sheet2").ShowAllData
Else
Worksheets("Sheet2").Range("A2").AutoFilter 1, Range("A2").Value
End If
Application.EnableEvents = True
End If
End Sub
Anmärkningar: I ovanstående kod: A2 är cellen som innehåller rullgardinsmenyn och Sheet2 är kalkylbladet innehåller de data du vill filtrera. Numret 1 i manuset: Autofilter 1 är det kolumnnummer som du vill filtrera baserat på. Du kan ändra dem efter dina behov.
2. Från och med nu, när du väljer ett objekt från listrutan i Sheet1, och motsvarande data filtreras bort i Sheet2, se skärmdump:
Bästa kontorsproduktivitetsverktyg
Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid. Klicka här för att få den funktion du behöver mest...
Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare
- Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
- Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
- Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!