Tælle/nummerere antal forekomster

I følgende regneark:

 

A

B

1

Jan

 

2

Ole

 

3

Hans

 

4

Jan

 

5

Svend

 

6

Hans

 

7

Jan

 

8

Jan

 

9

Ole

 

ønskes i B-kolonnen talt, hver gang navnet Jan i A-kolonnen forekommer. Altså et 1-tal ud for den første forekomst, 2 ud for den anden. Står der ikke Jan, skal B-kolonnen være tom.

Indsæt denne formel i B1 og kopier nedad. Bemærk de absolutte referencer i forbindelse med HVIS() og TÆL.HVIS():

=HVIS($A$1<>A1;"";TÆL.HVIS($A$1:A1;$A$1))

Skal ui stedet alle forekomster tælles, altså 1 ud for første forekomst af Jan, 1 ud for første forekomst af Ole, 2 ud for anden forekomst af Jan og såp fremdeles, kan man nøjes med denne variant:

=TÆL.HVIS($A$1:A1;A1)

 

Under makroer har jeg en artikel om en funktion FLOPSLAG(), der laver et lodret opslag med flere forekomster af opslagsværdien i matricen. Funktionen bruges på denne måde:

=FLOPSLAG(A1;2;B1:D100;3) hvor A1 indeholder opslagsværdien, "2" er den forekomst af opslagsværdien, der ønskes returneret. B1:D100 er matricen, der skal slås op i, og "3" angiver den kolonne, der skal returneres.

  A B C
1 Jan Jan  1
2   Ole  2
3   Hans  3
4   Jan  4
5   Svend  5
6   Hans  6
7   Jan  7
8   Jan  8
9   Ole  9

I ovenstående vil =FLOPSLAG(A1;2;B1:C9;2) returnere 4 da det står ud for den anden forekomst af Jan.

Ønsker jeg i D-kolonnen at få returneret de værdier, der står ud for Jan i kolonne C og lade andre celler stå tomme, kan dette bruges:

=HVIS(LÆNGDE(HVIS($B$1<>B1;"";TÆL.HVIS($B$1:B1;$B$1)))=0;"";FLOPSLAG($B$1;HVIS($B$1<>B1;"";TÆL.HVIS($B$1:B1;$B$1));$B$1:$C$9;2))

TÆL.HVIS bruges altså til at bestemme nummeret på den forekomst, der ønskes returneret.

- Retur til Excel -