Just nu i M3-nätverket
Gå till innehåll
Akutssk

Ersätta värde

Rekommendera Poster

Hej!

Jag har ett excelark med över 200000 rader. Varje rad har ett ID. Detta ID kan förekomma en gång eller flera hundra gånger.

Jag skulle nu vilja ersätta detta värde med en "ersättningskod" som gör att man inte kan härleda vilket ID det varit.

 

Har börjat ersätta ID manuellt, men inser att detta kommer ta en låååång tid...

I bifogad fil ser ni ett ex. på hur det ser ut. I Kolumn A finns ID och i kolumn B har jag skrivit in en "kod", en bokstav som ökar varje ID.

 

Någon som har förslag på hur detta skulle kunna automatiseras?

 

Tack på förhand!

 

/Akutssk

Ersätta med kod.xlsx

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Detta är nog inte en så svår sak att lösa, men jag undrar bara om det är just bokstäver du önskar ha? Det blir lite knepigare, men går säkert att lösa när du kommer till 'Z' (eller 'Ö') och ska fortsätta med 'AA', 'AB', osv..

 

Detta går mkt enklare att lösa om koden kan vara en siffra istället, är det en acceptabel lösning för dig?

 

Ett annat alternativ kan vara att köra med ett löpnummer i stil med ID1, ID2 (ev. använda nollvärdesutfyllnad typ ID00001) osv...

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Postad (redigerade)

*********ED**********

Sorry, jag såsade och såg inte att Ove redan hade svarat i princip samma sak

*******/ED***************** 

 

 

Finns det bara 28 koder? annars verkar det lite optimistiskt med en enda bokstav som ersättning

 

Hursomhelst, om kolumn A är sorterad så kan du skapa en villkors-formel i kolumn B. För varje rad kollar du om värdet i A-kolumnen är = värdet i raden ovanför. Om det är samma så kopierar du värdet ovanför i B kolumnen. Annars ökar du ett steg.

Om vi kör siffror skulle den här formeln i B3 fungera

(förutsätter att du manuellt skrivit in en etta i B2)

 

=OM(A3=A2;B2;B2+1)

Kopiera ner till rad b20000 (whatever)

 

 

Om du vill köra med en bokstav så kan du testa någonting i stil med:

=OM(A3=A2;B2;TECKENKOD(KOD(B2)+1))

Men den bli konstig så fort du Kommer över 26 unika bokstäver.

 

i teorin går det att lägga ihop bokstäver, men det blir snabbt krångligt.

en annan variant är att skapa en lång lista med unika ersättningskoder någonstans och sedan hämta dessa med någonting i stil med passa/index. Men jag vet inte om det ger så mycket. Exempel om du har en lista med unika värden i i kolumn A på blad2:

 

=OM(A3=A2;B2;INDEX(Blad2!A:A;PASSA(B2;Blad2!A:A;0)+1))

Ja, du fattar principen. Men jag vet inte om du tjänar någonting jämfört med att ta ett enkelt löpnummer.

 

Oavsett vilken metod du använder behöver du "döda" formlerna som skapat de nu löpnumret. Det gör du genom att markera kolumn B (med dina nya nummer) . Kopiera och kör "klistra in special" -> Värden

Redigerad av MH_resurrected

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Som jag och MH_resurrected är inne på så är löpnummer enklaste metoden.

 

1. Sortera din lista på ID-kolumnen (kolumn A)

2. Jag antar att listan har kolumnrubriker på rad 1

3. Infoga kolumn efter kolumn A om det inte finns en tom kolumn där

4. Skriv in värdet 1 i cell B2

5. Skriv in följande formel i cell B3: =OM(A3=A2;B2;B2+1)

6. Autofyll/kopiera nedåt till listans slut

7. Ta bort formlerna i kolumn B genom att markera hela kolumnen och kopiera, därefter markera kolumnen igen (om den avmarkerades) och klistra in special, endast värden.

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Skapa ett nytt konto på vårt forum. Det är lätt!

Registrera ett nytt konto

Logga in

Redan medlem? Logga in här.

Logga in nu



×
×
  • Skapa nytt...