Kopiera markerade rader till en annan plats med funktionen FILTER
Har du behov att markera vissa rader, till exempel fakturor, för att kopiera och flytta över dem till ett annat kalkylblad eller en annan arbetsbok i Excel? Eller kanske bara filtrera dina data till annan plats?
Då kan du ha användning av funktionen FILTER [FILTER].
Ladda ner exempelfilen här: Kopiera och flytta markerade rader.xlsx
Tips!
I tidigare versioner av Excel går denna uppgift att lösa med hjälp av alternativet Avancerat [Advanced] i gruppen Sortera och filtrera [Sort and Filter ] på menyfliken Data [Data].
Skapa tabell
I detta exempel ska olika fakturor fördelas och några fakturarader behöver kopieras till en annan plats.
För att göra detta har en extra hjälpkolumn lagts till. Där utvalda fakturor markeras med ett x och området med fakturarader har konverterats till en Exceltabell.
- För att skapa en Exceltabell räcker det med att stå med markören i området med värden och välja Tabell [Table] på menyfliken Infoga [Insert].
En fördel med att området är en Exceltabell är att om det tillkommer fler rader med fakturor nästa gång, kommer du inte behöva ändra antalet rader, i den formel som ska används för att filtrera ut markerade rader.
En annan fördel med Exceltabeller, är att området får ett namn och att det namngivna området utökas automatiskt när det tillkommer nya rader.
Namnge tabellen
När markören står inom den markerade tabellen visas menyfliken Tabelldesign [Table Design].
- Här kan du själv ge tabellen ett bra beskrivande namn, genom att fylla i namnet i området Tabellnamn [Table Name].
Tips!
Namnet behöver bestå av minst två tecken, börja på en bokstav och kan inte innehålla mellanslag.
Funktionen FILTER
För att kopiera utvalda rader i ett område eller tabell, till en annan plats, går det att använda funktionen FILTER [FILTER].
Funktionen behöver två obligatoriska argument (markerade i fetstil i dialogrutan) och ett valfritt.
Det första som behöver anges är området som ska filtreras.
I det här fallet går det att använda tabellens namn Fakturatabell, i stället för att ange cellreferenser B2:E46 (som behöver ändras manuellt om antalet rader i området förändras om du inte har en tabell).
Första delen av formeln blir:
=FILTER(Fakturatabell;
Tips!
Genom att använda tabellens namn behöver du inte ange på vilket kalkylblad i arbetsboken tabellen finns, så tabellen behöver inte ens finnas på samma kalkylblad, som där du vill visa resultatet.
Filtervillkor
Sedan behöver det villkor som ska uppfyllas fyllas in i nästa fält.
Här går det att använda ytterligare en fördel med Exceltabeller och det är att inte bara tabellen får ett namn, utan att även varje kolumn i tabellen namnges till samma som rubrikraden.
Så i stället för att ange området till B3:B46, går det att skriva in tabellens namn och kolumnens namn inom hakparenteser Fakturatabell[Markering] och ange att bara ta med de rader där texten x finns, genom att fylla i =”x”.
Den kompletta formeln blir nu:
=FILTER(Fakturatabell;Fakturatabell[Markering]=”x”)
Funktionen är inte känslig på stora och små bokstäver så både rader med x och X kommer att fungera.
Tips!
Det går även att fylla i och ange vad som ska visas, om inga rader uppfyller villkoret, i området Om_tom [If empty].
SPILL funktion
Du behöver inte själv kopiera formeln ned till så många rader, som du misstänker att resultatet av formeln kan behöva.
Resultatet av funktionen FILTER [FILTER] kommer SPILLA ut över lika många rader som uppfyller villkoret automatiskt och även till lika många kolumner som källtabellen innehåller.
Så det behövs bara en enda formel som dynamiskt kommer att resultera i olika antal rader, beroende på antalet rader som markeras med ett x i hjälpkolumnen.
Begränsa antalet kolumner i resultatet
Funktionen FILTER [FILTER] kan göra mer än att bara begränsa antalet filtrerade rader. Funktionen kan även begränsa antalet kolumner som ska tas med i resultatet.
I detta exempel är det inte intressant att ta med och visa hjälpkolumnen, i den nya området med utvalda rader.
I stället för att fylla i att det är hela tabellen Fakturatabell som ska filtreras, så går det att ange att det är bara kolumnerna från och med och till och med rubrikerna [Faktura]:[Belopp] som ska ingå i resultatet.
Även dessa kolumner behöver anges inom hakparenteser så formeln blir:
=FILTER(Fakturatabell[[Faktura]:[Belopp]];Fakturatabell[Markering]=”x”)
Nu har du en formel som du kan placera var du vill i arbetsboken, som bara visar utvalda rader och utvalda kolumner från den ursprungliga datakällan.
Sugen på mer?
Vill du lära dig mer om FILTER-funktionen och alla de andra smarta nya dynamiska funktionerna i Excel?
- Kolla in vårt endagarskurs om matrisfunktioner i Excel (även e-kurser ingår i kursavgiften). Läs mer och boka här.
- Gå vår e-kurs / självstudiekurs i matrisfunktioner. Läs mer och boka här.