Avatar billede rln Juniormester
06. marts 2017 - 08:33 Der er 12 kommentarer og
4 løsninger

Antal forskellige par i 2 tal kolonner, hvorledes optælles de ?

Jeg vil gerne tælle hvor mange forekomster, der er af en given værdi i en kolonne, når der samtidig er en bestemt værdi i en anden kolonne.
Altså: Jeg vil gerne tælle samtlige forskellige kombinerede værdier ud fra en kombination af 2 kolonner.

Jeg har et kundenummer, som er sammensat à la xxx-yyy.
xxx og yyy er tal, der stå parvis over for hinanden i 2 nabo-kolonner.
Jeg vil gerne optælle antallet af forskellige kundenumre, eksempelvis xx1-yy1 og xx1-yy2 og xx3-yy3 osv.

Disse vil stå som:

1  1
1  2
3  3
1  7
2  3
2  3
3  3
1  1

osv.

Svaret skulle her gerne være 5

Jeg tæller for én kolonne på følgende måde:

=SUM(HVIS(FREKVENS(INDIREKTE(Parametre!D9);INDIREKTE(Parametre!D9))>0;1))

Nu vil jeg gerne tælle tilsvarende, men for 2 kolonner, hvor hver række parvis ønskes optalt for unikke kombinationer.
Avatar billede acore Ekspert
06. marts 2017 - 09:21 #1
En mulighed er at lave en ny kolonne med A1&"-"&B2 og så benytte din formel på den.
Avatar billede rln Juniormester
06. marts 2017 - 09:49 #2
Hej acore,

Tak for hurtig reaktion.

Jo, jeg kan altid flette en kolonne, men der er dynamik (derfor brug af INDIREKTE) idet jeg opdeler på (kalender)år.
Der er ikke altid det samme antal rækker.

Derfor ville jeg helst foretrække den "smukke" og dynamiske formel fremfor skomager-løsningen.
Avatar billede rln Juniormester
06. marts 2017 - 10:38 #3
Hej igen acore,

Så har jeg (for at få det til at fungere) prøvet at flette de to tal sammen med en bindestreg, og efterfølgende også uden.
MEN
summen bliver konstant nul (0).
Jeg er vist løbet ud i nogle type-problemer, med optælling på tekst i stedet for tal?
Avatar billede acore Ekspert
06. marts 2017 - 11:35 #4
Prøv med A1*1000+B2 - tallet 1000 skal være større end den maksimale værdi
Avatar billede acore Ekspert
06. marts 2017 - 11:36 #5
...og kolonne C kan laves, så ikke vises (hidden), hvis det skal se pænt ud
Avatar billede rln Juniormester
06. marts 2017 - 12:45 #6
Det virker med at forskyde på base10 - tak !
Hvis nogen kan knække det oprindelige spørgsmål så MEGET gerne - og 1.000 tak på forhånd
Avatar billede xl-Enthusiast Ekspert
06. marts 2017 - 13:18 #7
Hvad har du i Parametre!D9?
Avatar billede rln Juniormester
06. marts 2017 - 13:23 #8
Parametrene angiver den fane og det område, jeg ønsker at tælle i.
Det er sammensat af et årstal og så nummeret på sidste række i området:

'Masse 2016'!$C$4:$C$431

I samme "tabel" kolonne C og D står der tal (som muligvis opfattes som tekst), ihvertfald efter en sammenstilling med &, fx =B5&"-"C5"
Avatar billede rln Juniormester
06. marts 2017 - 13:25 #9
... og det er kolonnerne B og C (ikke C og D) - sorry. Så eksemplet er OK.
Avatar billede xl-Enthusiast Ekspert
06. marts 2017 - 14:06 #10
Avatar billede acore Ekspert
06. marts 2017 - 14:36 #11
Jeg tror, at du blot kan udskifte INDIREKTE(Parametre!D9) med 100*INDIREKTE(Parametre!D9+INDIREKTE(Parametre!E9), hvor D9 indeholder det første range og E9 det andet. Eller hvis du kun vi angive ét range og så forskyde det:

=SUM(HVIS(FREKVENS(INDIREKTE(Parametre!D9)*100+FORSKYD(INDIREKTE(Parametre!D9);0;1);INDIREKTE(Parametre!D9)*100+FORSKYD(INDIREKTE(Parametre!D9);0;1))>0;1))

- med forbehold at jeg har f... noget op i konverteringen fra UK til DK
Avatar billede rln Juniormester
06. marts 2017 - 15:36 #12
Kære xl-Enthusiast og acore,

Jeg afprøver begge løsninger i morgen og vender tilbage med en melding.

Foreløbig tak for hurtige hjælpeforslag!
Avatar billede rln Juniormester
07. marts 2017 - 08:17 #13
Hej begge,

Matriksformlen fra xl-Enthusiast virker, og kombineret med acore's idé om base10 forskydningen* er jeg i mål - TAK begge !

*) Jeg skal undgå at 1 23 og 12 3 bliver opfattet som værende ens.
Her ville en bindestreg have hjulpet, men formlen går i fejl hvis jeg sammenbinder med en sådan; formentlig pga. at der nu er tale om tekst. (?)

Derfor base10 forskyder jeg ved at gange 10000 på første element og lægge andet element til.

(Matriks) Formlen endte cirka således:

{=SUM(HVIS(FREKVENS(--(10000*INDIREKTE(D9)&INDIREKTE(D10));--(10000*INDIREKTE(D9)&INDIREKTE(D10)))>0;1))}

Det er tilsyneladende ligegyldigt, om jeg afslutter indtastning af formlen med CTRL-SHIFT-ENTER eller bare benytter ENTER.
Avatar billede rln Juniormester
07. marts 2017 - 08:37 #14
PS. I forhold til ovenfor: Jeg ganger kun med 10 for at skyde et 0 (nul) ind imellem de 2 tal ...

Formlen er SUPER, den regner rigtigt, og den tilbyder den ønskede dynamik.

Hvis I får point for at hjælp, så maksimum points til Jer begge.
Avatar billede acore Ekspert
07. marts 2017 - 09:11 #15
Tak for tilbagemeldingen. Når du taler dynamik, så synes jeg det er mere elegant med kun én reference (D9), og så benytte FORSKYD - se min formel i #11. Og du har ret - det behøver ikke være en matrix-formel.
Avatar billede rln Juniormester
07. marts 2017 - 15:40 #16
Din formel virker også fint, med en lille rettelse, idet FORSKYD hedder FORSKYDNING:

=SUM(HVIS(FREKVENS(INDIREKTE(Parametre!D9)*100+FORSKYDNING(INDIREKTE(Parametre!D9);0;1);INDIREKTE(Parametre!D9)*100+FORSKYDNING(INDIREKTE(Parametre!D9);0;1))>0;1))
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



Seneste spørgsmål Seneste aktivitet
I går 20:46 opkaldside Af hagbartm i Mobiltelefoner
I går 16:05 win 10 vil ikke boote Af bb69 i Windows
I går 11:20 Lenovo x390 Af tobberjas i PC
I går 10:14 Alder i Excel Af Nanarsi i Excel
I går 09:00 Flere linier på faneblad Af Peder Lund Nielsen i Excel