फॉर्मूले में डेटा बदलने के संदर्भ में कटौती और पेस्ट को कैसे रोकें?


49

Google शीट्स में एक सुविधा है जहां यदि आपके पास किसी सूत्र में डेटा सेल का संदर्भ है, और आप उस सेल से डेटा को काटते हैं और इसे एक नए स्थान पर पेस्ट करते हैं, तो सूत्र का संदर्भ नए सेल स्थान पर इंगित करने के लिए अद्यतन किया जाता है।

मैं अपने फ़ार्मुलों को बदले बिना अपने डेटा को काटने और पेस्ट करने में सक्षम होना चाहता हूं।

मैंने INDIRECT()इस सुविधा को पूरा करने के लिए फ़ंक्शन को शामिल करते हुए अतीत में कुछ घृणित कार्य किए हैं, लेकिन ऐसा लगता है कि एक आसान तरीका हो गया है। कोई सुझाव?


2
अजीब बात है ... मैं एक बग के रूप में इस सुविधा के बारे में कभी नहीं सोचा था। यह काम किया है यह दशकों से एक्सेल में था।
mhoran_psprep

1
क्या आपको दिए गए उत्तरों की जांच करने का समय मिला? शायद आप उनमें से एक को सर्वश्रेष्ठ उत्तर के रूप में चिह्नित कर सकते हैं।
जनवरी को जैकब जान टुंस्ट्रा

1
कई अलग-अलग सवालों के जवाब नीचे दिए गए हैं। क्या सवाल साफ हो सकता है? मुझे लगता है कि आपकी समस्या का एक उदाहरण यह होगा: सेल A2 में "= B1 + 5" जैसे सूत्र शामिल हैं। बी 1 में "42" शामिल हैं। A2 उम्मीद के मुताबिक "47" प्रदर्शित करता है। लेकिन आपने महसूस किया है कि बी 1 में "42" नहीं होना चाहिए, सी 1 में "42" होना चाहिए, और बी 1 में "58" होना चाहिए। आप B1, "कट" पर क्लिक करें, C1 पर क्लिक करें, पेस्ट करें। B1 अब रिक्त है (अपेक्षित), C1 अब "42" (अपेक्षित) है, लेकिन A2 अभी भी "47" प्रदर्शित करता है, क्योंकि A2 स्वचालित रूप से "= C1 + 5" में अपडेट हो गया है, कट और पेस्ट का अनुसरण करने के लिए (अपेक्षित नहीं)। क्या आप चाहते थे कि A2 = "B1 + 5" बने रहें। क्या मैं सही हू?
cesoid

जवाबों:


22

=$A$1टिप्पणी को स्वचालित रूप से अगर (माना) में मूल्य ले जाया जा सकता A1बदला गया है।

एकमात्र अचूक उपाय यह है कि आप अपने सभी संदर्भों को INDIRECT, उदाहरण के लिए =INDIRECT("$A$1")या यहां तक ​​कि सिर्फ संलग्न करें =INDIRECT("A1")

इन समाधानों में से किसी एक के साथ कठिनाई है जहाँ आपके पास एक ही सूत्र के कई उदाहरण हैं

=A1
=A2
=A3
...
=A99

सामान्य रूप से, आप पहले =A1सूत्र को स्वचालित रूप से भरने के लिए पहले और फिर कॉपी-एंड-पेस्ट (या ऑटोफिल का उपयोग करके नीचे खींचें) को भरेंगे। यदि, हालांकि पहला सूत्र है =$A$1या =INDIRECT("A1")फिर यह ट्रिक काम नहीं करेगा (वास्तव में, यह वही $है - जिसे रोकने के लिए इसे स्वचालित रूप से बदल दिया जाए)।

यदि आपके पास लगातार कई सूत्र हैं, तो एक समाधान यह है:

  1. सामान्य रूप से सूत्र बनाएँ (सादे =A1और ऑटोफ़िल का उपयोग करें )
  2. की जगह संवाद (का प्रयोग करें Ctrl+ H"सूत्रों में खोज") और उपयोग सभी रैप करने के लिए =A1, =A2... =A99में =INDIRECT("A1")आदि ध्यान दें कि आप जब एक खोज एवं प्रतिस्थापन कर रेगुलर एक्सप्रेशन का उपयोग करने का विकल्प है।

नई Google स्प्रैडशीट में बेहतर
फ़ाइंड

1
क्या आप इस बात का उदाहरण दे सकते हैं कि खोज / प्रतिस्थापित पैरामीटर क्या सभी सेल संदर्भों को INDIRECT के साथ एक सूत्र में लपेटने के लिए होगा?
माइकल

