Permalänk
Medlem

Excel-fråga, HALP!!!

Hej!

Jag har ett problem som förhoppningsvis är ganska enkelt att lösa - men jag kommer inte på hur. För att det ska bli lättare att förklara problemet kan vi tänka oss ett exempel, ett golf-exempel

Vi har två stycken olika bland i Excel. På blad 1 står följande:

A1:Slag B1:Längd
A2:Tee 4 B2:173
A3:Tee 6 B3:204
A4:Tee 9 B4:231
A5:Tee 12 B5:165
A6:Tee 18 B6:56

På blad 2 sker en uträkning av medellängd för mina slag vilken ser ut som följer:

A1:Medellängd B1:=SUMMA((Blad1!B2+Blad1!B3+Blad1!B4+Blad1!B5+Blad1!B6)/5)

So far so good...

Det jag nu skulle vilja kunna göra är att addera slag och längd på blad 1 utan att behöva uppdatera formeln på blad 2. Säg exempelvis att jag lägger till "Tee 22" i A7 och "250" i B6. Då vill jag att blad 2 per automatik ska ändra om formeln i B1 så att det står =SUMMA((Blad1!B2+Blad1!B3+Blad1!B4+Blad1!B5+Blad1!B6)+Blad1!B7/6)

Är det någon som kan hjälpa mig med detta?

/Fredric

Permalänk
Medlem

@vexxan

Använd MEDEL istället?

=MEDEL(Blad1!B2:B22)

Där B22 är ett väl tilltaget tal (rad)

Permalänk
Medlem
Skrivet av markus.thulin:

@vexxan

Använd MEDEL istället?

=MEDEL(Blad1!B2:B22)

Där B22 är ett väl tilltaget tal (rad)

Hej!

Tack för ett bra svar, det hjälper mig till viss del. Problemet är att alla tomma rader som inte har fyllts i ännu har ett värde av 0. I mitt riktiga dokument som inte handlar om golfslagens längd räknas längden ut med hjälp av en formel.

För att visa kan jag ju ta ett till exempel:

Blad1:

A1:100 B1:73 C1:=SUMMA(A1+B1)
A2:45 B2:66 C2:=SUMMA(A2+B2)
A3:200 B3:300 C3:=SUMMA(A3+B3)
A4:67 B4:235 C4:=SUMMA(A4+B4)
A5:543 B5:234 C5:=SUMMA(A5+B5)
A6: B6: C6:=SUMMA(A6+B6)
A7: B7: C7:=SUMMA(A7+B7)
A8: B8: C8:=SUMMA(A8+B8)
A9: B9: C9:=SUMMA(A9+B9)
A10: B10: C10:=SUMMA(A10+B10)

Formeln står redan ifylld på C6:C10 för att det ska gå snabbt att fylla på dokumentet när man får in nya värden. Detta kanske går att göra på lättare sätt?

Blad2:

A1: Medellängd B1:=MEDEL(Blad1!C1:C22)

Resultatet kommer att bli ((C1+C2+C3+C4+C5+C6+C7+C8+C9+C10)/10) vilket blir fel eftersom C6:C10 har ett värde av 0 vilket jag inte vill ska räknas med.

Tack på förhand

/Fredric

Permalänk
Medlem

@vexxan
Mycket riktigt, har du massa grejer i cellerna, kommer inte mitt exempel att fungera, men frågan är om du behöver ha något där du inte har fyllt i ännu, (det som i ditt exempel är C6:C10). Håll de tomma, och när du sedan fyller i t.ex. A6 och B6 med nya värden, så drar nu bara ner raden ovanför (C5) i den svarta punkten i nedre högra hörnet av cellen (markören ändras nu till ett plus), så uppdaterar sig formeln automatiskt

edit: För att illustrera, se "Double click the fill handle to copy down formulas" i följande länk:
https://exceljet.net/blog/29-ways-to-save-time-with-excel-for...

