webForumDet fria alternativet

Spegelvända cellvärden i Excel

Kontorsprogram

4 svar · 4 000 visningar · startad av jepsO

Medlem sedan mars 2001484 inlägg
Frågan#1

Säg att jag har en serie värden som följer, vart och en i varsin cell:

1   2   3   4   5   6

Nu vill jag ha en funktion som tar de sex cellerna och visar dem spegelvänt:

6   5   4   3   2   1

Saken är den att jag har ett kalkylblad med finansiella data från åren 1999-2004. Åren visas i fallande ordning, dvs 2004, 2003, 2002, osv. I ett annat kalkylblad, varifrån jag vill kopiera data, står åren i stigande ordning, dvs 1999, 2000, 2001, osv. Därav mitt problem.

Tack på förhand!

Medlem sedan maj 20018 027 inlägg
#2

Pröva att sortera dem i fallande ordning med avseende på den kolumn som innehåller årtalen i det andra kalkylbladet (ja, det bör finnas en sortera-funktion, om du nu reagerar på att du faktiskt redan har skrivit att du vill sortera om talen).

Medlem sedan mars 2001484 inlägg
#3

Sortera fungerar tyvärr inte i det här fallet. Att jag skrev talen 1,2,3,4,5,6 var kanske lite missvisande; i själva verket kan det vara vilka tal som helst. Därför skulle jag behöva någon slags "spegelvänd"-funktion.

Medlem sedan maj 20018 027 inlägg
#4

Nu sitter jag inte med Excel, men väl med OpenOffice. Där tycks det vid en snabb anblick vara så att man bara kan sortera på kolumner. Men du har alltså skrivit dina årtal på en och samma rad (om nu Excel har samma begränsning)? För annars borde det ju inte spela någon roll vilka tal som nu står i kolumnen du vill sortera på.

Medlem sedan okt. 2005371 inlägg
#5

Tror inte att det går "den vanliga vägen". Men du kan ju skriva ett egen liten makro. Typ:

Sub Spegelvand()
Dim i As Byte, iMax As Byte
iMax = Selection.Cells.Count
For i = 1 To iMax Step 1
    Selection.Cells(1).Offset(1, (iMax - i)).Value = Selection.Cells(i).Value
Next i
End Sub

Om jag tänker rätt så kommer den här snurran att skriva ut dina spegelvända siffror en rad nedanför det du har markerat (OBS! det här skall bara fungera för en rad!!).
Om du kopplar ett snabbkomando så borde det fungera hjälpligt.

Ett annat alternativ är att använda formler. Antag att 6-1 står i kolumn B-G
Då borde en liknande formel i H-M ge en spegelvänd serie
=FÖRSKJUTNING($H3;0;(7-KOLUMN()))
Borde gå att göra något användbart av.
Om du vill slippa låsningen så kan du testa
=FÖRSKJUTNING(H4;0;1+2*(7-KOLUMN()))
Lycka till.

262 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
131 ms — ändringar (db)