आप ROW के साथ संयोजन में INDIRECT का उपयोग कर सकते हैं () एक सूत्र है जो वर्तमान पंक्ति पर चल रहा है। उदाहरण के लिए: = A1 + B1 बन जाता है = INDIRECT ("A" & ROW ()) + INDIRECT ("B" & ROW ())
Evil Pigeon

31

Google डॉक्स फ़ोरम से :

कक्षों की श्रेणी का चयन करें। फिर Ctrl+ C(कॉपी; यह पेस्ट बफर में कोशिकाओं और उनके सूत्रों को रखना चाहिए) का उपयोग करें।

अब माउस कर्सर को हाथ में बदलने तक चयन के किनारे पर खींचें (होवर करें; अब आप चयनित कक्षों को नई स्थिति में खींच सकते हैं)।

प्रतिलिपि की गई कोशिकाओं की मूल शीर्ष-बाईं स्थिति पर जाएं और Ctrl+ V(पेस्ट) का उपयोग करें ।

अब आपके पास एक ही सेल को संदर्भित करने वाले दोनों सूत्रों के दो सेट होने चाहिए।


6
यह एकमात्र उत्तर है जो सूत्रों को संरक्षित करता है।
amcnabb

3
सहमत - यह एकमात्र सही उत्तर है।
स्टेवमिडगले

1
धन्यवाद! मुझे आश्चर्य हुआ कि "खींचें" और कॉपी / पेस्ट के बीच अंतर है!
rcreswick

इसलिए यदि आप कट और पेस्ट करना चाहते हैं तो आपको सिलेक्ट रेंज + ड्रैग पार्ट की जरूरत है, लेकिन यदि आप कॉपी करना चाहते हैं तो आपको मूल को संरक्षित करने के लिए अन्य अतिरिक्त चरणों की आवश्यकता है।
म्यू माइंड

2
एक बेहतर विधि: शीट को डुप्लिकेट करें, शीट के क्लोन से काटें, नए स्थान पर मूल शीट में पेस्ट करें जहां आपको इसकी आवश्यकता है। जब आप पूरी कर लें, तो शीट के क्लोन को हटा दें। इस तरह, संदर्भ अप्रभावित रहते हैं।
ADTC

30

इसी तरह की समस्या की तलाश में आया और एक्सेल के लिए एक समाधान खोजना शुरू कर दिया, जो Google स्प्रेडशीट में पूरी तरह से काम करता है।

सेल संदर्भ के लिए आप पेस्ट को बदलना नहीं चाहते हैं, बस $प्रत्येक भाग से पहले जोड़ें ।

तो G12बन जाएगा$G$12

एक स्प्रेडशीट से एक सेल जो मैं उपयोग कर रहा हूं, जो मुझे चाहिए, वह कुछ इस तरह दिखता है:

 =$G$1&Sheet1!B3&Sheet1!A3&$G$2

1
यह मेरे लिए काम नहीं किया। नीचे दिए गए मेरे विकल्प को देखें webapps.stackexchange.com/questions/22558/…
Motti Strom

@ लियोनार्ड, वाह वाक्य रचना भयानक है । यदि यह दूसरे तरीके से गोल है, तो यह बहुत अधिक सहज है, अर्थात सापेक्ष कोशिकाएं उपयोग करती हैं $जबकि निरपेक्ष कोशिकाएं डिफ़ॉल्ट होती हैं।
पचेरियर

@ स्पेसर मैं आपसे पूरी तरह सहमत हूं, हालांकि यह काम करता है, यह भयानक और पढ़ने में कठिन है। मैं स्प्रेडशीट का उपयोग अक्सर यह समझने के लिए नहीं करता कि आप क्या सुझाव दे रहे हैं। क्या आप विस्तृत कर सकते हैं?
लियोनार्ड

@ लियोनार्ड, मेरा मतलब था कि डिफ़ॉल्ट व्यवहार अलग है, इसलिए इसके बजाय $G$1&Sheet1!B3&Sheet1!A3&$G$2, हम करते हैं G1&Sheet1!$B$3&Sheet1!$A$3&G2
पैकरियर

1
@grahamparks: फिर डाउनवोट करें और संभवतः एक टिप्पणी छोड़ दें कि यह एक समाधान क्यों नहीं है। उत्तर में अपनी स्वयं की टिप्पणी जोड़ने का प्रयास न करें
ऐले

7

Google Spreadsheets में, कट और उनके फार्मूले ऑटो बदलने के बिना कोशिकाओं को चिपकाने के लिए, आप का उपयोग Ctrl+ Xकटौती करने के लिए (या Ctrl+ Cकॉपी करने के लिए), और Ctrl+ Shift+ Vपेस्ट करने के लिए।

Shiftअपने सूत्रों अकेला छोड़ने के लिए Google शीट में बताता है।


