---
title: "Uträkning av värden"
type: "forum-thread"
url: "https://www.webforum.nu/amne/kontorsprogram/145828-uträkning-av-värden"
topic: "Kontorsprogram"
topic_url: "https://www.webforum.nu/amne/kontorsprogram"
author: "SoulGod"
published: "2006-04-21T08:37:37.000Z"
updated: "2006-04-21T16:24:50.000Z"
replies: 8
views: 746
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/kontorsprogram/145828-uträkning-av-värden"
---

# Uträkning av värden

## #1 — SoulGod, 2006-04-21T08:37Z

Jag vill ha en uträkning, som visar hur många "värden" det finns.
T.ex att räkna ut hur många det finns av dessa:
1
1
1
2
2
2
2
3
3

Då skall t.ex "1" bara räknas som en, även om den finns med flera gånger ...
Så detta skall alltså ge svaret  "3"
Vad är koden?
/martin

Permalänk: https://www.webforum.nu/p/145828

## #2 — SirPeter, 2006-04-21T08:45Z

Är det i Excel du menar eller?

Engelsk version: =COUNTIF(A:A;1)

Svensk version: =ANTAL.OM(A:A;1)

Förutsatt att det handlar om A-kolumnen vill säga.

Permalänk: https://www.webforum.nu/p/1802479

## #3 — SoulGod, 2006-04-21T11:16Z

Förlåt, missade att skriva .. \*ler\*
Jo, det är excel...
Dock får jag inte din "lösning" att fungera.. 

Får svaret "0"
Och ja, det ligger i a-kolumnen.

Permalänk: https://www.webforum.nu/p/1802548

## #4 — MindreVetande, 2006-04-21T11:44Z

Svensk excel och svensk windows? Då skall SirPeter's formel fungera. Om du har engelsk windows får du byta ut ; mot , 

**Möjligt fel 2**  Kommer data från något annat program?
Är du säker på att det är inmatat som tal? Markera kolumnen och gå till menyn: Data-\>text till kolumn-\>avgränsade fält-\>nästa-\> ta bort alla kryss och tryck slutför

**Tveksamhet**  Men vad är det du vill veta egentligen? är det antal 1:or osv eller vill du veta hur många unika värden du har?

Exempel för att hitta antal unika värden (förutsätter att din lista är sorterad)
\=PRODUKTSUMMA((A1:A9\<\>A2:A10)\*1)
Obs förskjutningen! 1-9 jämfört med 2-10. I princip räknar den antal celler som är anorlunda än den som står nedanför. 
Motsvarar en matrisformel i stil med:
{=ANTAL(OM(A1:A9\<\>A2:A10;1))}
men det tycker jag är krångligare.

Permalänk: https://www.webforum.nu/p/1802562

## #5 — SirPeter, 2006-04-21T11:49Z

> **MindreVetande skrev:**
>
> Svensk excel och svensk windows? Då skall SirPeter's formel fungera. Om du har engelsk windows får du byta ut ; mot ,

Icke. Jag kör engelskt rakt över och där är det semikolon.
Menar du inte tvärtom isf?

Permalänk: https://www.webforum.nu/p/1802565

## #6 — MindreVetande, 2006-04-21T12:30Z

> **SirPeter skrev:**
>
> Icke. Jag kör engelskt rakt över och där är det semikolon.
> Menar du inte tvärtom isf?

Nej, men jag var väldigt otydlig. Menade engelska **landsinställningar** i windows, **inte själva språket**   (kontrollpanelen, nationella alternativ)? Tror det är listavgränsaren som bestämmer skilljetecken i excelformler. 

Det är en rörig smet, språk i excel och landsinställningar i windows.

Permalänk: https://www.webforum.nu/p/1802582

## #7 — SoulGod, 2006-04-21T12:39Z

Ber om ursäkt, gjorde ett dåligt exempel.
Ett fält skall vara text-baserad.
Alltså räkna hur många "olika" värden det finns.
Så om t.ex  "jippi" står med 5 ggr, skall det bara räknas 1 ggn....

