Gå till innehåll

Kopiera formel utan att förändra den (dess platsvärden) vid beräkning av värden från annan flik


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

Recommended Posts

Kopiera formel utan att förändra den (dess platsvärden) vid beräkning av värden från annan flik

I många fall är det lätt att genom dubbelklickning med F4-tangenten för de platsvärden man vill påverka i sin formel omvandla dessa platsvärden till ”låsta” diton (jag vet inte om ”låsa” är den korrekta termen, men betydelsen är att man efter att ha ”låst” platsvärdet kan kopiera hela formeln utan att den automatisk kommer att förändras/anpassas av Excel när man klister in formeln på en annan plats).

Exempel 1:

=SUMMA.OMF($C$27;$B$27;"villkor-X")

Exempel 2:

=SUMMA.OMF(C$27;$B$27;"villkor-X")


I det här exemplet vill jag alltså behålla kolumnen C öppen, men låsa cellen 27 i kolumnen (för att kunna använda autofill-funktionen i Excel för att formeln skall upprepas i de bredvidkommande kolumnerna D, E, F, o.s.v. till, exempelvis kolumnen N)

Så långt inga krångligheter. Jag kan kopiera och klistra in formeln inom samma, likaväl som i ett helt annat, Excelark och bibehålla alla värden intakta.

 

Men om man i exemplet ovan istället vill hämta värdena från en intilliggande flik:
Exempel:

=SUMMA.OMF(Fliken_Y!C$27;Fliken_Y!$B$27;"villkor-X") 


– och precis som ovan nyttja autofill-funktionen - och sedan vill använda samma formel i ett annat Excelark (som, i det här fallet är identiskt uppbyggt men skiljer sig såtillvida att det samlar värden från ett annat år) uppstår problemet att Excel automatiskt omskapar platsvärdet så att det refererar till det ursprungliga Excelarket som det kopierades från, så att resultatet utifrån exemplet ovan alltså resulterar i det här:

=SUMMA.OMF([Ursprungligt_Exelark.xlsx]Fliken_Y!C$27;[Ursprungligt_Exelark.xlsx]Fliken_Y!$B$27;"villkor-X")

Detta är ju inte det man önskar i det här fallet.
Det man önskar är såklart att allt skulle vara oförändrat, d.v.s. att formeln skulle behålla alla ingående värden intakta även i den nya Excelarket:

=SUMMA.OMF(Fliken_Y!C$27;Fliken_Y!$B$27;"villkor-X")


(i praktiken hade man kopierat hela raden, alternativt hela fliken, och klistrat in), så att formeln/formlerna kan hämta värdena från Fliken_Y i det nya Excelarket.

Nu är alltså frågan: Hur gör man för att få till det?

Länk till kommentar
Dela på andra webbplatser

  • Lösning

Tror att det absolut enklaste är att klistra in och sedan köra sök/ersätt (Ctrl+H)

Sök: [Ursprungligt_Exelark.xlsx]
Ersätt med: (tomt, ingenting)

 

Om det bara är någon enstaka cell så kan du kopiera från formelfältet. Dvs kopiera formeln som text.
Alternativt kopiera från cellen i redigeringsläge ("snabb"-kommando F2, Ctrl+A, Ctrl+C, Esc)

 

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

2 timmar sedan, MH_ sade:

Tror att det absolut enklaste är att klistra in och sedan köra sök/ersätt (Ctrl+H)

Sök: [Ursprungligt_Exelark.xlsx]
Ersätt med: (tomt, ingenting)

 

Om det bara är någon enstaka cell så kan du kopiera från formelfältet. Dvs kopiera formeln som text.
Alternativt kopiera från cellen i redigeringsläge ("snabb"-kommando F2, Ctrl+A, Ctrl+C, Esc)

 

Tack för snabbt svar :)

Det är de tillvägagångssätt jag själv övervägt, men hade hoppats att det fanns någon "magisk" formel man kunde använda istället, alternativt göra formeln till en textsträng (som jag, möjligen felaktigt, tror skulle ha den effekten, vilket jag återkommer till strax nedan).

Det är trots allt ganska många rader det rör sig om så det blir en del extra arbete, men finns ingen annan lösning för man ta det näst bästa (sök/ersätt för formeln i första cellen, och sedan autofill från den och raden ut, rad för rad tills man är klar)...

Vad jag alltså, möjligen helt felaktigt, hade hoppats på var att det skulle gå att göra en formel som på liknande sätt som med användandet av INDIREKT skulle få den eftersökta effekten.

Jag fick fin hjälp tidigare i det här forumet av dig med just INDIREKT-formeln, som, om jag förstått det hela rätt, skiljer sig åt från formlerna i exemplen här ovan genom att INDIREKT-formeln är en textsträng, vilket hade den oväntat positiva effekten för mitt projekt att jag har kunnat kopiera och klistra in alla INDIREKT-formler precis varsomhelst med precis den effekt som jag här är ute efter, vilket i slutänden gjort att jag helt övergått till INDIREKT i de flikar där det är möjligt. Vilket alltså fungerat perfekt med undantag för formler som hämtar värden från enbart en flik (som i det exempel jag använder här - de övriga, där INDIREKT fungerar, hämtar värden från de tolv flikarna januari - december).

Och då jag inte kunde hitta något motsvarande sätt att använda INDIREKT för formlerna som det här handlar om och var osäker på om det bara var jag som inte hade tillräcklig koll på användningen (jag är lite osäker på syntaxen och har inte heller tillräckligt koll på betydelse och användning av textsträngar) - eller om det helt enkelt inte finns någon sådan, eller liknande, formel att lösa uppgiften med, hörde jag alltså av mig hit för få vägledning.
Och, om jag nu förstått det hela rätt, verkar det alltså inte finns någon sådan lösning i det här fallet. Vilket ju, på sätt och vis, i sig är en lösning då jag med den kunskapen kan godta den visserligen inte helt eleganta men dock fungerande metoden sök/ersätt och autofill utan att behöva ägna några mer försök på att finna den stilfulla, "magiska" lösningen... :)

Länk till kommentar
Dela på andra webbplatser

Jag fattar inte varför du inte kan klistra in allt (eller kopiera hela bladet) och sedan köra sök/ersätt. Sök/ersätt går på formlerna i alla celler och när du ersätter
"[Ursprungligt_Exelark.xlsx]" med ingenting så försvinner de externa referenserna överallt.

 

Självklart kan du köra någonting i stil med:

=SUMMA.OMF(INDIREKT("Fliken_Y!C$27");INDIREKT("Fliken_Y!$B$27");"gnu")

Men då tappar du all autofyll

Jag tror inte att jag riktigt har förstått vad du är ute efter. 

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

Postad (redigerade)

Sorry. Du har ju helt rätt.
Missade den fulla innebörden av sök/ersätt (har bara använt den metoden vid något enstaka tillfälle i Excel, och "Ersätt alla", hade uppenbarligen fallit ur minnet...).

Testade nyss (kopierade hela fliken och körde sök/ersätt) och det fungerar perfekt. Kan inte bli bättre :) 
Med minnet uppfriskat på detta vis löser sig också en hel del andra snarlika uppgifter på ett enklare vis.
Genant enkelt när man gör det - och lika generande att jag inte kom ihåg funktionen helt på egen hand, men tur ändå att det finns folk med bättre koll, och som har tid att svara...

Tack för bra tips och för tålamodet...

Redigerad av B.O.
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...