09. juli 2023 - 12:06Der er
3 kommentarer og 1 løsning
Opsplitning af én række (med flere ID'er i én celle) til et antal nye rækker (pr ID).
Hej
Jeg har i Excel nogle tusinde tidsregistreringer, som enten er individuelle registreringer (én person angivet ved et ID – foreksempel 21@256|) eller som er grupperegistreringer (flere personer angivet ved ID’er i én celle – foreksempel *21@256|*21@260|*21@259|)
Hver tidsregistrering har sin egen række.
For at få styr på tidsregistrering pr enkeltindivid skal jeg nu have splittet alle grupperegistreringerne op i tidsregistreringer pr. enkelt-individ.
Én grupperegistrering på 60 min til en gruppe bestående af tre ID’er (fx *21@256|*21@260|*21@259|*) skal således blive til tre rækker (med 20 min til hvert ID).
Data i øvrige celler i ”grupperækken” skal gentages for hver ny individuel række.
Optimalt skal det gøres, så den oprindelige grupperegistreringsrække bliver til den første af de tre individuelle tidsregistreringer (så jeg ikke afslutningsvis skal slette de oprindelige grupperegistreringer).
Grupperegistreringerne har en celle med den beregnede tidsregistrering pr ID, så der skal ikke laves beregninger. Der kan være op til 33 ID'er i en grupperegistrering).
Hvis du har seneste version af Excel kan du dele dine samlede strenge af ID'er op i flere rækker ved at bruge en kombination af TEXSPLIT() og TILKOLONNE():
=TILKOLONNE(TEKSTSPLIT(<område med IDer>;"*";;SAND))
Jeg bliver nødt til at have et mere konkret eksempel på beregninger for at kunne hjælpe på det punkt.
De tre grupperegistreringer oven for skal splittes op, så de tre rækker bliver til én række pr. omfattet elev: (I preview kan jeg se, at tabuleringer og tomme mellemrum ikke kommer med. Der er eksemplet fem celler i hver række)
Elev Dato Reg.type Minutter Min./elev a 22-05-2023 grp.reg. 60 20 b 22-05-2023 grp.reg. 60 20 c 22-05-2023 grp.reg. 60 20 d 22-05-2023 grp.reg. 60 20 k 24-05-2023 grp.reg. 50 25 a 24-05-2023 grp.reg. 50 25 j 25-05-2023 grp.reg. 60 20 s 25-05-2023 grp.reg. 60 20
Jeg har over 1.000 rækker med grupperegistreringer.
Ud fra eksemplet: A B C D E F 1 Elev Dato Reg.type Minutter Min/Elev Hjælpekolonne 2 a*b*c*d 22-05-2023 grp.reg. 60 20 3 e*f 24-05-2023 grp.reg. 50 25 4 g*h 25-05-2023 grp.reg. 60 30 5 i 26-05-2023 enkelt 10 10
Indsæt i F2 formlen: =TEKST.KOMBINER("*";FALSK;TRANSPONER(TEKSTSPLIT($A2;"*"))&";"&SAMMENKÆDNING(TEKST.KOMBINER(";";FALSK;$B2:$E2)))
Træk derefter formlen ned.
Det genererer en tekststreng hvor semikolon indikerer kolonneskift, og asterisk indikerer linjeskift, men det indhold du ønsker.
På et andet ark, eller uden for tabellen, skriv formlen: =TEKSTSPLIT(TEKST.KOMBINER("*";FALSK;F2:F5);";";"*";SAND)
Den ene formel vil generere hele din ønskede tabel. Sørg derfor for at den har plads omkring sig :)
Tusind tak for hjælpen! Det hele virkede. Blot gik den meget ofte i stå, hvorefter fejlmeldingen var #BEREGN, så det har taget lidt tid at få de 1.114 rækker flettet ud til 10.559 rækker. Men uden din hjælp var jeg aldrig blevet færdig, så endnu en gang TAK!
Synes godt om
1 synes godt om dette
Ny brugerNybegynder
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.