Nazvao me prijatelj i pitao postoji li način da imamo serijske brojeve na takav način da ne postoje dupliciranje serijskih brojeva u Excelu.
Nešto kao što je prikazano ispod:
Htio je da serijski broj za Indiju bude 1 gdje god se pojavi. Slično, SAD je druga zemlja i uvijek bi trebao imati 2 kao serijski broj.
Ovo me navelo na razmišljanje.
Evo dva načina na koja sam mogao smisliti kako bih izbjegao dupliciranje serijskih brojeva u Excelu.
Metoda #1 - Korištenje funkcije VLOOKUP
Prvi način je korištenje naše voljene funkcije VLOOKUP.
Da bismo to učinili, prvo moramo dobiti jedinstveni popis zemalja. Evo koraka za to:
- Napravite kopiju popisa zemalja (kopirajte je zalijepite u isti ili drugi radni list).
- Odaberite kopirane podatke i idite na Podaci -> Ukloni duplikate. Otvorit će se dijaloški okvir za uklanjanje duplikata.
- Provjerite je li označena opcija - Moji podaci imaju zaglavlja (u slučaju da vaši podaci imaju zaglavlje. U protivnom ga poništite).
- Odaberite stupac iz kojeg želite ukloniti duplikate.
- Pritisnite U redu.
- To je to. Imat ćete popis jedinstvenih naziva država.
Vidi također: Ultimativni vodič za pronalaženje i uklanjanje duplikata u Excelu.
Sada dodijelite serijske brojeve svakoj zemlji. Provjerite jesu li ti brojevi uneseni desno od jedinstvenog popisa zemalja jer VLOOKUP ne može dohvatiti podatke s lijeve strane vrijednosti traženja.
U ćeliji u kojoj želite serijske brojeve (B3: B15) upotrijebite donju formulu VLOOKUP:
= VLOOKUP (C3, $ F $ 3: $ G $ 8,2,0)
Ova formula VLOOKUP uzima naziv zemlje kao vrijednost pretraživanja, provjerava ga u podacima u F3: G8 i vraća njezin serijski broj.
Metoda #2 - Dinamička formula
Iako je metoda VLOOKUP savršeno dobar način za to, nije dinamična.
Dakle, ako dodam novu zemlju ili promijenim postojeću, ova metoda neće funkcionirati i morat ćete ponovno ponoviti cijeli postupak metode #1.
Evo formule koja ga čini dinamičnim:
= IF (COUNTIF ($ C $ 3: $ C4, $ C4) = 1, MAX ($ B $ 3: $ B3)+1, INDEX ($ B $ 3: $ C $ 18, MATCH ($ C4, $ C $ 3: $) C4,0), 1))
Da biste koristili ovu formulu, morate ručno unijeti 1 u prvu ćeliju, a gornju formulu u sve ostale preostale ćelije.
Kako radi:
Koristi IF funkciju koja provjerava koliko se puta zemlja dogodila prije tog retka. Ako se naziv zemlje pojavljuje prvi put, broj je 1, a uvjet je TRUE, a ako se naziv zemlje pojavio i ranije, broj je veći od 1, a uvjet je LAŽ.
- Kad je uvjet ISTINA:
= MAX ($ B $ 3: $ B3) +1
Ako je vrijednost TRUE, što znači da se naziv zemlje pojavljuje prvi put, ona identificira najveću vrijednost serijskog broja do tada i dodaje joj 1 kako bi dala sljedeću vrijednost serijskog broja.
- Kada je vrijednost ako je FALSE:
= INDEKS ($ B $ 3: $ C $ 18, MATCH ($ C4, $ C $ 3: $ C4,0), 1)
Ako se zemlja već dogodila ranije, ova formula ide u ćeliju gdje se prva pojavljuje i vraća serijski broj prvog pojavljivanja te zemlje.
Preuzmite datoteku primjera
Možda će vam se svidjeti i sljedeći vodiči za Excel:
- Kako koristiti Flash Fill u Excelu.
- Automatski sortirajte podatke po abecednom redu pomoću formule.
- Kako brzo popuniti brojeve u ćelijama bez povlačenja.
- Kako koristiti Fill Handle u Excelu.