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

 
ForumForumDiskussionerDiskussionerExcelExcelRensa bort rader som inte existerar i referrnsfilRensa bort rader som inte existerar i referrnsfil
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2016-06-02 11:22
 

Jag använder mig av ett faktureringsprogram som kan importera artikelregister i form av csv-fil (har aldrig fattat vad som skiljer mot. xls). Problemet är att filerna innehåller 65000 artiklar, av vilka jag använder ca 200. Vore det möjligt att rensa ut samtliga rader som har ett artikelnummer (första kolumnen i raden) som inte finns med i en fil där jag listar alla artiklar jag använder?

Nytt inlägg
 2016-06-02 11:57
 

 Jodå

1.Öppna fil i excel,

2 lägg på filter på rubrikerna.

3.Filtrera efter endast tomma rader på den kolumnen där du har artikelnummer.

4.. Markera de raderna som är filtrerade, samt rubriker, kopiera dessa och klistra  in på nytt blad.

5.  Spara ditt nya blad som .csv, här kommer du få ett varningsmededlande som du ska klicka ok på. 

Detta kan du sedan spela in ett macro för, så att du bara behöver trycka på en knapp istället för att göra de fem stegen. 

(csv = comma separated values, denna filtyp kan öppnas i en texteditor, exempelvis anteckningar/notepad då den endast innehåller

värden och avgränsare i textform. Excelfiler innehåller mycket mer och kan därför inte öppnas på liknande sätt. 

 

 

Nytt inlägg
 2016-06-02 13:41
 

 Jag var nog lite otydlig. Annars så fattar jag inte riktigt.

Filen från min leverantör innehåller en mängd artiklar, priser osv  I mitt program använder jag bara en liten del av dessa, men leverantörens fil innehåller kompletta rader för alla artiklar. Jag vill kunna filtrera ut de artiklar jag använder för att på så sätt kunna använda leverantörens fil för att uppdatera priserna i mitt program.

Jag hade då behövt filtrera mot en fil där jag redan har de artiklar jag använder och på så vis plocka bort alla rader som inte innehåller ett artikelnummer från min 200-artiklars fil.

Nytt inlägg
 2016-06-02 13:41
 

 Jag var nog lite otydlig. Annars så fattar jag inte riktigt.

Filen från min leverantör innehåller en mängd artiklar, priser osv  I mitt program använder jag bara en liten del av dessa, men leverantörens fil innehåller kompletta rader för alla artiklar. Jag vill kunna filtrera ut de artiklar jag använder för att på så sätt kunna använda leverantörens fil för att uppdatera priserna i mitt program.

Jag hade då behövt filtrera mot en fil där jag redan har de artiklar jag använder och på så vis plocka bort alla rader som inte innehåller ett artikelnummer från min 200-artiklars fil.

Nytt inlägg
 2016-06-02 14:51
 
Alternativ 1. Hämta data till din "200-fil". T.ex med hjälp av LETARAD(). Obs att LETARAD() bygger på att Artikelnumret står längst till vänster i 65000-tabellen. (Dynamiskt kopplat men ganska beräkningskrävande)

Om 200-filen har artikelnumren i A-kolumnen så kan du kopiera in den här exempel-formeln i B2
=LETARAD($A2;[65000_boken.xlsx]Blad1!$A$1:$G$65000;2;FALSKT)

Formeln hittar först artikelnumret i cell A2 (i 200-filen). Sen söker den efter det artikelnumret i den första kolumnen i tabellen [65000_boken.xlsx]Blad1!$A$1:$G$65000. Värdet som returneras är det som står i 2:a kolumnen. "Falskt" betyder att den inte får ta ett artikelnummer som ligger nära. Den måste hitta exakt värde.
Kopiera formeln åt höger och ändar 2:an till de kolumnnummer du är ute efter. Sen kan du kopiera ner formlerna till rad 200.

Alternativ 2: Filtrera 65000-filen.
1. Se till att både 200-listan och 650000 listan har samma rubrik på artikelnummer.
2. Ställ dig någonstans i tabellen i 65000-listan.
3. Gå till avancerat filter (excel 2010) DATA->sortera och filtrera->avancerat-> Villkorsområde
Skriv in adressen till din lista med giltiga artikelnummer, typ [200_boken.xlsx]Blad3!$A$1:$A$201

Det här filtrerar på plats och döljer bara ogiltiga rader. Vill du bli av med oönskade rader direkt så väljer du att filtrera till annan plats, eller kopierar. Du måste ta bort ointressanta kolumner själv.

Nytt inlägg
 2016-06-02 16:00
 

 Tack.

Jag provar detta. 😄 

Nytt inlägg
 2016-06-14 13:33
 

 Hej igen.

Jag lyckas inte med något av alternativen. :(.

För att vara tydlig; den stora filen innehåller ju inte bara artikelnumrena. Artikelnumret står till vänster (Kolumn A) följt av exempelvis beskrivning, pris, enhet (st, m, förp etc). Dessa vill jag ju också ska följa med trots att jag i den andra filen enbart har en rad med artikelnummer. Är det så ni har tolkat mig med?

Nytt inlägg
 2016-06-14 14:35
 
Då får du en kort förklaring av letarad funktionen, så löser du det nog sedan :).

Letarad kräver:

1. Tabellen som data ska hämtas ifrån måste ha "nyckeln" i en kolumn längst till vänster. Detta innebär för dig att artikelnummer ska stå längst till vänster i din leverantörsfil. Klipp och klistra..

2. Tabellen som data ska hämtas ifrån måste vara sorterad från minsta till största. Således behöver du göra en sortering på leverantörsdata så att artikelnumren ligger i stigande följd.

Letarad exempel.

I A1 står det ett artikelnummer: K0312. På en annan flik, vi kallar den blad2, så har du en tabell, där artikelnummer finns i kolumn A, dessa är sorterade i stigande ordning.. I kolumn B, prisinfo, I kolumn C, enhetsinfo, kolumn D, beskrivning.

Om jag vill hämta pris för artikeln i A1 till cell B2 så skriver jag i cell B2: =Letarad(a1; blad2!$A:$D;2;falskt)

Första argumentet: A1, är cellen som ska matchas mot din tabell.
Andra argumentet: 'blad2!A:D, är hela din tabell (Leverantörsdata).
Tredje argumentet: 2, är en numret på kolumnen du vill hämta info från. Skulle du skriva 3 så skulle du få ut kolumn C, dvs enhetsinfo. 4 skulle returnera "beskrivning".
Fjärde argumentet, falskt, betyder att funktionen vill göra en exakt matching, dvs samtliga synliga och eventuellt osynliga tecken måste vara likadana.

Om du fortfarande inte lyckas är du välkommen att kontakta mig på christian.hagglund@excelspecialisten.se så kan jag lösa det på konsultbasis.

Lycka till
Christian










Nytt inlägg
 2016-06-14 15:31
 

 Nu föll poletten ner. Funkar kanon! Tack för hjälpen! :)

 

Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerExcelExcelRensa bort rader som inte existerar i referrnsfilRensa bort rader som inte existerar i referrnsfil

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