Det är en helt formelbaserad lösning och har inget med Christians VBA-lösning att göra.
Det skriv in så här
|
A |
B |
C |
D |
E |
F |
G |
H |
1 |
1 |
2 |
1 |
1 |
X |
X |
X |
2 |
2 |
|
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
|
4 |
|
=SAMMAN(A1:H1) |
|
|
|
|
|
|
5 |
4 |
=BYT.UT(B4;REP("1";A5);"") |
=LÄNGD(B4)-LÄNGD(B5) |
|
|
|
|
|
6 |
3 |
=BYT.UT(B5;REP("1";A6);"") |
=LÄNGD(B5)-LÄNGD(B6) |
|
|
|
|
|
7 |
2 |
=BYT.UT(B6;REP("1";A7);"") |
=LÄNGD(B6)-LÄNGD(B7) |
|
|
|
|
|
8 |
1 |
=BYT.UT(B7;REP("1";A8);"") |
=LÄNGD(B7)-LÄNGD(B8) |
|
|
|
|
|
OBS att SAMMAN() är ganska ny, kräver att excel är max 2 år gammal. Om du har en äldre excel måste cellen i B4 göras krångligare
=SAMMANFOGA(A1;B1;C1;D1;E1;F1;G1;H1)
Oavsett hur du sammanfogar så blir resultatet blir någonting i stil med:
|
A |
B |
C |
D |
E |
F |
G |
H |
1 |
1 |
2 |
1 |
1 |
X |
X |
X |
2 |
2 |
|
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
|
4 |
|
1211XXX2 |
|
|
|
|
|
|
5 |
4 |
1211XXX2 |
0 |
|
|
|
|
|
6 |
3 |
1211XXX2 |
0 |
|
|
|
|
|
7 |
2 |
12XXX2 |
2 |
|
|
|
|
|
8 |
1 |
2XXX2 |
1 |
|
|
|
|
|
Där A-kolumnen anger hur många gånger 1:an skall repeteras (4,3,2,1).
B-kolumen visar texten när 11 (etc) är borttaget och
c-kolumnen anger hur många gånger 1:or förekommer 4,3,,2,1 ggr
Dvs ungefär som du berskrev det i fråga 1 (fast "baklänges" eftersom man måste ta bort flest repetitioner först)