Avatar billede denero Juniormester
01. september 2015 - 09:26 Der er 9 kommentarer og
1 løsning

Sammenkædning med betingelse(Hvis)

Nedenstående bruges, som rapportskema med forskreven tekst.

I kolonne A sættes der x ud for ønsket tekst i kolonne B (evt 10 rækker ned, evt flere) og teksten fra de "afmærkede" sammenkædes i celle C1, adskilt af komma + mellemrum.

Kol A    Kol B              Celle C1
 
x          Tekst1            Tekst1, Tekst3, Tekst5, Tekst6, Tekst7,
            Tekst2            Tekst8, Tekst10
x          Tekst3
            Tekst4
x          Tekst5
x          Tekst6
x          Tekst7
x          Tekst8
            Tekst9
x          Tekst10

Opgaven skal løses med formler, da jeg skal bruge det i Excel på Ipad. Er åben for andre forslag.
01. september 2015 - 09:57 #1
Denne formel samler teksterne i C1:
=HVIS(A1="x";B1;"")&HVIS(A2="x";HVIS(A1="x";", "&B2;B2);"")&HVIS(A3="x";HVIS(TÆLV(A1:A2)>0;", "&B3;B3);"")&HVIS(A4="x";HVIS(TÆLV(A1:A3)>0;", "&B4;B4);"")&HVIS(A5="x";HVIS(TÆLV(A1:A4)>0;", "&B5;B5);"")&HVIS(A6="x";HVIS(TÆLV(A1:A5)>0;", "&B6;B6);"")&HVIS(A7="x";HVIS(TÆLV(A1:A6)>0;", "&B7;B7);"")&HVIS(A8="x";HVIS(TÆLV(A1:A7)>0;", "&B8;B8);"")&HVIS(A9="x";HVIS(TÆLV(A1:A8)>0;", "&B9;B9);"")&HVIS(A10="x";HVIS(TÆLV(A1:A9)>0;", "&B10;B10);"")

Kan laves mere overskuelig ved hjælp af celler i de enkelte rækker, hvilket bliver nødvendigt, hvis du vil have tilføjet ret mange flere rækker.

Kan laves meget enklere ved brug af VBA.
Avatar billede denero Juniormester
01. september 2015 - 11:04 #2
Virker perfekt. Jeg ved godt det kan laves nemmere med vba, men det går vel ikke til Excel på Ipad?
Hvad mener du med "Kan laves mere overskuelig ved hjælp af celler i de enkelte rækker"?
01. september 2015 - 11:15 #3
Jeg mener at formlen bliver for lang hvis der f.eks. er 50 celler, der skal samles.
Derfor kan det blive nødvendigt at opdele alle betingelserne i flere celler, og herefter samle disse.
01. september 2015 - 11:20 #4
I f.eks. D1: =HVIS(A1="x";B1;"")
I D2: =HVIS(A2="x";HVIS(A1="x";", "&B2;B2);"")
I D3: =HVIS(A3="x";HVIS(TÆLV(A1:A2)>0;", "&B3;B3);"")
osv......

I C1 erstattes formlen med denne:
=D1 & D2 & D3 & ......... & D50
01. september 2015 - 11:21 #5
D-kolonnen kan evt. skjules for ikke at forstyrre helheden.
Avatar billede denero Juniormester
01. september 2015 - 13:34 #6
Hej erikjuul

Tak for hjælpen, men da jeg ikke er helt stærk i formler, forstod jeg ikke lige det sidste, hvad vi9lle der komme til at stå i D4? Du bruger også TÆLV.
01. september 2015 - 14:12 #7
Det er den lange formel fra #1, der er splittet op i det, er vedrører de enkelte rækker. Fortsættelsen ville være:

D1: =HVIS(A1="x";B1;"")
D2: =HVIS(A2="x";HVIS(A1="x";", "&B2;B2);"")
D3: =HVIS(A3="x";HVIS(TÆLV(A1:A2)>0;", "&B3;B3);"")
D4: =HVIS(A4="x";HVIS(TÆLV(A1:A3)>0;", "&B4;B4);""
D5: =HVIS(A5="x";HVIS(TÆLV(A1:A4)>0;", "&B5;B5);"")
D6: =HVIS(A6="x";HVIS(TÆLV(A1:A5)>0;", "&B6;B6);"")
D7: =HVIS(A7="x";HVIS(TÆLV(A1:A6)>0;", "&B7;B7);"")
D8: =HVIS(A8="x";HVIS(TÆLV(A1:A7)>0;", "&B8;B8);"")
D9: =HVIS(A9="x";HVIS(TÆLV(A1:A8)>0;", "&B9;B9);"")
D10: =HVIS(A10="x";HVIS(TÆLV(A1:A9)>0;", "&B10;B10);"")

Så tror jeg, du kan se logikken i en eventuel fortsættelse af rækken.

Jeg bruger TÆLV() for at tælle om der er registreringer over den aktuelle række. Mellemrum og komma skal jo kun indsættes, hvis det ikke er den første registrering.
Avatar billede denero Juniormester
01. september 2015 - 14:22 #8
Takker.
Avatar billede Butterfly Ekspert
27. maj 2016 - 08:48 #9
Hej
Hvordan vil koden se ud som VBA?
Jeg har noget lignende, bare rigtig mange rækker (mere end 400) og så vil koden bliver noget uoverskuelig, hvis jeg skal bruge ovenstående
Avatar billede denero Juniormester
27. maj 2016 - 09:20 #10
Hej Butterfly

Det vil nok være smartest, at du opretter spørgsmålet på ny (VBA), så kan der bydes ind med løsninger, da dette her spørgsmål er besvaret med "formler".

Held og lykke
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

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