Sisällys
Ongelma
Oletetaan, että meillä on tällainen yksinkertainen taulukko, jossa summat lasketaan jokaiselle kuukaudelle kahdessa kaupungissa, ja sitten summa muunnetaan euroiksi keltaisen solun J2 kurssilla.
Ongelmana on, että jos kopioit alueen D2:D8 kaavoineen jonnekin muualle arkille, Microsoft Excel korjaa automaattisesti näiden kaavojen linkit, siirtää ne uuteen paikkaan ja lopettaa laskemisen:
Tehtävä: kopioi alue kaavoineen niin, että kaavat eivät muutu ja pysyvät samoina laskennan tulokset säilyttäen.
Menetelmä 1. Absoluuttiset linkit
Tapa 2: Poista kaavat väliaikaisesti käytöstä
Jotta kaavat eivät muutu kopioitaessa, sinun on (tilapäisesti) varmistettava, että Excel lopettaa niiden käsittelemisen kaavoina. Tämä voidaan tehdä korvaamalla yhtäläisyysmerkki (=) millä tahansa muulla merkillä, jota ei tavallisesti löydy kaavoista, kuten hash-merkillä (#) tai et-merkillä (&&) kopiointiajan osalta. Tätä varten:
- Valitse alue kaavoilla (esimerkissämme D2:D8)
- Napauta Ctrl + H näppäimistöllä tai välilehdellä Etusivu – Etsi ja valitse – Korvaa (Koti - Etsi ja valitse - Korvaa)
- Kirjoita näkyviin tulevaan valintaikkunaan, mitä etsimme ja millä korvaamme ja missä parametrit (Vaihtoehdot) älä unohda selventää Haun laajuus – Kaavat. Painamme Korvaa kaikki (Korvaa kaikki).
- Kopioi tuloksena oleva alue deaktivoiduilla kaavoilla oikeaan paikkaan:
- korvata # on = takaisin käyttämällä samaa ikkunaa, palauttaen toiminnot kaavoille.
Tapa 3: Kopioi Notepadin kautta
Tämä menetelmä on paljon nopeampi ja helpompi.
Paina pikanäppäintä Ctrl+Ё tai painiketta Näytä kaavat kieleke kaava (Kaavat — Näytä kaavat), ottaaksesi kaavantarkistustilan käyttöön – tulosten sijaan solut näyttävät kaavat, joilla ne on laskettu:
Kopioi valikoimamme D2:D8 ja liitä se standardiin muistikirja:
Valitse nyt kaikki liimattu (Ctrl + A), kopioi se uudelleen leikepöydälle (Ctrl + C) ja liitä se arkille haluamaasi paikkaan:
Jäljelle jää vain napin painaminen Näytä kaavat (Näytä kaavat)palauttaaksesi Excelin normaalitilaan.
Huomautus: tämä menetelmä epäonnistuu joskus monimutkaisissa taulukoissa, joissa on yhdistettyjä soluja, mutta useimmissa tapauksissa se toimii hyvin.
Menetelmä 4. Makro
Jos sinun on usein tehtävä tällainen kaavojen kopiointi ilman viittausten siirtämistä, on järkevää käyttää makroa tähän. Paina pikanäppäintä Alt + F11 tai painiketta Visual Basic kieleke kehittäjä (Kehittäjä), lisää uusi moduuli valikon kautta Insert – moduuli ja kopioi tämän makron teksti sinne:
Sub Copy_Formulas() Himmeä copyRange alueena, pasteRange alueena virheessä Jatka seuraavaksi Set copyRange = Application.InputBox("Valitse kopioitavat solut kaavoineen.", _ "Kopioi kaavat tarkasti", Default:=Valinta.Osoite, Tyyppi := 8) Jos copyRange ei ole mitään, Lopeta Sub Set pasteRange = Application.InputBox("Valitse nyt liittämisalue." & vbCrLf & vbCrLf & _ "Alueen tulee olla kooltaan yhtä suuri kuin alkuperäinen " & vbCrLf & _ " solualue kopioida." , "Kopioi kaavat tarkasti", _ Default:=Selection.Address, Type:=8) If pasteRange.Cells.Count <> copyRange.Cells.Count Then MsgBox "Kopioi ja liitä alueet vaihtelevat kooltaan!", vbHuutomerkki, "Kopiointivirhe" Poistu Sub End If If pasteRange ei ole mitään sitten Exit Sub Else pasteRange.Formula = copyRange.Formula End If End Sub
Voit käyttää painiketta makron suorittamiseen. Makrot kieleke kehittäjä (Kehittäjä – makrot) tai pikanäppäimellä Alt + F8. Makron suorittamisen jälkeen se pyytää sinua valitsemaan alueen alkuperäisillä kaavoilla ja lisäysalueen ja kopioi kaavat automaattisesti:
- Kätevä kaavojen ja tulosten katselu samanaikaisesti
- Miksi R1C1-viitetyyliä tarvitaan Excel-kaavoissa
- Kuinka löytää nopeasti kaikki solut kaavoilla
- Työkalu tarkkojen kaavojen kopioimiseen PLEX-lisäosasta