Just nu i M3-nätverket
Gå till innehåll

Excel - räkna antal förekomster som uppfyller flera villkor?


Rixn

Rekommendera Poster

Jag vill räkna antal förekomster som uppfyller flera villkor i följande exempel?

 

Om jag har 3 kolumner med 100 siffror i varje.

Den första är en blandning av siffrorna 1 och 2.

Den andra har siffrorna 1, 2 och 3.

Den sista kolumnen består av siffrorna 1, 2, 3 och 4.

 

Hur får jag ut förekomsten av de olika varianterna som jag kan få av de siffrorna? Jag menar alla de olika sifferserierna jag kan få ut där 111 är den första och 234 är den sista, totalt 24 st. Jag vill veta hur de hundra raderna fördelar sig på de 24 sifferserierna?

 

Har någon en bra lösning?

/Lars

 

Länk till kommentar
Dela på andra webbplatser

Hej,

 

Sätt ihop de tre sifferkolumnerna i en fjärde kolumn med formeln SAMMANFOGA (Blir egentligen en text då, men det spelar ingen större roll). Sedan går det att räkna förekomster av t.ex. "231" i den nya kolumnen med formeln HITTA.OM.

 

mvh

/Johan

 

Länk till kommentar
Dela på andra webbplatser

Sedan går det att räkna förekomster av t.ex. "231" i den nya kolumnen med formeln HITTA.OM.

 

mmh, vad är det för formel? Hitta.om?

Har jag inte sett förut och hittar inte i mitt Engelska Excel, eller på XLDennis sidor.

 

 

/T

 

Even when we know we´ll never find the answers, we have to keep on asking questions.

 

Länk till kommentar
Dela på andra webbplatser

F'låt!

 

ANTAL.OM ska det naturligtvis vara.

 

Så går det när man försöker plocka formler ur huvudet för tidigt på morgonen.:)

 

/Johan

 

Länk till kommentar
Dela på andra webbplatser

men... antal.om räknar antalet celler som uppfyller ett visst kriterium, inte antalet förekomster av något INOM en cell. Det finns av vad jag vet inga funktioner i Excel som erbjuder detta utan man får bygga något eget.

 

Exempelvis:

[color="#0000ff"]Function[/color] CountChar(target As [color="#0000ff"]String[/color], char As [color="#0000ff"]String[/color]) As Integer
    [color="#0000ff"]Dim[/color] str As [color="#0000ff"]String[/color]
    [color="#0000ff"]Dim[/color] index As Integer
    [color="#0000ff"]Dim[/color] i As Integer
    index = 1
    str = target
    i = 0
    [color="#0000ff"]While[/color] (index <> 0)
        index = [color="#0000ff"]InStr[/color](index, str, char)
        [color="#0000ff"]If[/color] (index <> 0) [color="#0000ff"]Then[/color]
            index = index + 1
            i = i + 1
        [color="#0000ff"]End[/color] [color="#0000ff"]If[/color]
    [color="#0000ff"]Wend[/color]
    CountChar = i
[color="#0000ff"]End[/color] [color="#0000ff"]Function[/color]

 

Klistra in denna kod i en modul. Target är cellen du vill räkna förekomsten i, char är bokstaven/tecknet du vill leta efter.

Exempelvis

=CountChar(A1&B1&C1;1)

som söker efter teckenet 1 i resultatet av A1&B1&C1

Samma resultat skulle fås av

=CountChar(A1;1)+CountChar(B1;1)+CountChar(C1;1)

 

 

 

 

/T

 

Even when we know we´ll never find the answers, we have to keep on asking questions.

 

Länk till kommentar
Dela på andra webbplatser

Jag kanske har missuppfattat problemställning, men antog att arket ser ut så här:

| A | B | C |
-------------
| 1 | 2 | 4 |
| 1 | 3 | 1 |
| 2 | 1 | 2 |
| ...

Dvs 3 kolumner och hundra rader med en siffra i varje cell. I första kolumnen förekommer bara 1 och 2, i andra 1-3 och i tredje 1-4. Det finns 2*3*4=24 olika sifferserier och frågan var hur många gånger av hundra (% kanske?) varje serie förekom.

 

/Johan

 

Länk till kommentar
Dela på andra webbplatser

Ahha, ok kanske jag missat lite i frågan, läste visst den inte riktigt.

 

Om man ska räkna förekomsten av en sifferserie fungerar Antal.om självklart alldeles utmärkt.

 

 

 

 

 

/T

 

Even when we know we´ll never find the answers, we have to keep on asking questions.

 

Länk till kommentar
Dela på andra webbplatser

Sen har vi den gamla kära pivot-tabellen också.

Skapa en pivot-tabell utifrån den sammanfogade tabellen där du räknar antal.

 

Pär B

 

Länk till kommentar
Dela på andra webbplatser

  • 4 years later...

Ser att jag glömt att tacka!

För så bra uppslutning och bra svar är det inte för sent att tacka.

Tack tack!

 

Länk till kommentar
Dela på andra webbplatser

Ojoj, bättre sant än aldrig stämmer väl aldrig bättre än här.

 

Tackar själv och trevligt att våra tips kom till nytta.

 

 

/T

 

Even when we know we´ll never find the answers, we have to keep on asking questions.

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...