Hur skapar jag en lista med unika värden från flera kalkylblad i Excel?
När du arbetar med data spridda över flera kalkylblad i Excel kan du behöva konsolidera informationen och skapa en lista med unika värden. Även om Excel inte tillhandahåller en direkt inbyggd funktion för den här uppgiften, finns det flera metoder för att uppnå det. Den här artikeln går igenom tre praktiska metoder för att skapa en lista med unika värden från flera kalkylblad.
Skapa en lista med unika värden från flera kalkylblad
Skapa en lista med unika värden från flera kalkylblad med VBA-kod
För att lista alla unika värden från alla kalkylblad kan följande VBA-kod göra dig en tjänst, vänligen gör så här:
1. Håll ner ALT + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.
2. Klicka Insert > Modulernaoch klistra in följande makro i Modulerna Fönster.
VBA-kod: Skapa en lista med unika värden från flera kalkylblad:
Sub SheelsUniqueValues()
Dim xObjNewWS As Worksheet
Dim xObjWS As Worksheet
Dim xStrAddress As String
Dim xIntRox As Long
Dim xIntN As Long
Dim xFNum As Integer
Dim xMaxC, xColumn As Integer
Dim xR As Range
xStrName = "Unique value"
Application.ScreenUpdating = False
xMaxC = 0
Application.DisplayAlerts = False
For Each xObjWS In Sheets
If xObjWS.Name = xStrName Then
xObjWS.Delete
Exit For
End If
Next
Application.DisplayAlerts = True
For xFNum = 1 To Sheets.Count
xColumn = Sheets(xFNum).Cells.Find(What:="*", after:=[A1], SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
If xMaxC < xColumn Then
xMaxC = xColumn
End If
Next xFNum
Application.DisplayAlerts = True
Set xObjNewWS = Sheets.Add(after:=Sheets(Sheets.Count))
xObjNewWS.Name = xStrName
For xColumn = 1 To xMaxC
xIntN = 1
For xFNum = 1 To Sheets.Count - 1
Set xR = Sheets(xFNum).Columns(xColumn)
If TypeName(Sheets(xFNum).Columns(xColumn).Find(What:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious)) <> "Nothing" Then
xIntRox = xR.Find(What:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
Sheets(xFNum).Range(Cells(1, xColumn).Address & ":" & Cells(xIntRox, xColumn).Address).Copy
Cells(xIntN, xColumn).PasteSpecial xlValues
xIntN = xIntRox + xIntN + 1
End If
Next xFNum
If xIntRox - 1 > 0 Then
xIntRox = xIntN - 1
xStrAddress = Cells(1, xColumn).Address & ":" & Cells(xIntRox, xColumn).Address
Range(xStrAddress).AdvancedFilter Action:=xlFilterInPlace, Unique:=True
Range(xStrAddress).Copy
Cells(1, xColumn + 1).PasteSpecial xlValues
Range(xStrAddress).AdvancedFilter Action:=xlFilterInPlace, Unique:=False
Columns(xColumn).Delete
Range(xStrAddress).Sort key1:=Cells(1, xColumn), Header:=xlNo
End If
Next xColumn
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
3. Efter att ha klistrat in ovanstående kod, tryck sedan på F5 för att köra den här koden, och ett nytt kalkylblad heter Unikt värde skapas och unika namn i kolumn A från alla ark listas enligt följande skärmdump:
Skapa en lista med unika värden från flera kalkylblad med Kutools AI Aide
I det här avsnittet visar vi dig hur du enkelt skapar en lista med unika värden från flera kalkylblad med Kutools AI Aide.
Klicka Kutools > AI-assistent att öppna Kutools AI Aide gör följande åtgärder i rutan:
- Skriv in kravet i chattrutan: till exempel:
Extrahera alla unika värden i kolumn A från alla kalkylblad i denna arbetsbok och lista de unika värdena i ett nytt blad - Och tryck sedan på ange eller klicka på Skicka knapp. Kutools AI kommer att analysera frågan, när du är klar klickar du Utförande knappen, alla unika värden från flera ark visas i ett nytt ark, se demon:
Skapa en lista med unika värden från flera kalkylblad med formel (Excel 365)
Om du vill skapa en lista med unika värden från flera kalkylblad i Excel med hjälp av formel, kan du uppnå detta genom att kombinera dynamiska array-funktioner som UNIQUE och VSTACK i Excel 365.
Ange följande formel i en tom cell och tryck sedan på ange för att extrahera unika värden till en enda kolumn från flera ark. Se skärmdump:
=UNIQUE(VSTACK(Sheet1!A1:A11, Sheet2!A1:A11, Sheet3!A1:A11, Sheet4!A1:A11))
- VSTACK: Kombinerar flera intervall (t.ex. Blad1!A1:A11, Blad2!A1:A11, Blad3!A1:A11, Blad3!A1:A11) till en enda vertikal array.
- UNIK: Filtrerar bort dubbletter och returnerar endast unika värden från den kombinerade listan.
- A1: A11: Justera intervallet så att det inkluderar ditt faktiska dataintervall.
I den här artikeln utforskade vi tre effektiva metoder för att skapa en lista med unika värden från flera kalkylblad i Excel. Varje metod har sina fördelar, så att du kan välja den som bäst passar din Excel-version, kompetensnivå och specifika behov. Om du är intresserad av att utforska fler Excel-tips och tricks, vår webbplats erbjuder tusentals tutorials.
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!