Gå till innehåll

Excel - Medelvärde för värden i en och samma cell


Gå till lösning Löst av MH_,

Recommended Posts

Finns det något sätt, gärna enkelt men inte nödvändigtvis, för att räkna ut medelvärdet av värden som adderas i en och samma cell?

D.v.s. Excel skulle i ett sådant scenario göra följande för den cellen där, exempelvis, följande värden skrivits in: 7+10+20

  1. Räkna ut summan av de adderade värdena (vanlig addition alltså)
    D.v.s.: 7+10+20=27

  2. Känna igen hur många olika värden som adderats i den cellen
    D.v.s.: 3

  3. Dividera summan med antal världen i den cellen
    D.v.s.: 27/3=9

Att använda MEDEL förutsätter att varje värde (exempelvis 7, 10, 20) befinner sig i varsin cell.
Jag vill alltså, i samma cell som värdena för beräkningen befinner sig, med lämplig formel, få ut medelvärdet av dessa värden.

Länk till kommentar
Dela på andra webbplatser

Postad (redigerade)

Först måste du plocka ut själva formeltexten (annars förutsätter Excel att du vill jobba med värdet av beräkningen i A1)

=FORMELTEXT(A1)

Om vi tar bort "=" tecknet så får vi något trevligt att jobba med. Det kan du exempelvis åstadkomma genom att byta ut "=" mot ingenting "".

=BYT.UT(FORMELTEXT(A1);"=";"")

Sen delat du din text med "+" som skiljetecken (de hamnar i olika celler)

=DELATEXT(BYT.UT(FORMELTEXT(A1);"=";"");"+")

se till att texten tolkas som siffror genom att muliplicera med 1:

=DELATEXT(BYT.UT(FORMELTEXT(A1);"=";"");"+")*1

Sen beräknar du medelvärdet på de utplockade siffrorna (hamnar i en cell)

=MEDEL(DELATEXT(BYT.UT(FORMELTEXT(A1);"=";"");"+")*1)

************************************************************

Eller räkna hur många delar det blir när man delar vid "+" tecknet:

=ANTALV(DELATEXT(FORMELTEXT(A1);"+"))

och räkna ut medlet genom att dividera summan med den siffran

=A1/ANTALV(DELATEXT(FORMELTEXT(A1);"+"))

Lite kortare, men jag tycker personligen bättre om föregående metod. Välj det du tror att du förstår enklast om 6 månader när du försöker lista ut vad tusan du gjorde (och använd Granska->anteckningar: ofta och mycket.).

Redigerad av MH_
obegrippligt spårk
  • Like 1
Länk till kommentar
Dela på andra webbplatser

Tusen tack MH_ :) !

Detta ligger en bra bit ovanför min kunskapsnivå, men jag tänkte att det kanske räcker om jag nödtorftigt förstår vad det handlar om och så kopierar jag bara in den färdiga formeln som du lagt upp och stoppar in de värden jag vill beräkna (hmm... någonstans i den formeln...), så lär det väl lösa sig av sig själv, förr eller senare.

Riktigt så enkelt blev det dock inte för mig.
Till att börja med för att jag, som sagt, inte tillräckligt förstår formelns beståndsdelar, dess logik, eller syntax - och dessvärre också för att jag, kanske just p.g.a. min bristfälliga baskunskap, inte heller vet var jag skall placera de värden jag vill beräkna (t.ex. 7+10+20) i någon av de bägge formlerna.
Jag har såklart testat på det ena och andra, men jag får mest bara felmeddelande av Excel.

Så om du även skulle kunna lägga in hur den färdiga formeln blir med, t.ex., additionen 7+10+20 vore det toppen :)

Jag har såklart en del andra frågor, rörande själva formelanvändningen, men de kanske kan vänta tills vi löst det här med att lägga in additionen på rätt plats i formeln.

Länk till kommentar
Dela på andra webbplatser

  • Lösning

Du måste använda 2 celler (vet inte om jag missförstod frågan).

I cell A1 skriver du in din summering

=7+10+20

I någon annan cell skriver du

=A1/ANTALV(DELATEXT(FORMELTEXT(A1);"+"))

FORMELTEXT() kom med excel 2019 och DELATEXT() kräver excel 365.

Det går inte att göra det du vill utan FORMELTEXT(). Men du kan räkna antal "+" tecken (+1) med äldre metoder:

=A1/(LÄNGD(FORMELTEXT(A1))-LÄNGD(BYT.UT(FORMELTEXT(A1);"+";""))+1)

 

  • Like 1
Länk till kommentar
Dela på andra webbplatser

Tusen tack igen MH_ :) 🙏

Nu börjar det klarna.

Först och främst: det var definitiv inte så att du missförstod frågan. Det är jag som inte har tillräcklig kunskap för att läsa Excelformler när de blir så här, för min nivå, avancerade. Men nu har jag ju samtidigt lärt mig något nytt och förstår syntaxen lite bättre.

Måste här även lägga in en rättelse, även om de flesta nog redan insett missen. I mitt additionsexempel ovan blev det fel i hastigheten. Det skall naturligtvis vara
7+10+10=27
men rätt skall väl vara rätt.

Jag använder Excel 2019. Har ej tillgång till Excel 365.

Så formeln:

16 timmar sedan, MH_ sade:

=A1/(LÄNGD(FORMELTEXT(A1))-LÄNGD(BYT.UT(FORMELTEXT(A1);"+";""))+1)

är den jag kan använda och den fungerar precis som du beskrivit. :) 