Lade till förklarande länk
Permalänk
Medlem

@markus.thulin

Haha, shit, jag måste lära mig mer grunder i Excel.

Guld värt, du sparade mig massa tid - tack så mycket för hjälpen!

Permalänk
Medlem

=SUMMA((A1:A4))/RADER(B1:B4)

summa är alla talen du vill räkna ut
rader är antalet rader du vill ta ut. gör du en tabell kan du göra den dynamisk.
behöver du ta bort om värden är tomma så får du lägga en om formel som tar bort tomma världen från allt

Visa signatur

Min dator: Silent Base 600 | 1700X @ 3.9Ghz | MSI Gaming X 1080TI | RM750X | 512Gb M2 | 16Gb 3200mhz Ram | S34E790C @ 3440x1440
Tjejens dator: Define r4 | i5 3570k @ 4.2ghz | GTX Titan | 750w Supernova | 240gb SSD | 32gb ram
Citera/Tagga för svar!

Permalänk
Medlem

@vexxan: Formeln "MEDEL.OM" med villkoret "skilt från noll" borde funka om jag fattar rätt.

Och med "väl tilltagen rad" som markus.thulin skriver så nåt sånt här kanske:

=MEDEL.OM(Blad1!B2:B99;"<>0")

Permalänk
Medlem
Skrivet av vexxan:

@markus.thulin

Haha, shit, jag måste lära mig mer grunder i Excel.

Guld värt, du sparade mig massa tid - tack så mycket för hjälpen!

NP!

Tack för taggen, insåg nu att punkten i mitt namn verkar inte funka så bra med taggnings-systemet...

Permalänk
Medlem

Du kan göra det genom det första exemplet som @markus.thulin skriver.
Nu har jag tyvärr engelsk variant av excel. Men för mig så kan jag ta
=SUM(A:A)/COUNT(A:A) för att få medel, då räknar den medel i alla rader som har tal.
SUM(A:A) tar ju då värdet av alla celler som har ett värde, COUNT(A:A) kollar vilka celler som har värde (eller snarare hur många)

Permalänk
Medlem
Skrivet av adamxyz:

@vexxan: Formeln "MEDEL.OM" med villkoret "skilt från noll" borde funka om jag fattar rätt.

Och med "väl tilltagen rad" som markus.thulin skriver så nåt sånt här kanske:

=MEDEL.OM(Blad1!B2:B99;"<>0")

Ohhhh, vi utvecklar, tack så hjärtligt!!!

Permalänk
Medlem

@Christley
@Nesvop

Tack så mycket, bra input!

Permalänk
Medlem

@adamxyz:
@thulin83:

Hej igen!

Eftersom ni verkade så duktiga passar jag på att ställa en följdfråga

I mitt tycke är den lite mer avancerad, men ni kanske tycker att den är enkel hehe. Vi tar ett till exempel. Säg att jag har ett kalkylblad Blad1) som er ut som följer:

Utöver detta har jag ett annat kalkylblad (Blad2) i samma fil där jag vill göra uträkningar på "mest lönsam mat".

Här vill jag hämta vissa delar från kolumnerna i Blad1. Exempelvis vill jag att det ska stå =MEDEL(Blad2!B6;Blad2!B3;Blad2!G5;Blad2!G6;Blad2!L3;Blad2!L6;Blad2!L7) i fält B3 och att det ska stå =MEDEL(Blad2!D4;Blad2!I4;Blad2!N4) i D4.

I mina tankar borde det gå att skrapa fram en formel för exempelvis cell B3 som ser ut som MEDEL.OM (Blad1!A3:Blad1!A30=BÄRS OCH Blad1!B3:Blad1!B30<>0)(Blad1!F3:Blad1!F30=BÄRS OCH Blad1!G3:Blad1!G30<>0)(Blad1!K3:Blad1!K30=BÄRS OCH Blad1!L3:Blad1!L30<>0) RÄKNA DÅ UT MEDEL AV Blad1!B3:Blad1!B30+Blad1!G3:Blad1!G30+Blad1!L3:Blad1!L30

