Jeg har lidt svært ved at se systematikken i ændringen i mellem de to tabeller. Det ligner ikke en almindelig transponering, og jeg kan ikke se, hvad der ellers bestemmer hvor et bestemt tal skal stå.
I den første tabel har du fx kun to 10-taller i alt, i den anden ahr du pludselig 5, hvoraf 3 står i første kolonne og 2 i anden.
3. kolonne ser ud til at være alle de tal, der ikke er delelige med 10, men hvorfor skal 2-tallet stå ud for to 10-taller og 5-tallet ud for 10 20?
Hvis du kan beskrive systematikken nøjere er det ikke umuligt, at der findes en løsning.
jkrons Så vidt jeg kan se, så skal du bruge den første tabel som opslagstabel, og den anden tabel lister så, hvad resultatet af opslagene er (jeg kan ikke lige se formålet, men det er jo også mig uvedkommende).
Første tal: F.eks. 20 i den øverste linie Andet tal: F.eks. 30 i den første lodrette kolonne Opslagsværdien: er 12 i den øverst tabel og det bliver så til 20 30 12 i den nederste tabel.
tondering Er 10 20 30 kun eksempler eller er det også de tal, der faktisk står i din tabel? (så kan der laves en relativt simpel funktion, men hvis tallene er anderledes, skal der nok en makro til - og det har jeg ikke tid til nu, så det vil jeg overlade til jkrons)
Ikke specielt fleksibel da forslaget kræver at opslagslinie og -kolonne indeholder tallene 10, 20 , 30 ...
Det to første kolonner i den anden tabel oprettes ved kopiering. Hvis den første tabel står i A1:D4 og de to nye kolonner står i hhv. F og G kan følgende formel bruges til at udfylde tallene i tabellen:
=FORSKYDNING($A$1;F1/10;G1/10)
Den kan muligvis forfines med diverse opslagsfunktioner.
Vent evt. lige og se om der ikke er nogen, der dukker op med en makro.
Det gjorde der så, superjab :-) Du kan køre denne makro der laver en matrix om til en liste.
Sub liste() Dim listen() y = 0 Set rnga = Application.InputBox(prompt:="hvilket område skal listes?", Type:=8) Set rngb = rnga.Offset(1, 1).Resize(rnga.Rows.Count - 1, rnga.Columns.Count - 1) x = Application.WorksheetFunction.CountA(rngb) ReDim listen(3, x) For Each c In rngb y = y + 1 listen(1, y) = Cells(c.Row, rnga.Column).Value listen(2, y) = Cells(rnga.Row, c.Column).Value listen(3, y) = c.Value Next Set rngc = Application.InputBox(prompt:="Hvortil ?", Type:=8) rngc.Worksheet.Activate kol = rngc.Column Raekke = rngc.Row Application.ScreenUpdating = False For i = 1 To y Cells(Raekke + i - 1, kol).Value = listen(1, i) Cells(Raekke + i - 1, kol + 1).Value = listen(2, i) Cells(Raekke + i - 1, kol + 2).Value = listen(3, i) Next Application.ScreenUpdating = True End Sub
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.