Avatar billede tondering Nybegynder
12. april 2003 - 11:13 Der er 4 kommentarer og
1 løsning

Omstrukturering af tabel på en nem måde.

Jeg har en tabel der ser f.eks. således ud

  10  20  30
10 2  8  3
20 5  3  20
30 7  12  11

Men ønsker at den skal se således ud :

10 10 2
10 20 5
10 30 7
20 10 8
20 20 3
20 30 12
osv.

Findes der en nem måde at omforme tabeller på ?
f.eks. makroer programmer eller lignende.
Avatar billede jkrons Professor
12. april 2003 - 11:55 #1
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.
Avatar billede sjap Praktikant
12. april 2003 - 12:04 #2
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)
Avatar billede sjap Praktikant
12. april 2003 - 12:11 #3
Løsningsforslag

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.
Avatar billede bak Seniormester
12. april 2003 - 12:28 #4
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
Avatar billede sjap Praktikant
12. april 2003 - 13:10 #5
:-)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester