Kopírovat vzorce bez posunu odkazu

Problém

Předpokládejme, že máme jednoduchou tabulku, jako je tato, ve které se vypočítávají částky za každý měsíc ve dvou městech a pak se celková částka převede na eura kurzem ze žluté buňky J2.

Kopírovat vzorce bez posunu odkazu

Problém je v tom, že pokud zkopírujete rozsah D2:D8 se vzorci někam jinam na list, pak Microsoft Excel automaticky opraví odkazy v těchto vzorcích, přesune je na nové místo a přestane počítat:

Kopírovat vzorce bez posunu odkazu

Úkol: zkopírujte rozsah se vzorci tak, aby se vzorce neměnily a zůstaly stejné, při zachování výsledků výpočtu.

Metoda 1. Absolutní vazby

Jak můžete vidět z předchozího obrázku, Excel posouvá pouze relativní odkazy. Absolutní (se znaky $) odkaz na žlutou buňku $J$2 se nepřesunul. Pro přesné kopírování vzorců tedy můžete dočasně převést všechny odkazy ve všech vzorcích na absolutní. Budete muset vybrat každý vzorec na řádku vzorců a stisknout klávesu F4:
Kopírovat vzorce bez posunu odkazu
Při velkém počtu buněk tato možnost samozřejmě odpadá – je příliš pracná.

Metoda 2: Dočasně zakažte vzorce

Chcete-li zabránit změnám vzorců při kopírování, musíte se (dočasně) ujistit, že je Excel přestane považovat za vzorce. Toho lze dosáhnout nahrazením znaménka rovná se (=) jakýmkoli jiným znakem, který se běžně ve vzorcích nevyskytuje, například znakem hash (#) nebo dvojicí ampersandů (&&) pro dobu kopírování. Pro tohle:

  1. Vyberte rozsah pomocí vzorců (v našem příkladu D2:D8)
  2. klikněte Ctrl + H na klávesnici nebo na kartě Domů – Najít a vybrat – Nahradit (Domů — Najít a vybrat — Nahradit)

    Kopírovat vzorce bez posunu odkazu

  3. V zobrazeném dialogovém okně zadejte, co hledáme a čím nahrazujeme, a v parametry (Možnosti) nezapomeňte upřesnit Rozsah vyhledávání – Vzorce. Tiskneme Vyměnit vše (Vyměnit vše).
  4. Zkopírujte výsledný rozsah s deaktivovanými vzorci na správné místo:

    Kopírovat vzorce bez posunu odkazu

  5. Nahradit # on = zpět pomocí stejného okna s návratem funkčnosti do vzorců.

Metoda 3: Kopírování přes Poznámkový blok

Tato metoda je mnohem rychlejší a jednodušší.

Stiskněte klávesovou zkratku Ctrl+Ё nebo tlačítko Zobrazit vzorce Karta vzorec (Vzorce — Zobrazit vzorce), pro zapnutí režimu kontroly vzorců – místo výsledků se v buňkách zobrazí vzorce, podle kterých se počítají:

Kopírovat vzorce bez posunu odkazu

Zkopírujte náš rozsah D2:D8 a vložte jej do standardu zápisník:

Kopírovat vzorce bez posunu odkazu

Nyní vyberte vše vložené (Ctrl + A), znovu to zkopírujte do schránky (Ctrl + C) a vložte to na list na místo, které potřebujete:

Kopírovat vzorce bez posunu odkazu

Zbývá pouze stisknout tlačítko Zobrazit vzorce (Zobrazit vzorce)vrátit Excel do normálního režimu.

Poznámka: Tato metoda někdy selže na složitých tabulkách se sloučenými buňkami, ale v naprosté většině případů funguje dobře.

Metoda 4. Makro

Pokud musíte často dělat takové kopírování vzorců bez posouvání referencí, pak má smysl k tomu použít makro. Stiskněte klávesovou zkratku Alt + F11 nebo tlačítko Visual Basic Karta vývojka (Vývojář), vložte nový modul přes nabídku Vložit – Modul  a zkopírujte tam text tohoto makra:

Sub Copy_Formulas() Dim copyRange As Range, pasteRange As Range On Chyba Pokračovat Další Set copyRange = Application.InputBox("Vyberte buňky se vzorci ke kopírování.", _ "Kopírovat vzorce přesně", Výchozí:=Selection.Address, Type := 8) Pokud copyRange Is Nothing Then Exit Sub Set pasteRange = Application.InputBox("Nyní vyberte rozsah vložení." & vbCrLf & vbCrLf & _ "Rozsah musí mít stejnou velikost jako původní " & vbCrLf & _ " rozsah buněk zkopírovat." , "Kopírovat vzorce přesně", _ Výchozí:=Selection.Address, Type:=8) If pasteRange.Cells.Count <> copyRange.Cells.Count Then MsgBox "Kopírovat a vložit rozsahy se liší velikostí!", vbExclamation, "Chyba kopírování" Exit Sub End If If pasteRange Is Nothing Then Exit Sub Else pasteRange.Formula = copyRange.Formula End If End Sub

Ke spuštění makra můžete použít tlačítko. makra Karta vývojka (Vývojář — Makra) nebo klávesovou zkratkou Alt + F8. Po spuštění makra vás požádá o výběr rozsahu s původními vzorci a rozsahem vložení a automaticky zkopíruje vzorce:

Kopírovat vzorce bez posunu odkazu

  • Pohodlné prohlížení vzorců a výsledků současně
  • Proč je ve vzorcích aplikace Excel potřebný referenční styl R1C1
  • Jak rychle najít všechny buňky se vzorci
  • Nástroj pro kopírování přesných vzorců z doplňku PLEX

 

Napsat komentář