Hur gör jag ? =)
Svensk OS & Svensk Excel

Permalänk: https://www.webforum.nu/p/1802589

## #8 — MindreVetande, 2006-04-21T14:03Z

> **SoulGod skrev:**
>
> Ett fält skall vara text-baserad.
> Alltså räkna hur många "olika" värden det finns.
> Så om t.ex  "jippi" står med 5 ggr, skall det bara räknas 1 ggn....

Det bästa jag kan komma på är exemplet jag gav:

```
=PRODUKTSUMMA((A1:A60<>A2:A61)*1)
```

där A1:A60 är list-området du är ute efter (utan rubriker, du kan låta det vara lite för "långt" om du vill ha plats med flera värden) och A2:A61 är samma område förskjutet ett steg nedåt.

Kräver att du sorterar listan.

\*\*\*\*\*\*Tillägg\*\*\*\*\*\*\*
Se även
<http://support.microsoft.com/default.aspx?scid=kb%3Bsv%3B268001>
Men det är en krånglig matrisformel, särskilt om du vill använda textvärden. Jag föredrar produktsumma, även om den kräver sortering.

Permalänk: https://www.webforum.nu/p/1802627

## #9 — MindreVetande, 2006-04-21T16:24Z

\=PRODUKTSUMMA((A1:A60\<\>"")/ANTAL.OM(A1:A60;A1:A60&""))

Blev tvungen att googla lite på kvällen. Det här måste vara den optimala formlen.
\=PRODUKTSUMMA(1/ANTAL.OM(A1:A60;A1:A60))

produktsumma är ett sätt att summera matriser utan att göra matrisformler, dvs den jobbar med hela matrisen A1-A60Xen annan matris.
I det här fallet summerar vi bara ihop en matris bestående av 1/\[antalförekomster av värdet i Ax i A1:A60\]
För cell A1 kollar den hur många gånger värdet i A1 finns i matrisen A1:A60
ANTAL.OM(A1:A60;A1:A60)
sen tar den A2 osv

men vi är inte intreserade av summan av förekomster utan 1/antal förekomster
1/ANTAL.OM(A1:A60;A1:A60)
Varför? Det syns enklast genom att titta på ett exempel:  
Om T.ex värdet "jippi" finns 3 gånger så kommer man att summera 1/3 + 1/3 + 1/3=1 

Smart eller? Helt oberoende av ordningen på cellerna.

Problemet är att den här formeln inte klarar av tomma celler i området. Om cell Ax är tom skulle man kunna tro att ANTAL.OM(A1:A60;A1:A60) returnerar antal tomma celler. NEJ man kommer att få 0 i retur och 1/ingenting är som bekant inte speciellt trevligt i dator/mattesamanhang. 

Men lyckligtvis är det några som tänkt till och lagt ut sina tankar på nätet:
\=PRODUKTSUMMA((A1:A60\<\>"")/ANTAL.OM(A1:A60;A1:A60&""))

steg1, kolla om cell Ax är tom:
Eftersom det "egentligen" är en matrisformel så tolkas en parantes som ett vilkor, dvs (A1:A60\<\>"") blir bara sant (Sant=1) om Ax har ett värde, dvs man dividerar bara om den skall ingå i summan (annars skulle tomma celler räknas som ett värde. 

Det borde gå att ersätta den delen av formeln med 1 och minska summan med 1 istället
typ
\=PRODUKTSUMMA(1/ANTAL.OM(A1:A60;A1:A60&""))-1
men då får man ett mystiskt fel som jag inte listat ut vad det beror på...

Slutet av formeln är lite knepigare, det är ett fulknep för att slippa 1/0 vid tomma celler
ANTAL.OM(A1:A60;A1:A60&"")
det avslutande &"" är ett sätt att lägga till en nollsträng i "sök efter" istället för ett felmeddelande. Det betyder att den faktiskt hittar något och man slipper "/0 fel"

Permalänk: https://www.webforum.nu/p/1802665

---

Tråden på webben: https://www.webforum.nu/amne/kontorsprogram/145828-uträkning-av-värden
