Excel - Uskladite niz s stupcem i povećajte za 1

Problem

Imam dva lista s podacima na sljedeći način:

List:

Niz, rezultat

A0101

Format niza u stupcu 1: A: Axxxx (A - abeceda od a do z, x broj 0-9). Abeceda je starter serije.

List 2:

 A0101001 B0102001 Q9911001 S7834001 A0101002 A0101003 

Stupac A list 2 - Axxxxxxx (A - abeceda od a do z, x broj 0-9)

posljednja tri broja su u nizu za svaku od prvih pet oznaka.

kao u gornjim podacima:

 A0101001 A0101002 A0101003 

Broj nikada neće skočiti na 005 za niz A0101

Želim uskladiti niz u tablici A2 ćelije 1 s vrijednostima u stupcu A lista 2. \ t

Ako je moj niz: A0101 iz lista 1 i nalazim sljedeća tri unosa iz lista 2: A0101001, A0101002, A0101003, rezultat u ćeliji B2 lista 1 je A0101004. Moji podaci su sekvencijalni.

Riješenje

Dodao sam još jedan podatak u A3 na listu 1

B0102

U retku 2 se nalaze naslovi stupaca, a podaci su niže

niz:

 A0101001 B0102001 Q9911001 S7834001 A0101002 A0101003 

Zatim isprobajte ovaj "makro". Ako želite ponovno provjeriti prvo pokrenite mcaro "undo", a zatim "test"

 Sub test () Dim r As Range, c As Range, x As String Dim j As Integer, cfind As Range Dim y Kao String, dodajte As String j = 0 s radnim listovima ("sheet1") Postavite r = Range (.Range ( "A2"), .Range ("A2"). Kraj (xlDown)) 'msgbox r.Address za svaki c In rx = c.Vrijednost s radnim listovima ("sheet2") Postavi cfind = .Cells.Find (što: = x, lookat: = xlPart) Ako cfind nije ništa onda GoTne nnext j = j + 1 add = cfind.Address 'msgbox j' msgbox add Do Set cfind = .Cells.FindNext (cfind) Ako cfind nije ništa onda GoTne nnext Ako cfind .Address = add Zatim GoTo line1 'msgbox cfind.Address j = j + 1' msgbox j Loop line1: y = Mid (cfind, 6, 2) Kraj sa 'sheet2 c.Offset (0, 1) = x & y & j + 1 nnext: j = 0 Slijedeći c Završi s krajom Sub sub undo () S radnim listovima ("sheet1") Raspon (.Range ("B2"), .Range ("B2"). End (xlDown)) Clear Završi s krajnjom podskupinom 

Bilješka

Zahvaljujući venkat1926 za ovaj savjet.

Prethodni Članak Sljedeći Članak

Top Savjeta