Vet inte om jag är för otydlig med vad jag menar, men hoppas att det framgår.

Tack på förhand

/Fredric

Permalänk
Medlem

@vexxan

Det där förstod jag inte riktigt, testa att beskriva i ord istället för formler.

Permalänk
Medlem
Skrivet av thulin82:

@vexxan

Det där förstod jag inte riktigt, testa att beskriva i ord istället för formler.

Hehe, misstänkte nästan att det skulle bli lite missförstånd

Okej, får ta på pedagoghatten och köra igen.

Jag har ett kalkylblad, "Blad1". I bladet finns data om när olika personer har köpt mat. Man kan ha köpt antingen Korv, Pizza eller Bärs. Varje instans av matinköp görs två gånger (värde 1, värde 2) och totalen adderas ihop i total.

Exempelvis har vi David; Han har köpt mat vid fem tillfällen (vilket blir totalt 10 köp):

- En gång köpte han korv med värdena 25 och 2253 (totalt 2278)
- En gång köpte han Pizza med värdena 545 och 423 (totalt 5877)
- En gång köpte han Bärs med värdena 324 och 545 (totalt 869)
- En gång köpte han Bärs med värdena 2343 och 324 (totalt 2667)
- En gång köpte han Korv med värdena 454 och 4 (totalt 458)

Förutom mitt datablad så har jag ett till kalkylblad, "Blad2". Målet med detta bladet är att räkna ut vilka matinköp som är mest lönsamma, oavsett vem som gör det. Är det Pizza, Korv eller Bärs? Jag vill kunna jämföra båda matinköpen för de olika instanser och totalen.

Hur lönsamt har det då varit att handla de olika maträtterna?

Om vi tittar på Bärs till att börja med. I cellen B3, alltså "Värde 1" för Bärs, vill jag hitta medeltalet för alla förstainköp av Bärs oavsett vem som har gjort det.

Fredric köpte Bärs vid två instanser vilket betyder att han har gjort fyra stycken köp totalt. Två av dessa är "förstaköp" och hittas i cellerna B3 och B6 (från blad 1). David köpte också Bärs vid fyra instanser vilket resulterar i fyra köp. Två av dessa är "förstaköp" och hittas i cellerna G5 och G6 (från blad 1). Erik var lite lurig och köpte Bärs tre gånger vilket resulterar i sex köp. Tre av dessa är "förstaköp" och hittas i cellerna L3, L6 och L7 (från blad 1).

Det genomsnittliga värdet av alla personernas förstaköp av Bärs blir alltså (data hämtas från blad 1) (b3+b6+g5+g6+l3+l6+l7)/7.

Om man tittar på det genomsnittliga värdet för "andraköpet" av Bärs så blir det väldigt likt. Den enda skillnaden är att vi tar de olika värdena "värde 2 kolumnen" istället för "värde 1". Alltså får vi (data hämtas från blad 1) (c3+c6+h5+h6+m3+m6+m7)/7.

För att räkna ut genomsnittligt värde av den totala kostnaden per instans av Bärs-köp (vilket jag lite ologiskt kallade värde 3) får man istället ta (data hämtas från blad 1) (d3+d6+i5+i6+n3+n6+n7)/7.

Samma uträkning kan sedan göras för Pizza och Korv och vi kan jämföra de genomsnittliga värdena med varandra som i detta fall är en jämförelse av kostnad på "förstaköp", "andraköp" och "Totalt" beroende på vilken vara som har köpts oberoende på vem som har köpt det.

MEN...

Det vore ju väldigt enkelt att sitta och klicka i vilka celler som ska adderas med vilka och skriva vilket tal summan ska dividera med.

