Google स्प्रैडशीट के लिए एक "Formula "सूत्र की तलाश है


13

क्या कोई फ़ंक्शन है जो बताएगा कि क्या एक विशिष्ट सेल में एक सादा (मैन्युअल रूप से दर्ज किया गया) मूल्य है या कोई सूत्र है?

जवाबों:


5

इस छोटे से स्निपेट के साथ आप ऐसा कर सकते हैं।

कोड

function isFormula(startcol, startrow) {
  // prepare string
  var str = String.fromCharCode(64 + startcol) + startrow;

  // retrieve formula
  var fCell = SpreadsheetApp.getActiveSpreadsheet()
    .getRange(str).getFormula();

  // return false if empty else true 
  return fCell ? true : false;
}

प्रयोग

यहाँ छवि विवरण दर्ज करें

में इस सवाल का जवाब , टॉम हॉरवुड उद्धरण के उपयोग को दरकिनार करने का रास्ता मिल गया।

उदाहरण

उपकरण> स्क्रिप्ट संपादक के तहत स्क्रिप्ट जोड़ें और प्रमाणीकरण को सक्रिय करने के लिए बग बटन दबाएं।

मैंने आपके लिए एक उदाहरण फ़ाइल बनाई है: फॉर्मूला की जाँच करें


मैं भटक रहा था ... आपका कार्य वास्तव में एक स्ट्रिंग हो रहा है जो एक सेल का पता है isFormula2("A1")। इसलिए मैंने इस तरह का एक नया संस्करण बनाने की कोशिश की: function isFormula2(cell) { return (cell.getFormula())!=""; } और मुझे उम्मीद थी कि इसका उपयोग करके कॉल करने योग्य होगा, isFormula2(A1)लेकिन यह काम नहीं करता है और जब इसे डीबग करने की कोशिश की जाती है तो यह cellअपरिभाषित के रूप में दिखाता है ... किसी भी विचार यह क्यों है और अगर चीजें हो सकती हैं बदले तो यह के f(A1)बजाय के साथ काम करेंगे f("A1")?
epeleg

@epeleg मेरा संशोधित उत्तर देखें।
जैकब जान तुइस्ट्रा

:) इसलिए आपने इसे बदल दिया ताकि पता मिलने के बजाय अब यह एक कॉलम और पंक्ति हो। यहाँ कोई वाक्यविन्यास ऐसा नहीं है कि कॉल बस होगा isFormula(a1)? (एमएस एक्सेल में यह एक ऐसा फंक्शन होगा जो एक रेंज पैरामीटर प्राप्त करता है)
epeleg

@epeleg निकटतम isFormula_1 ("A2: A2") है , मेरी उदाहरण फ़ाइल देखें। कस्टम फ़ंक्शंस उस तरह से काम करते हैं। उद्धरण के बिना, आपको मूल्य मिलेगा। उद्धरण के साथ स्ट्रिंग, कि इस तरह के रूप में इस्तेमाल किया जा सकता है, लेकिन कॉपी / चिपकाया नहीं जा सकता। COLUMN और ROW समाधान केवल एक काम-का-दौर (अनिवार्य रूप से) है।
जैकब जान तुइस्ट्रा

यदि आप इसे isFormula (a1: a1) के साथ कहते हैं, तो एक कस्टम फंक्शन क्या होगा? और इसफॉर्मूला (ए 1: बी 2) के बारे में क्या?
एपलेक

9

संक्षिप्त जवाब

ISFORMULA () अंतर्निहित फ़ंक्शन का उपयोग करें ।

पृष्ठभूमि और स्पष्टीकरण

मुझे लगता है कि मैंने अभी-अभी नए Google पत्रक में एक अनिर्दिष्ट फॉर्मूला खोजा है। @Pnuts CELLसूत्र काम नहीं कर रहा था (आंशिक रूप से क्योंकि यह केवल नए Google पत्रक में उपलब्ध है), इसलिए मैंने कोड को एक नई Google शीट में कॉपी किया। मुझे (कस्टम) सूत्र बताते हुए एक त्रुटि हुई, केवल एक तर्क और दो नहीं:
यहाँ छवि विवरण दर्ज करें

isFormulaकिसी और चीज़ में नाम बदलना , जिसके परिणामस्वरूप एक कार्य कस्टम फ़ंक्शन होता है। यह मामला होने के बाद, मैंने अभी तक एक और Google शीट बनाई और isFormulaसूत्र का उपयोग किया । सूत्र स्वत: पूर्ण में प्रकट नहीं होता है, लेकिन यह काम कर रहा है:
यहाँ छवि विवरण दर्ज करें

इसलिए, यदि सूत्र नए Google पत्रक में उपलब्ध है, तो यह सबसे अच्छा उत्तर होगा:

सूत्र

=isFormula(A1)

ध्यान दें

केवल नए Google पत्रक में उपलब्ध है। मैंने नए फॉर्मूले की पुष्टि करने के लिए कुछ अन्य लोगों से पूछा है और इसकी पुष्टि की है। जैसा कि यह अनिर्दिष्ट है, इसका कार्यान्वयन अनिश्चित है और यह गायब हो सकता है। ARRAYFORMULAजब इस नए फार्मूले के साथ इस्तेमाल किया काम नहीं करता।

उदाहरण

मैंने आपके लिए एक उदाहरण फ़ाइल बनाई है : Formula


अच्छा। ऐसा लगता है कि Google मेरी सिफारिश को अपना रहा है :) लेकिन मैं "नए Google शीट्स" पर कैसे स्विच करूं?
एपले

दिलचस्प। यह मेरे gmail खाते के लिए काम करता है, लेकिन मेरे Google ऐप्स खाते में नहीं ...
epeleg

2
ISFORMULA () अब प्रलेखित है। देखें support.google.com/docs/answer/6270316?hl=en
रुबेन

2

ऐसा लगता है कि ISFORMULA()Google से एक छिपा हुआ फ़ंक्शन है। मुझे एहसास हुआ कि जब मैंने अपना स्वयं का फ़ंक्शन हटा दिया था और अभी भी काम कर रहा था। मैंने इसे एक नई स्प्रेडशीट में आज़माया और अभी भी काम करता है। कोई कैश समस्या नहीं।

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