Så, i fråga om en lösning på det jag ursprungligen behövde hjälp med så är ju den saken avklarad enligt ovan.
Stort tack för det :) !

 

Eftersom jag är nyfiken och trots att jag inte har Ecxel 365 testade jag även:

16 timmar sedan, MH_ sade:

=A1/ANTALV(DELATEXT(FORMELTEXT(A1);"+"))

Formeln går att lägga in i Excel 2019 utan problem (d.v.s. DELATEXT finns med som valbart alternativ), och jag får heller inga felmeddelanden eller liknande när jag exekverar formeln. Däremot blir värdet som formeln genererar exakt samma värde som i cellen den skall beräkna medelvärdet av (A1 i det här fallet), vilket med mitt exempel ovan alltså här blir 27 - inte medelvärdet av 7+10+10 alltså. 
I cellen A1 har jag testat både med att skriva:
=7+10+10
och:
=SUMMA(7+10+10)
Resultatet blir dock det samma oavsett vilket av de bägge varianterna jag skriver i A1.
Vad det beror på har jag dock inte listat ut.

Testade även att (med min addition inlagd i A1) använda:

On 2024-03-17 at 10:15, MH_ sade:

=MEDEL(DELATEXT(BYT.UT(FORMELTEXT(A1);"=";"");"+")*1)

men här får jag märkligt nog samma felmeddelande som tidigare:
#NAMN?
Det kan ju, i alla fall för mig, tyckas märkligt då DELATEXT fungerat (om än inte helt) i det föregående beskrivna fallet.
Än så länge har jag inte lyckats klura ut vad det beror på heller.

Men, som sagt, min fråga har ju fått en lösning så detta är ju mest av nyfikenhet och för att kanske kunna lära mig lite ytterligare som jag nämner detta.

Länk till kommentar
Dela på andra webbplatser

Postad (redigerade)

Excel ändrade matrishanteringen för ett tag sen och jag TROR inte att excel 19 och 365 körs på samma sätt.

I nyare excel hanteras alla formler som matriser och du måste berätta för excel när du vill hantera det som en-svarsformler (med @-tecknet).

I äldre excel var det helt tvärs om. Som standard levererade formler bara ett svar och du måste berätta om du ville hantera den som en matris

https://support.microsoft.com/sv-se/office/riktlinjer-för-och-exempel-på-matrisformler-7d94a64e-3ff3-4686-9372-ecfd5caa57c7

 

Vi börjar med din vanliga summering i A1.

Testa att skriva in den här formeln någonstans:

=DELATEXT(FORMELTEXT(A1))

Hamnar svaret en, eller tre, celler?

Om det bara blir en cell. Skriv in formeln, ställ dig i cellen och tryck ner tangenterna [Ctrl]+[Shift]+[Enter]

Då borde svaret hamna i tre celler. (Och formeln får "måsvingar")

{=DELATEXT(FORMELTEXT(A1))}

Gör samma sak med dina medel-formler.

Men jag är INTE helt säker eftersom jag aldrig kört FORMELTEXT eller DELATEXT i äldre Excel.

PS:
Visst är det knäckande att Excel 2019 redan ses som gammalt? Jag körde Office 2010 i ca 10 år innan den började kännas gammal. 😞
/Ds

Redigerad av MH_
  • Like 1
Länk till kommentar
Dela på andra webbplatser

Hej igen!

Intressanta ting du tar upp här :)

Jag testade formeln du förslog, d.v.s.

On 2024-03-20 at 10:40, MH_ sade:

=DELATEXT(FORMELTEXT(A1))

men det returnerar endast felmeddelandet i Excel 2019:

#NAMN?

Så jag antar att det har att göra med att Excel 2019 inte kan hantera formeln ifråga.

- Och, apropå ditt PS, visst kan sådant kännas knäckande, men samtidigt rätt förväntat. Microsoft vill sälja mjukvara och ju mer desto bättre enligt dem, vilket är en ambition de delar med alla vinstdrivna företag. Utveckling och förbättringar i mjukvara har jag ingenting emot. Men det finns tillfällen då man kan bli irriterad, bl.a. vid den typ av förändringar du nämner ovan, d.v.s. sådant som ställer till det utan att behöva göra det.

För mig, som visserligen använder Excel så gott som dagligen men i, vad jag skull tro, det som räknas som amatörsammanhang, kanske det inte är lika frustrerande (även om jag rätt ofta ändå blir just det, särskilt när man söker lösningar som inte längre går att hitta för att man använder en "föråldrad" version av mjukvaran man jobbar med) som för dem som har ett mer professionellt förhållande till mjukvaran i fråga.
Inte sällan är räddningen vid sådana tillfällen forum som detta med kunniga och hjälpsamma forummedlemmar.
Tack för att du tar dig tid med alla mina frågor :)

 

Länk till kommentar
Dela på andra webbplatser

Tack för uppdateringen!

Resultatet för mig i Excel 2019 blir dock detsamma som tidigare (#NAMN?).
Så det borde väl vara att min Excelversion inte hanterar DELATEXT, i alla fall i de här formeln.

Länk till kommentar
Dela på andra webbplatser

Delta i dialogen

Du kan skriva svaret nu och registrera dig senare, Om du har ett konto, logga in nu för att svara på inlägget.

Gäst
Svara i detta ämne...

×   Du har klistrat in innehåll med formatering.   Ta bort formatering

  Only 75 emoji are allowed.

×   Din länk har automatiskt bäddats in.   Visa som länk istället

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Skapa nytt...