मेरी एक्सेल शीट में वाष्पशील फ़ंक्शन ढूंढना


1

मेरे पास एक बहुत बड़ी एक्सेल शीट है जो हमारे गोल्फ कम्पीटिशन पर नज़र रखती है। शीट को गति देने के लिए (अपने पुराने लैपटॉप पर उपयोग के लिए) मैं स्वचालित गणनाओं की संख्या को सीमित करने की कोशिश कर रहा हूं। जैसे यदि आप अंतिम छेद दर्ज करते हैं तो कुल स्कोर की गणना की जाती है।

हालांकि, मेरी तत्काल विंडो मुझे दिखाती है कि हर प्रविष्टि के बाद बहुत सारी गणना की गई है। कहीं न कहीं एक अस्थिर समारोह लगता है। मैंने अस्थिर होने के लिए ज्ञात सभी कार्यों को खोजा और प्रतिस्थापित किया है (मैं उपयोग करता था INDIRECT और OFFSET)। मैंने OFFSET के लिए अपनी सभी नामित श्रेणियों की जाँच की है (और इसे हटा दिया है)। मैंने सभी ROW और COLUMN फ़ंक्शन को भी बदल दिया है, भले ही MS का दावा है कि वे अस्थिर नहीं हैं।

फिर भी एक्सेल हर प्रविष्टि के बाद पूरी शीट को पुनर्गठित करता है, और मुझे स्रोत नहीं मिल सकता है।

मैं विंडोज 7 के तहत एक्सेल 2016 (डच संस्करण) का उपयोग करता हूं। मैं सरल गणनाओं के लिए यूडीएफ के एक जोड़े का उपयोग करता हूं (जो मुझे गणना के बारे में प्रतिक्रिया देता है)। यूडीएफ के लिए सभी डेटा को मापदंडों के रूप में पारित किया जाता है।

क्या शीट में अस्थिर गणनाओं के स्रोत को ट्रैक करने का कोई तरीका है?

मेरी चादर पर पाया जा सकता है http://www.wacgolf.nl/docs/WAC%202016.xlsm यह '25 -6 'शीट तक टेस्टस्कॉर से भर जाता है। उस शीट में किसी भी अंक को दर्ज करने पर, पूरी वर्कशीट पुनर्गणित हो जाती है।

मैंने calcChain.xml फ़ाइल को अलग कर दिया है, जिसमें गणना श्रृंखला होनी चाहिए। लेकिन मैं यह देखने में विफल हूं कि मेरी समस्या कहां से शुरू होती है। किसी भी सहायताको बहुत सराहा जाएगा।

calcChain.xml


1
क्या आप किसी रूप में स्प्रेडशीट साझा करने में सक्षम हैं?
Jonno

किसी प्रतियोगिता के परिणामों को ट्रैक करना संसाधनों की मांग नहीं करता है। मुझे डर है कि आप बड़े मुद्दों पर हैं, लेकिन जैसा कि जॉनो ने भी टिप्पणी की है, कोड को देखे बिना कुछ भी कहना मुश्किल है।
Máté Juhász

@ MátéJuhász आप सही हैं यह संसाधनों की मांग नहीं होनी चाहिए। लेकिन जैसा कि यह अब खड़ा है एक्सेल एक सेल में हर प्रविष्टि के बाद कार्यपुस्तिका में हर सेल पुनर्गणना करता है। मेरे लैपटॉप पर जिसे खत्म होने में एक सेकंड लगता है
Joost

आपके सशर्त प्रारूपण नियम क्या हैं? इसके अलावा आपके पास डेटा सत्यापन है - क्या यह एक सीमा पर निर्भर करता है? इसके अलावा, मैं किसी भी पत्रक पर कोई सूत्र नहीं देखता हूं?
Raystafarian

यह स्पष्ट रूप से एक मैक्रो-सक्षम वर्कशीट है, जिसमें कुछ फ़ंक्शन परिभाषित हैं। यदि आप कार्यपत्रक गणना में उन का उपयोग कर रहे हैं, तो यह वास्तव में धीमा हो सकता है। यदि संभव हो तो मैं उन लोगों को शुद्ध वर्कशीट कार्यों में बदल दूंगा।
benshepherd

जवाबों:


1

कुछ खोज के बाद मैंने निष्कर्ष निकाला कि यह मेरे यूडीएफ नहीं थे जो कि अस्थिर थे। यह फॉर्म में एक संदर्भ के रूप में निकला:

INDEX([named range],[row],[col])

अगर मैं उस संदर्भ को एक प्रत्यक्ष ([शीट]! [कॉल] [पंक्ति]) के साथ बदल देता हूं तो गणना रुक जाती है। चाहे वह INDEX फंक्शन हो या नाम की रेंज या फिर दोनों का कॉम्बिनेशन, मुझे नहीं पता। मैं नामांकित श्रेणियों का बहुत उपयोग करता हूं और नामित श्रेणियों के लिए बहुत सारे INDEX संदर्भों का उपयोग करता हूं। मैं उन सभी को यह पता लगाने के लिए प्रतिस्थापित नहीं कर सकता कि मामला क्या है। Btw, नामित सीमा एक निश्चित सीमा है। ऑफसेट () का उपयोग मेरी शीट में कहीं नहीं है।


0

मेरी टिप्पणी पर विस्तार करते हुए, आप अस्थिर कार्यों के बारे में बिल्कुल सही हैं। लेकिन वे अस्थिर कार्य आपके स्वयं के यूडीएफ हैं - एक्सेल यह नहीं जान सकता है कि वे अस्थिर हैं या नहीं, और इसलिए उन्हें हर बार जब आप कार्यपुस्तिका में कोई बदलाव करते हैं, तो उन्हें अस्थिर मानते हुए उन्हें व्यवहार में लाना होगा। और क्योंकि VBA कार्यपत्रक कार्यों के सापेक्ष धीमा है, जो वास्तव में आपकी गणना को धीमा कर देगा।

यदि संभव हो तो अपने UDF को कार्यपत्रक कार्यों से बदलने का प्रयास करें। आपको प्रदर्शन में भारी सुधार दिखाई देगा।

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