fyi, यदि आप पहले से सक्रिय CTRL + SHIFT + V शॉर्टकट के साथ फ्लाईकट (मैक) जैसे ऐप का उपयोग कर रहे हैं , तो यह स्प्रेडशीट शॉर्टकट के साथ संघर्ष करेगा और सूत्र लॉकिंग काम नहीं करेगा। फ्लाईकट ऐप के शॉर्टकट को अक्षम करें, या CTRL + SHIFT + V करने से पहले इसे पहले छोड़ दें ।
११:१३ बजे हुलंग

13
Google स्प्रैडशीट पेस्ट मानों को अनमॉडिफ़ाइड फ़ार्मुलों के बजाय शिफ़्ट के साथ संशोधित पेस्ट दिखाई देता है।
मैट मैकक्लेर

4
यह गलत है - ctrl-shift-v केवल आपके फॉर्मूले के "मूल्यों" को चिपकाएगा। यह आपके डेटा को ट्रांसपोज़ करने से रोकेगा, लेकिन परिणामी कोशिकाओं में स्थिर मूल्य होंगे जिनमें सूत्र नहीं होंगे।
स्टेवमिडगले

1
काम नहीं करता है , -1।
पचेरियर

1
मैं कभी नहीं काटता। जब आप ctrl+ shift+ के साथ पेस्ट करते हैं v, तो यह हमेशा मानों की प्रतिलिपि बनाता है, भले ही आपने स्रोत कोशिकाओं पर ctrl+ किया हो x
स्पेयरबाइट्स

5

एक्सेल की तरह ही इसके चारों ओर काम करें:

कॉपी करें और डेटा पेस्ट करें, और फिर वापस जाएं और इसे मूल स्थान से हटा दें।


3

कट (कॉपी के बजाय) मेरे लिए काम करने लगता है, शायद उसी कारण से चयनित सेल काम करता है - यानी यह एक ही ऑपरेशन है। यह भी एकमात्र तरीका है जिसे मैं सूत्र बदलने के बिना किसी अन्य पृष्ठ पर पेस्ट करना जानता हूं।

यदि आप मूव के बजाय कॉपी करने का प्रयास कर रहे हैं, तो या तो ड्रैग विधि (ड्रैग करने से पहले कॉपी करें) का उपयोग करें, या पहले पेज पर कहीं और कॉपी करें।


2

Google शीट्स में एक नए स्थान पर कोशिकाओं की एक श्रृंखला को स्थानांतरित करने के लिए:

1. उन कक्षों की श्रेणी का चयन करें जिन्हें आप स्थानांतरित करना चाहते हैं
। अपने माउस को चयन के किसी भी किनारे पर ले जाएं जब तक कि कर्सर हाथ में न आ जाए
3. अपनी कोशिकाओं को नए स्थान पर खींचें

यह वही करता है जो इसे करना चाहिए - यह उन्हें स्थानांतरित करता है - इसलिए सभी सेल जानकारी वैसी ही रहेगी जैसे वे अपने मूल स्थान पर थे।

ps। Google ने भी यहां यह निर्देश दिया है, लेकिन वे यह नहीं कहते कि आप किसी भी किनारे से खींच सकते हैं, बस ऊपर वाला, और इसीलिए मेरा निर्देश बेहतर है! :) इसके अलावा, यह नोट करना अच्छा है कि आपके द्वारा चुनी गई कोशिकाएं काम करने के लिए आसन्न होनी चाहिए।


बहुत अच्छी पकड़!
मैरीकामिटोस

उसी विधि का उल्लेख यहाँ भी किया गया है । फिर भी। यह एक बेहतर शोध और व्याख्या है।
मैरीकामिटोस

1

सेल कॉपी के बजाय फॉर्मूला की टेक्स्ट कॉपी करें: फॉर्मूला टेक्स्ट का चयन करने के लिए माउस का उपयोग करें और CTRL + C दबाएं। फिर गंतव्य फ़ील्ड चुनें और CTRL + V दबाएं। यह सूत्र को संरक्षित करता है


1
लेकिन आपको प्रत्येक सेल के लिए इसे दोहराना होगा .... क्या कई कोशिकाओं के माध्यम से टेक्स्ट कॉपी करने का कोई तरीका है?
पचेरियर

0

सबसे आसान तरीका सिर्फ उन सभी कोशिकाओं का चयन करना है जिन्हें आप स्थानांतरित करना चाहते हैं और जहां आप उन्हें चाहते हैं, वहां खींचें / छोड़ें। यदि आपके पास अन्य कक्षों में फ़ार्मुले हैं जो आपके द्वारा स्थानांतरित किए गए कक्षों के मूल स्थान पर वापस संदर्भित कर रहे हैं, तो संदर्भ फ़ार्मुलों आपके द्वारा स्थानांतरित किए गए कक्षों के नए स्थान पर स्वचालित रूप से अपडेट हो जाएंगे। उम्मीद है की यह मदद करेगा! (यह एक्सेल में काम करता है, लेकिन मैंने इसे केवल Google पत्रक में किया है)।


