PNG32 PNG32 PNG32 PNG32
PNG32
Forum Excel, VBA, VSTO, Exceltips, Excelhj�lp PNG32 drivs av Excelspecialisten    Logga in     English
PNG32
PNG32 PNG32
PNG32

Logga in

PNG32

Du är inte inloggad. Logga in eller registrera dig för att skriva inlägg eller svara på inlägg.

För frågor om forumet, kontakta oss på webmaster@excelforum.se

PNG32 PNG32
PNG32 PNG32
PNG32

Excelforum

PNG32

 
ForumForumDiskussionerDiskussionerExcelExcelSöka ut unika värden.Söka ut unika värden.
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2009-03-11 09:50
 

Hej,

Jag vill söka ut unika värden ur en lång lista, där värdena upprepas flera gånger. Av dessa unika värden vill jag sedan göra en lista, "Pick from list", och koppla till en cell i en annan flik.

Jag har två olika kolumner som jag vill söka ut informationen ifrån. Dock är tanken att det ska vara en lista per kolumn. Den ena kolumnen innehåller kollektionsnamn och den andra varugruppsnamn.
 
M v h
Jeanette
Nytt inlägg
 2009-03-12 08:56
 

Hej Jeanette,

Att söka ut unika värden är ett så vanligt förekommande behov hos Excel-användare att man i Excel 2007 skapat funktionalitet för detta.

Ett enkelt sätt att ta bort dubbletter med hjälp av en funktion kan du läsa om här:
http://datorn.ifokus.se/Forum/Read.aspx?ThreadId=90510f46-b503-40f1-afa6-bc167e325ab4

Ett annat enkelt (och halvdynamiskt) är att skapa en pivottabell från din lista. Dra sedan in fältet som motsvarar din kolumn med dubbletter som radfält och hux flux har du en lista rensad från dubbletter. Ett etikettfält i en pivottabell skapar ju just alla unika värden i kolumnen för att räkna fram någon egenskap hos dessa.

Skulle du nu lägga till nya rader och ser till att dessa inkluderas i pivottabellens dataområde så behöver du bara trycka ”Uppdatera data” i pivottabell och detta värde - om unikt - kommer att dyka upp i din lista. En vacker tanke är att koppla pivottabellen till ett dynamiskt namngivet fält. Dynamiskt namngivna fält har jag skrivit några rader om i vårt senaste nyhetsbrev. vilket du hittar här:
http://www.xls.se/nyhetsbrev/2009-01/nyhetsbrev.htm

Då har du din unika lista tillgänglig. För att göra listan valbar på ett bra sätt och därefter få möjlighet att använda användarens val för att visa något är det kanske lättast att infoga en kombobox (=kombinationsruta) från verktygsfältet ”Formulär”. I komboboxen väljer du sedan, genom att högerklicka på den, vad som skall vara indata(=din unika lista) och till vilken cell du vill skriva in det val som användaren gör (=cellänk). Siffran som skrivs ut i cellänken är ett tal som motsvarar den valda raden i kombiboxen. Denna siffra använder du sedan i formler för att presentera något för användaren. Du är det vanligt att du behöver använda LETARAD (eller alternativt PASSA/INDEX) och andra funktioner för att visa den information du vill.

Hoppas att detta hjälper dig att komma vidare.

Nytt inlägg
 2009-03-16 15:07
 
 Ändrad av Gäst  på 2009-03-16 16:09:04

Har skrivit denna lösning på ett annat excelforum, den är inte optimal, men den löser iallafall om man har en lista i kolumn A att sortera ut alla unika värden samt skapar en rullgardinslista som är sorterad i alfabetisk ordning.

I kolumn A har jag i cell a1 till a24 dessa värden;

  • Äpple1
    Jordgubb
    Persika
    Äpple1
    Äpple2
    Persika
    Äpple1
    Äpple1
    Dadlar
    Banan
    Banan
    Persika
    Äpple1
    Jordgubb
    Persika
    Apelsin
    Äpple2
    Persika
    Äpple1
    Äpple1
    Dadlar
    Päron
    Banan
    Apelsin2

