Formulalarni havolani siljitmasdan nusxalash

Muammo

Aytaylik, bizda shunday oddiy jadval mavjud bo'lib, unda ikki shaharda har oy uchun summalar hisoblab chiqiladi, so'ngra jami J2 sariq katakchadan kurs bo'yicha evroga aylantiriladi.

Formulalarni havolani siljitmasdan nusxalash

Muammo shundaki, agar siz D2: D8 diapazonini formulalar bilan varaqning boshqa joyiga ko'chirsangiz, Microsoft Excel ushbu formulalardagi havolalarni avtomatik ravishda tuzatadi, ularni yangi joyga ko'chiradi va hisoblashni to'xtatadi:

Formulalarni havolani siljitmasdan nusxalash

Vazifa: formulalar o'zgarmasligi va hisoblash natijalarini saqlab qolishi uchun diapazonni formulalar bilan ko'chiring.

1-usul. Mutlaq havolalar

Oldingi rasmdan ko'rinib turibdiki, Excel faqat nisbiy havolalarni siljitadi. $J$2 sariq katakka mutlaq ($ belgilari bilan) havola oʻzgarmadi. Shuning uchun, formulalarni aniq nusxalash uchun siz barcha formulalardagi barcha havolalarni vaqtincha mutlaqga o'zgartirishingiz mumkin. Formulalar satrida har bir formulani tanlashingiz va tugmani bosishingiz kerak bo'ladi F4:
Formulalarni havolani siljitmasdan nusxalash
Ko'p sonli hujayralar bilan, bu variant, albatta, yo'qoladi - bu juda mashaqqatli.

2-usul: Formulalarni vaqtincha o'chirib qo'ying

Nusxalashda formulalar o'zgarishiga yo'l qo'ymaslik uchun (vaqtinchalik) Excel ularni formula sifatida ko'rishni to'xtatganligiga ishonch hosil qilishingiz kerak. Bu tenglik belgisini (=) odatda formulalarda topilmaydigan boshqa belgilar bilan almashtirish orqali amalga oshirilishi mumkin, masalan, nusxa ko'chirish vaqti uchun xesh belgisi (#) yoki bir juft ampersand (&&). Buning uchun:

  1. Formulalar bilan diapazonni tanlang (bizning misolimizda D2:D8)
  2. bosing Ctrl + H klaviaturada yoki yorliqda Bosh sahifa - Topish va tanlash - O'zgartirish (Uy — Top&Tanlash — Oʻzgartirish)

    Formulalarni havolani siljitmasdan nusxalash

  3. Ko'rsatilgan dialog oynasida biz nima izlayotganimizni va nima bilan almashtiramiz va ichiga kiriting Parameters (Tanlovlar) aniqlik kiritishni unutmang Qidiruv doirasi - Formulalar. Biz bosamiz Hammasini almashtiring (Hammasini almashtiring).
  4. Olingan diapazonni o'chirilgan formulalar bilan kerakli joyga ko'chiring:

    Formulalarni havolani siljitmasdan nusxalash

  5. almashtiring # on = bir xil oynadan foydalanib, formulalarga funksiyalarni qaytarish.

3-usul: Notepad orqali nusxa ko'chiring

Bu usul ancha tez va oson.

Klaviatura yorlig'ini bosing Ctrl+Yo yoki tugma Formulalarni ko'rsatish tab formula (Formulalar - formulalarni ko'rsatish), formulani tekshirish rejimini yoqish uchun - natijalar o'rniga hujayralar ular hisoblangan formulalarni ko'rsatadi:

Formulalarni havolani siljitmasdan nusxalash

D2: D8 diapazonimizdan nusxa oling va uni standartga joylashtiring daftar:

Formulalarni havolani siljitmasdan nusxalash

Endi yopishtirilgan hamma narsani tanlang (Ctrl + A), uni yana buferga nusxa ko'chiring (Ctrl + C) va uni varaqning kerakli joyiga qo'ying:

Formulalarni havolani siljitmasdan nusxalash

Faqat tugmani bosish qoladi Formulalarni ko'rsatish (Formulalarni ko'rsatish)Excelni normal rejimga qaytarish uchun.

Eslatma: bu usul ba'zan birlashtirilgan hujayralar bilan murakkab jadvallarda muvaffaqiyatsiz bo'ladi, lekin aksariyat hollarda u yaxshi ishlaydi.

4-usul. Makro

Agar siz tez-tez havolalarni almashtirmasdan formulalardan nusxa ko'chirishingiz kerak bo'lsa, buning uchun makrodan foydalanish mantiqan to'g'ri keladi. Klaviatura yorlig'ini bosing Alt + F11 yoki tugma Visual Basic tab dasturchi (ishlab chiquvchi), menyu orqali yangi modulni joylashtiring Qo'shish - modul  va ushbu makrosning matnini u yerga nusxalash:

Sub Copy_Formulas() Dim copyRange As Range, pasteRange As Range On Xato Davom etish Keyingi o‘rnatish copyRange = Application.InputBox("Nusxa olish uchun formulalar bo‘lgan katakchalarni tanlang.", _ "Formulalardan to‘liq nusxa ko‘chiring", Default:=Selection.Address, Type := 8) Agar copyRange hech narsa bo‘lmasa, chiqish Pastki to‘plami pasteRange = Application.InputBox("Endi joylashtirish oralig‘ini tanlang." & vbCrLf & vbCrLf & _ "Diapazon o‘lchami bo‘yicha asl " & vbCrLf & _ " katakchalar diapazoniga teng bo‘lishi kerak. nusxa ko'chirish uchun." , "Formulalarni aniq nusxalash", _ Default:=Selection.Address, Type:=8) Agar pasteRange.Cells.Count <> copyRange.Cells.Count Keyin MsgBox "Nusxalash va joylashtirish diapazonlari hajmi jihatidan farq qiladi!", vbExclamation, "Nusxalash xatosi" Agar pasteRange hech narsa bo'lmasa, pastki qismdan chiqing, keyin Sub-dan chiqing Else pasteRange.Formula = copyRange.Formula tugashi bo'lsa pastki pastki

Makrosni ishga tushirish uchun tugmani ishlatishingiz mumkin. macros tab dasturchi (Dasturchi — Makroslar) yoki klaviatura yorlig'i Alt + F8. Makrosni ishga tushirgandan so'ng, u sizdan asl formulalar va kiritish diapazoni bilan diapazonni tanlashingizni so'raydi va formulalarni avtomatik ravishda nusxalaydi:

Formulalarni havolani siljitmasdan nusxalash

  • Bir vaqtning o'zida formulalar va natijalarni qulay ko'rish
  • Nima uchun R1C1 mos yozuvlar uslubi Excel formulalarida kerak
  • Formulalar bilan barcha hujayralarni qanday tezda topish mumkin
  • PLEX plaginidan aniq formulalarni nusxalash uchun vosita

 

Leave a Reply