webForumDet fria alternativet

If-sats i excel

36 svar · 2 411 visningar · startad av Virtual

VirtualMedlem sedan sep. 2005167 inlägg
#1

Jag har en tabell med data

DATA:

A         B
OKT	-22
OKT	-21
OKT	-19
OKT	-24
OKT	-23
OKT	-12
OKT	-9
SEP	-30
SEP	-28
SEP	-20
SEP	-23
SEP	-23
OKT	-12

Följande if-sats vill jag ska returnera 2. Varför fungerar det inte? Den returnerar 3. trots att A5 är OKT..

=IF(AND(COUNTIF(A:A,"SEP"), COUNTIF(B:B,-23)), COUNTIF(B:B,-23), 0)

EDIT, förenklade frågan..

VirtualMedlem sedan sep. 2005167 inlägg
#2

blir inte klok på detta, programmet gör ju inte som man skriver.. så här ser syntaxen ut för IF, AND och COUNTIF. Som jag trodde man skulle kunna använda..om nu nån orkar sätta sig in i mitt problem.

Syntax
IF(logical_test,value_if_true,value_if_false)

Syntax
COUNTIF(range,criteria)

Syntax
AND(logical1,logical2, ...)
DannyMedlem sedan juli 20048 477 inlägg
#3

Det verkar som du krånglat till det. Är det inte bara att skriva

=IF(A6="OKT";1;0)

på t ex rad 6 alltså?

DannyMedlem sedan juli 20048 477 inlägg
#4

För excel-trick, kolla här:

http://www.expowera.com/mentor/foretaget/organisera_datorer_excel.htm

/Red: Jo förut hade dom där expowera en helt annan sida, men nu verkar dom ha lånat allt det där från denna sida: http://www.xldennis.se/, som verkar ha lite smidigare upplägg, ta "Formler och verktyg" i menyn.

VirtualMedlem sedan sep. 2005167 inlägg
#5

Danny skrev:

Det verkar som du krånglat till det. Är det inte bara att skriva

=IF(A6="OKT";1;0)

på t ex rad 6 alltså?

Nja, det är inte riktigt så jag vill ha det..

Med =SUMIF(J:J,-23,B:B) kan jag tex. få fram summan av alla värden i kolumn J som matchar raderna i B som innehåller -23. Jag trodde det fanns en liknande funktion för att få ut antalet poster.. men jag kanske går bet här?

Syntax

SUMIF(range,criteria,sum_range)

Det är inte en speciell rad jag vill åt, kolumnen innehåller flera tusen värden, jag vill plocka ut dom som matchar en annan kolumns värde och ha fram antalet träffar.

DannyMedlem sedan juli 20048 477 inlägg
#6

Virtual skrev:

Det är inte en speciell rad jag vill åt, kolumnen innehåller flera tusen värden, jag vill plocka ut dom som matchar en annan kolumns värde och ha fram antalet träffar.

Ett enkelt sätt att lösa det vore ju att ta den där formeln jag skrev, kopiera-fyll den på en hel kolumn, ta sedan och räkna ihop antal 1'or bara då får du ju samma information :) Men ok... hmmm.... jag har nog en annan lösning på g, ska prova...

DannyMedlem sedan juli 20048 477 inlägg
#7

Virtual skrev:

Det är inte en speciell rad jag vill åt, kolumnen innehåller flera tusen värden, jag vill plocka ut dom som matchar en annan kolumns värde och ha fram antalet träffar.

Förresten, för att tala klarspråk. Du vill t ex ha reda på hur många rader det är som är "september" va?

VirtualMedlem sedan sep. 2005167 inlägg
#8

Ja, jag vill ha fram antalet rader som är -23 i en kolumn och september i en annan

A         B
OKT	-22 false
OKT	-21 false
OKT	-19 false
OKT	-24 false
OKT	-23 false
OKT	-12 false
OKT	-9 false
SEP	-30 false
SEP	-28 false
SEP	-20 false
SEP	-23 true
SEP	-23 true
OKT	-12 false

om du förstår vad jag menar

DannyMedlem sedan juli 20048 477 inlägg
#9

Alltså. SUMIF (SUMMA.OM) gör ju precis som jag beskrev (men om nu det var rätt är ju en annan femma). T ex formeln: =ANTAL.OM(A:A;"SEP")

Räknar ut hur många värden "SEP" det finns i hela A-kolumnen. Var det inte så du menade?

VirtualMedlem sedan sep. 2005167 inlägg
#10

Nej, alltså, jag vill matcha som jag skrev ovan :)

DannyMedlem sedan juli 20048 477 inlägg
#11

Virtual skrev:

Ja, jag vill ha fram alla rader som är -23 i en kolumn och september i en annan