Jag vill ha en separat formel för varje cell i kalkylbladet för uträkning som letar upp en utvald typ av mat och ett värde från databladet och dividerar med antalet instanser som hittas. Anledningen är att jag vill kunna lägga till fler instanser av matköp utan att ändra om formeln.

Exempelvis vill jag att cellen för "Värde 3, Bärs" (D3) ska hitta följande från Blad1:

- I kolumnen A3:A30 står ordet Bärs i cell A3 och A6, de tillhörande värdena för "Totalt" är 173 och 302
- I kolumnen F3:F30 står ordet Bärs i cell F5 och F5, de tillhörande värdena för "Totalt" är 869 och 2667
- I kolumnen K3:K30 står ordet Bärs i cell K3 K6 och K8, de tillhörande värdena för "Totalt" är 1384, 180 och 698
- Totalt förekom ordet Bärs sex gånger och medeltalet blir därför (173+302+869+26670+1384+180+698)/7

Alltså, när ordet Bärs förekommer i någon av cellerna A3:30, F3:F30 eller K3:K30 hämtar vi tillhörande värden från "Totalt" i cellerna D3:D30, I3:I30 och N3:N30.

Det blir en väldigt lång förklaring, hoppas att den inte är för snurrig denna gång igen

/Fredric

Permalänk
Medlem

@vexxan
Tror jag fattar...
Har inte tid att skriva hela lösningen till dig (och dessutom så är det roligare att få det att funka själv!), men detta bör hjälpa dig på vägen:

Blad1 (formateringen blev sådär, men du fattar):

Typ av Mat Total Bärs 1 Korv 2 Bärs 5 Korv 7

Formeln som hämtar ut totalen beroende på vilken typ av mat som står i första kolumnen borde se ut så här:
För Bärs: =SUMMA.OM(Blad1!A1:A5;"Bärs";Blad1!B1:B5)
För Korv: =SUMMA.OM(Blad1!A1:A5;"Korv";Blad1!B1:B5)

Detta borde du kunna bygga ut så du får det som du vill ha det

I "summa.om" används tre argument (separerat med semikolon), det första är vilken område du vill kolla ditt villkor mot, i detta fallet kolumnen med text (Blad!A1:A5), det andra är vilket villkor du har, i detta fallet en textsträng där det står Bärs/Korv/Pizza), det tredje argumentet, som är valbart är om man vill summera något annat än det man angav i argument ett, det vill vi, vi vill kolla på kolumn nr 2 (Blad!:B1:B5)

Förstod jag dig rätt?

Permalänk
Medlem

@vexxan: Jag hade först gjort om datat så att det är mer radbaserat, man får trixa så himla mycket med att leta upp mat-namn och matcha med värde-nummer som det är uppställt nu så jag är i alla fall inte tillräckligt duktig för att på rimlig tid lösa uppgiften. Och sen hade jag använt en pivottabell på datat.

Såhär:

Sen för att få pivottabellen att uppdateras automatiskt om nya rader läggs till så kan man antingen bara ta i på datakälla-området (typ Blad1$A$2:$E$99) och sen filtrera bort "(tom)" på Radetiketter i pivottabellen för att slippa se en tom rad.

Du kan naturligtvis lägga pivottabellen på ett eget blad, jag bara lade på samma blad för att få en enklare screenshot.

Alternativt så fattar jag helt fel vad ditt mål är Kul också att @thulin82 och jag kommer med helt olika lösningsförslag.

Permalänk
Medlem

@adaxyz Pivot-tabeller är så himla smidigt när det data man har är korrekt formaterat!

Permalänk
Medlem

@adamxyz
Mycket bra lösning!
Ja, kul att vi ser det på olika sett, jag gillar ju formler så jag kör stenhårt på det, men får nog spana in pivot-tabeller, verkar smidigt!

Permalänk
Medlem

@thulin82
@adamxyz

Shit vad grymma svar, jag tror att jag kommer få ihop det nu.

Tack för att ni verkligen tar er tid att hjälpa till

/Fredric