0
  1. माउस के साथ कोशिकाओं का चयन करें
  2. सह क्लिपबोर्ड की प्रतिलिपि बनाएँ
  3. समूह के किनारे पर कब्जा करने के माध्यम से अपने माउस के साथ चयनित कोशिकाओं को एक नए स्थान पर ले जाएं
  4. क्लिपबोर्ड से उस खाली जगह में पेस्ट करें, जहाँ से आप सब कुछ दूर ले गए थे

0

मैं तो बस खोजें और प्रतिस्थापित की सभी आवृत्तियों '=' के साथ '' सादे पाठ में सभी सूत्रों बनाने के लिए (या सूत्र के ज्यादा के रूप में मैं के रूप में मैं कर सकते हैं कॉपी करने के लिए कोशिश कर रहा हूँ)। मैं कोशिकाओं को कॉपी और पेस्ट करता हूं, फिर '=' वापस जोड़ता हूं ।

नोट: यह संभवतः विशाल चादरों के लिए काम नहीं करेगा, क्योंकि इसका अन्य कोशिकाओं को संपादित करके अनपेक्षित परिणाम हो सकता है, लेकिन यह आमतौर पर मेरे उद्देश्यों के लिए काम करता है।


0

यहाँ एक और विकल्प है:

  1. "सूत्र दिखाएं" मोड पर जाएं (दृश्य मेनू के तहत)
  2. इच्छित क्षेत्र की प्रतिलिपि बनाएँ
  3. कुछ बाहरी पाठ संपादक में पेस्ट करें
  4. कुछ परिवर्तन करें - एक जगह को जोड़ने के रूप में सरल हो सकता है
  5. बाह्य पाठ संपादक से सूत्र कॉपी करें
  6. शीट में लक्ष्य क्षेत्र में पेस्ट करें
  7. शो फॉर्मूले को बंद करें

हालांकि यह एक लंबी प्रक्रिया की तरह लगता है, व्यवहार में यह केवल कुछ प्रमुख स्ट्रोक है। इसके अलावा, मेरे सेटअप में चरण # 4 अनिवार्य है - इसके बिना शीट्स अभी भी कोशिकाओं के स्थानों को अपडेट करेगा जैसे कि यह एक सीधी कॉपी और पेस्ट हो। YMMV।


0

लक्ष्य कॉपी और पेस्ट INDIRECT()होने के बाद संदर्भों की निरपेक्ष स्थिति को संरक्षित करने के लिए महान कार्यों का उपयोग करना , लेकिन समस्या यह है कि सूत्र की प्रतिलिपि बनाते समय यह पूर्ण स्थिति को भी संरक्षित करता है, जिसका अर्थ है कि आप आसानी से एक बड़े को कवर करने के लिए सूत्र का विस्तार नहीं कर सकते हैं रेंज का उपयोग करते समय।

समाधान के INDIRECT()साथ संयोजन करना है ROW(), COLUMN()और ADDRESS()प्रोग्राम को सूत्र के सेल के आधार पर लक्ष्य सेल की स्थिति उत्पन्न करना है।

सबसे सरल मामले में, जैसे कि लक्ष्य सेल में एक निश्चित स्तंभ होता है और हमेशा सूत्र की तरह एक ही पंक्ति में रहता है, इस प्रकार किया जा सकता है:

INDIRECT("A"&ROW())

सूत्र कक्ष से डायनेमिक ऑफ़सेट्स लाने के लिए, आप उपयोग कर सकते हैं ADDRESS():

INDIRECT(ADDRESS(ROW()-1,COL()-4))

नीचे दिए गए स्क्रीनशॉट में, फॉर्मूले को B1:E1नीचे की 16 पंक्तियों तक बढ़ाया गया था, और फिर इन A7:A10सेल को नीचे काटकर चिपकाया गया था। जैसा कि आप देख सकते हैं, सरलतम सूत्र स्वचालित रूप से समायोजित और वंशानुगत थे, जबकि भोले का उपयोग INDIRECT()सभी पंक्तियों में ठीक से नहीं किया गया था, लेकिन दो सूत्र जो INDIRECT()पंक्ति और स्तंभ स्थानों के प्रोग्राम पुनर्प्राप्ति के साथ उपयोग करते हैं, उनके संदर्भ बनाए रखने में सक्षम थे:

प्रदर्शन चित्र


-1

F4जब कर्सर सेल या रेंज पर होता है, तो आप विभिन्न निरपेक्ष संदर्भ विकल्पों के माध्यम से साइकिल चलाने के लिए हिट कर सकते हैं । यह मैक और विंडोज पर काम करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.