Med "ha fram", menar du "antalet förekomster"? T ex i ditt exempel vill du ha fram :

5 (för 5 st sep alltså)
3 (för 3 stycken -23)

?

DannyMedlem sedan juli 20048 477 inlägg
#12

Aha... om både "sep" och "-23" finns på samma rad så ska den returnera sant!!?

VirtualMedlem sedan sep. 2005167 inlägg
#13

redigerade till antal rader, men du hann före :)

Nej jag vill ha fram 2 st för sep, eftersom det är dom två som matchar sep, den andra matchar okt

VirtualMedlem sedan sep. 2005167 inlägg
#14

Ungefär, jag skrev true/false för att tydliggöra exemplet, det jag vill ha fram är antalet "true" i det fallet..... alltså antalet poster där det kriteriet stämmer..

DannyMedlem sedan juli 20048 477 inlägg
#15

Om det hade varit numeriskt hade det varit enkelt iaf:

=OM((H4+I4)=2;1;0)

DannyMedlem sedan juli 20048 477 inlägg
#16

Virtual skrev:

Ungefär, jag skrev true/false för att tydliggöra exemplet, det jag vill ha fram är antalet "true" i det fallet..... alltså antalet poster där det kriteriet stämmer..

Aha... ok... först lösa det där villkoret med båda, och sedan hur många det var också... hmmm...

DannyMedlem sedan juli 20048 477 inlägg
#17

Ok. Men då fattar jag ursprungsfråga. Det var ju nästan bra formel du hade där, fast du behöver ju inte ange 3 villkor i och-satsen, det behövs bara 2, t ex:

=OM(OCH(A4="SEP";E4=2);1;0)

Där returneras en 1'a om A4 innehåller SEP OCH E4 innehåller "2". Sedan kan du ju räkna ihop alla 1'or. Presentera det resultatet någonstans. Och sedan gömma den där kolumnen med den här formeln i för snyggare presentation. Det fungerar ju. Men du ville helst göra allt i samma formel... går säkert, men jag är lite för trött för det just nu... :)

VirtualMedlem sedan sep. 2005167 inlägg
#18

Jo, ungefär dit hade jag kommit, grejen är den att jag vill ha det något sånär dynamiskt, därav B:B osv. så jag kan fylla på med data utan att behöva ändra i några formler. Det fungerar, men bara månadsvis, jag vill kunna dela upp den utplockade datan månadsvis också, all inmatning i ett blad, och plocka datan därifrån.. Har ej möjlighet att skripta tyvärr..
Tack för att du tog dig tid iaf.

VirtualMedlem sedan sep. 2005167 inlägg
#19

Danny skrev:

Ok. Men då fattar jag ursprungsfråga. Det var ju nästan bra formel du hade där, fast du behöver ju inte ange 3 villkor i och-satsen, det behövs bara 2, t ex:

=OM(OCH(A4="SEP";E4=2);1;0)

Om du kollar så har jag bara två satser i den också, den tredje tillhör IF-satsen.. men AND funkar tydligen inte som man tycker att den borde.. Jag skulle ju vilja skriva IF(AND(Value1,Value2)=TRUE THEN DO THIS FUNNY THING...osv.. typ.. men men..

Syntax
AND(logical1,logical2, ...)
Logical1, logical2, ... are 1 to 30 conditions you want to test that can be either TRUE or FALSE

=IF(  AND(COUNTIF(A:A,"SEP"), COUNTIF(B:B,-23))  , COUNTIF(B:B,-23), 0)

funkar alltså, men AND satsen är verkningslös eftersom den alltid hittar SEP och alltid hittar -23.. det blir ju TRUE hur jag än gör.. jag skulle kunna skriva

=IF(  AND(TRUE())  , COUNTIF(B:B,-23), 0)

det ger mig samma...tyvärr..

DannyMedlem sedan juli 20048 477 inlägg
#20

Ja, jag såg den där parentesen nu :)

Hmmm... men jag hittade en funktion "produktsumma":

=PRODUKTSUMMA((E4:E35=2)*(F4:F35=2))

Den kan ta flera matriser (villkor) och summera dom. I exemplet ovan är ju dataområde från rad 4 till 35. Den skriver då hur många gånger de där båda villkoren uppfylls. Villkoren är då att det står en 2'a i både kolumn E och F. Det låter som det vore nåt, men jag har inte fått det att fungera med text av nån konstig anledning... (sedan kunde jag inte skriva hela kolumner (E:E t ex) av nån annan konstig anledning). Det finns säkert nåt bra sätt att lösa detta på, kanske är detta det, vem vet... :)

/red: Jag fattar ändå inte varför du ska ha 3 satser när bara 2 villkor behövs (tänkte på det där med parentesen igen)

Genererad på 374 ms · cache AV · v20260730165559-full.f96bc7eb