i kolumn B står det i cell B1 =A1 och i cellen B2 har jag följande formel kopierat formeln nedåt till B1000
{=IF(ISERROR(MATCH(0;COUNTIF(B$1:B1;$A$1:$A$1000&"");0));"";INDEX(IF(ISBLANK($A$1:$A$1000);"";$A$1:$A$1000);MATCH(0;COUNTIF(B$1:B1;$A$1:$A$1000&"");0)))}

i kolumn C har jag följande formel kopierat in i cell C1 och sedan kopierat formeln ned till cell C1000
=IF(B1="";"";COUNTIF($B$1:$B$1000;"<"&(TEXT(B1;"#")&TEXT(MIN($B$1:$B$4);"#")))+COUNTIF($B$1:B4;(TEXT(B1;"#")&TEXT(MIN($B$1:$B$4);"#"))))

i kolumn D har jag följande formel kopierat in i cell D1 och sedan kopierat formeln ned till cell D1000
=IF(C1="";"";OFFSET(B$1;MATCH(SMALL($C$1:$C$1000;ROW()-ROW(B$1)+1);$C$1:$C$1000;0)-1;0))

och slutligen i Kolumn E har jag i cellen E1 gjort en datavalidering och skapat en lista med namndefination =sorterat

Namndefinationen har skapats med följande kod och namngetts till sorterat
=OFFSET(Sheet1!$E$1;;;SUMPRODUCT(--(LEN(Sheet1!$E$1:$E$1000)>0));1)

 

 

 

 

 Rullgardinslistan skapar med andra ord;

Apelsin
Apelsin2
Banan
Dadlar
Jordgubb
Persika
Päron
Äpple1
Äpple2

Hälsningar Filén

Nytt inlägg
 2009-03-16 15:16
 

svenska

 {=OM(ÄRFEL(PASSA(0;ANTAL.OM(B$1:B1;$A$1:$A$1000&"");0));"";INDEX(OM(ÄRTOM($A$1:$A$1000);"";$A$1:$A$1000);PASSA(0;ANTAL.OM(B$1:B1;$A$1:$A$1000&"");0)))}

i kolumn C har jag följande formel kopierat in i cell C1 och sedan kopierat formeln ned till cell C1000
=OM(B1="";"";ANTAL.OM($B$1:$B$1000;"<"&(TEXT(B1;"#")&TEXT(MIN($B$1:$B$4);"#")))+ANTAL.OM($B$1:B4;(TEXT(B1;"#")&TEXT(MIN($B$1:$B$4);"#"))))

i kolumn D har jag följande formel kopierat in i cell D1 och sedan kopierat formeln ned till cell D1000
=OM(C1="";"";FÖRSKJUTNING(B$1;PASSA(MINSTA($C$1:$C$1000;RAD()-RAD(B$1)+1);$C$1:$C$1000;0)-1;0))

och slutligen i Kolumn E har jag i cellen E1 gjort en datavalidering och skapat en lista med namndefination =sorterat

Namndefinationen har skapats med följande kod och namngetts till sorterat
=FÖRSKJUTNING(Blad1!$E$1;;;PRODUKTSUMMA(--(LÄNGD(Blad1!$E$1:$E$1000)>0));1)

 

Hälsningar Filén

Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerExcelExcelSöka ut unika värden.Söka ut unika värden.

PNG32 PNG32
Excelforum drivs av Excelspecialisten som bedriver utbildning i Excel och VBA, tillhandahåller support och hjälp med Excel, utvecklar program i Excel. Är ni i behov av en konsult inom Excel, VBA eller VSTO, eller söker en excelkurs, kontakta oss.
Copyright 2013 ExcelSpecialisten XLS AB   Användarvillkor  Personliga uppgifter