Kopieer formules sonder skakelverskuiwing

Probleem

Gestel ons het 'n eenvoudige tabel soos hierdie, waarin die bedrae vir elke maand in twee stede bereken word, en dan word die totaal in euro omgeskakel teen die koers van die geel sel J2.

Kopieer formules sonder skakelverskuiwing

Die probleem is dat as jy die reeks D2:D8 met formules iewers anders op die blad kopieer, dan sal Microsoft Excel outomaties die skakels in hierdie formules regstel, hulle na 'n nuwe plek skuif en ophou tel:

Kopieer formules sonder skakelverskuiwing

Taak: kopieer die reeks met formules sodat die formules nie verander nie en dieselfde bly, behou die berekeningsresultate.

Metode 1. Absolute skakels

Soos u uit die vorige prentjie kan sien, skuif Excel slegs relatiewe skakels. Die absolute (met $ tekens) verwysing na die geel sel $J$2 het nie geskuif nie. Daarom, vir presiese kopiëring van formules, kan jy alle verwysings in alle formules tydelik na absolute omskakel. Jy sal elke formule in die formulebalk moet kies en die sleutel moet druk F4:
Kopieer formules sonder skakelverskuiwing
Met 'n groot aantal selle verdwyn hierdie opsie natuurlik - dit is te moeisaam.

Metode 2: Deaktiveer formules tydelik

Om te verhoed dat formules verander tydens kopiëring, moet jy (tydelik) seker maak dat Excel ophou om dit as formules te hanteer. Dit kan gedoen word deur die gelykheidsteken (=) te vervang met enige ander karakter wat nie normaalweg in formules voorkom nie, soos 'n hash-teken (#) of 'n paar ampersands (&&) vir kopieertyd. Vir dit:

  1. Kies die reeks met formules (in ons voorbeeld D2:D8)
  2. Klik Ctrl + H op die sleutelbord of op 'n oortjie Tuis – Soek en Kies – Vervang (Tuis — Soek & Kies — Vervang)

    Kopieer formules sonder skakelverskuiwing

  3. In die dialoogkassie wat verskyn, voer in waarna ons soek en waarmee ons vervang, en in Grense (Opsies) moenie vergeet om te verduidelik nie Soekomvang – Formules. Ons druk Vervang alles (Vervang alles).
  4. Kopieer die resulterende reeks met gedeaktiveerde formules na die regte plek:

    Kopieer formules sonder skakelverskuiwing

  5. Vervang # on = terug met dieselfde venster, wat funksionaliteit na formules terugkeer.

Metode 3: Kopieer via Notepad

Hierdie metode is baie vinniger en makliker.

Druk die kortpad kortpad Ctrl+Ё of knoppie Wys formules tab formule (Formules — Wys formules), om die formulekontrole-modus aan te skakel – in plaas van die resultate, sal die selle die formules vertoon waarmee hulle bereken word:

Kopieer formules sonder skakelverskuiwing

Kopieer ons reeks D2:D8 en plak dit in die standaard Notebook:

Kopieer formules sonder skakelverskuiwing

Kies nou alles wat geplak is (Ctrl + A), kopieer dit weer na die knipbord (Ctrl + C) en plak dit op die blad op die plek wat jy nodig het:

Kopieer formules sonder skakelverskuiwing

Dit bly net om die knoppie te druk Wys formules (Wys formules)om Excel terug te keer na normale modus.

Let wel: hierdie metode misluk soms op komplekse tabelle met saamgevoegde selle, maar in die oorgrote meerderheid van gevalle werk dit goed.

Metode 4. Makro

As jy dikwels sulke kopiëring van formules moet doen sonder om verwysings te verskuif, dan maak dit sin om 'n makro hiervoor te gebruik. Druk kortpadsleutel Alt + F11 of knoppie Visual Basic tab ontwikkelaar (Ontwikkelaar), voeg 'n nuwe module deur die spyskaart in Voeg in – Module  en kopieer die teks van hierdie makro daarheen:

Sub Copy_Formulas() Dim copyRange As Range, pasteRange As Range By Fout Hervat Volgende Stel copyRange = Application.InputBox("Kies selle met formules om te kopieer.", _ "Kopieer formules presies", Default:=Seleksie.Adres, Tipe := 8) As copyRange Niks is, verlaat dan Sub Stel pasteRange = Application.InputBox("Kies nou die plakreeks." & vbCrLf & vbCrLf & _ "Die reeks moet gelyk in grootte wees aan die oorspronklike " & vbCrLf & _ " reeks selle om te kopieer." , "Kopieer formules presies", _ Default:=Seleksie.Adres, Tipe:=8) If pasteRange.Cells.Count <> copyRange.Cells.Count Then MsgBox "Kopieer en plak reekse verskil in grootte!", vbExclamation, "Copy error " Exit Sub End If If pasteRange Is Nothing Then Exit Sub Else pasteRange.Formula = copyRange.Formula End If End Sub

Jy kan die knoppie gebruik om die makro te laat loop. Macros tab ontwikkelaar (Ontwikkelaar - Makro's) of sleutelbordkortpad Alt + F8. Nadat die makro uitgevoer is, sal dit jou vra om die reeks met die oorspronklike formules en die invoegreeks te kies en sal die formules outomaties kopieer:

Kopieer formules sonder skakelverskuiwing

  • Gerieflike besigtiging van formules en resultate op dieselfde tyd
  • Waarom R1C1-verwysingstyl in Excel-formules nodig is
  • Hoe om alle selle met formules vinnig te vind
  • Gereedskap om presiese formules vanaf die PLEX-byvoeging te kopieer

 

Lewer Kommentaar