Excel: Returnera det sista värdet i en kolumn

Permalänk
Medlem

Excel: Returnera det sista värdet i en kolumn

Hej,

Jag håller på att skapa en dokumentmall som automatiskt skall uppdatera utvalda siffror när ny grunddata matas in.

Jag har stött på ett problem då jag vill automatisera en beräkning.

Arket har följande struktur:

Månad\År 01 02 03 ...
Jan A B C
Feb D E F
Mars G H
...

Jag vill att excel ska leta upp det senaste värdet, i fallet ovan "F" och sedan ta differensen mellan F och D. När sedan marssiffror kommer skall samma formel identifera detta och ta differensen mellan I och G.

Helst vill jag undvika att arbeta med macron då jag inte är särskillt hemma på det. Om nöden kräver får jag lära mig!

Tack på förhand.

Visa signatur

Antec Sonata, Antec 380W | A64 3000+@2200mhz, Zalman CNPS7000B-AlCu | MSI K8N NEO-FSR 250Gb Nforce3 | 1024 Corsair Value PC3200 2.5-3-3-8
| Galaxy Glacier 6800 GT 420/1130mhz | Hitachi Deathstar 160GB SATA | 19" Compaq

Permalänk
Medlem

Vet inte hur man får excel att visa sista kolumnen. Hade jag vetat det hade det inte varit några problem.
Att få fram vilken cell som är sista cellen i var kolumn är inga problem, att få excel att räkna på rätt siffror ska inte heller vara några problem men jag vet inte hur jag får excel att veta att det är D-kolumnen den ska titta i( i detta fallet).

Kan göra det till ett macro om du vill men då måste du köra macrot var gång du ska uppdatera det (vilket egentligen inte är så svårt) eller så får man göra en Worksheet_change funktion (dvs, det körs var gång något förändras på arket) men det kan bli jobbigt i längden.

Om någon vet hur man hittar sista kolumnen så kan jag hjälpa dig med en excelfunktion

Permalänk

Hej,
ett sätt enligt nedan. Använder MATCH() som söker efter ett extremt stort tal vilket indirekt ger oss sista raden/kolumnen, parat med INDEX().

Jag utgår från att du har år på rad 1, Jan-Dec på kolumn A (rad 2-13)

In med en "hjälprad" på rad 14. Denna kan du dölja sen om du vill. I raden står antalet celler med värden det aktuella "året". I B14 (hjälprad för första årtalet) klistrar du in
=IF(ISNA(MATCH(9,999999E+306;B2:B13));"";MATCH(9,999999E+306;B2:B13))
Fyll höger så långt du har år. Jag har utgått från att du har år max t.o.m. kolumn Z i nästa lilla formel.

Du får ut ditt önskade värde med formeln
=INDEX(B2:Z13;INDEX(B14:Z14;MATCH(9,999999E+306;B14:Z14));MATCH(9,999999E+306;B14:Z14))-INDEX(B2:B13;INDEX(B14:Z14;MATCH(9,999999E+306;B14:Z14)))

Önskat värde alltså "F-D" enligt din uppställning.

Hur formlerna funkar är ju solklart.

Ja, det går säkert att göra på andra sätt.
Ja, det är kanske overkill/onödigt att MATCHa mot "9,999999E+306" vilket råkar vara excels största tal. Formlerna går ju att korta ned genom att stryka ett par 9or... men nu är den stringent iaf.
Ja, det är bökigt att läsa nästlade formler.
Ja, det funkar.

Visa signatur

I thought the only thing the internet was good for was porn.
-Bender, Futurama

Permalänk
Medlem
Permalänk
Medlem
Skrivet av greendevil:

=IF(ISNA(MATCH(9,999999E+306;B2:B13));"";MATCH(9,999999E+306;B2:B13))

=INDEX(B2:Z13;INDEX(B14:Z14;MATCH(9,999999E+306;B14:Z14));MATCH(9,999999E+306;B14:Z14))-INDEX(B2:B13;INDEX(B14:Z14;MATCH(9,999999E+306;B14:Z14)))

Jag måste bara fråga, är det sådant ni skriver för hand, eller kopierar ni det någonstans efter att programmet genererat detta?
För det där verkar helt sjukt att komma ihåg

Visa signatur

Samsung TFT 22" 2233RZ Svart 120HZ - 640GB Western Digital Black 64MB SATA III - Corsair 4GB (2x2048MB) 1333MHz XMS3-10600 - AMD Phenom2 X4 965 3,4GHz Black Edition - Gigabyte GeForce GTX 460 1GB OC - Fractal Design Define R3, Svart - Corsair TX 650W 80+ - Gigabyte GA-870A-UD3 - Cooler Master Hyper 212 Plus

Permalänk
Medlem

Mna kan använda den där generator grejen i excel men jag tycker det funkar så dåligt att jag hellre skriver det själv.

Permalänk
Skrivet av sAnden:

Jag måste bara fråga, är det sådant ni skriver för hand, eller kopierar ni det någonstans efter att programmet genererat detta?
För det där verkar helt sjukt att komma ihåg

Jag personligen skriver för hand. Visst ser det lite sjukt ut i exemplet, men det är en logisk nästlad sats, sen att det stora talet står där och stör är som sagt för stringensens skull. Just här koppypäjstade jag själva det talet, så blir det inget knappandefel.
Nästlade satser går ytterst dåligt att få till med den där generatormojängen, imho. Däremot är det ju bra att man får ett screentip med formelns syntax i nyare excel. Nuförtiden (excel 2007) står det ju till och med funktionsnumret för formeln SUBTOTAL() som jag personligen tidigare alltid var tvungen slå upp i hjälpfunktionen. Det var inte alltid bättre förr.

Visa signatur

I thought the only thing the internet was good for was porn.
-Bender, Futurama