मैं एक्सेल सूत्र में निम्नलिखित स्ट्रिंग का निर्माण कैसे कर सकता हूं:
मौरिस "द रॉकेट" रिचर्ड
यदि मैं एकल उद्धरणों का उपयोग कर रहा हूं, तो यह तुच्छ है = "Maurice 'The Rocket' Richard"
लेकिन दोहरे उद्धरण चिह्नों के बारे में क्या?
मैं एक्सेल सूत्र में निम्नलिखित स्ट्रिंग का निर्माण कैसे कर सकता हूं:
मौरिस "द रॉकेट" रिचर्ड
यदि मैं एकल उद्धरणों का उपयोग कर रहा हूं, तो यह तुच्छ है = "Maurice 'The Rocket' Richard"
लेकिन दोहरे उद्धरण चिह्नों के बारे में क्या?
जवाबों:
वैकल्पिक रूप से, आप CHAR
फ़ंक्शन का उपयोग कर सकते हैं :
= "Maurice " & CHAR(34) & "Rocket" & CHAR(34) & " Richard"
&
एम्परसेंड डबल-डबल-कोट विधि का उपयोग करने से पहले या उसके ठीक बाद एक दोहरे उद्धरण के साथ उपयोग कर रहा है ।
तीन दोहरे उद्धरण: " " " x " " "
= "x"
एक्सेल एक दोहरे उद्धरण में बदल जाएगा। उदाहरण के लिए:
=CONCATENATE("""x"""," hi")
= "x" हाय
मैं इसके लिए एक फ़ंक्शन का उपयोग करता हूं (यदि कार्यपुस्तिका में पहले से ही VBA है)।
Function Quote(inputText As String) As String
Quote = Chr(34) & inputText & Chr(34)
End Function
यह सू मोजर की पुस्तक "माइक्रोसॉफ्ट आउटलुक प्रोग्रामिंग" से है। तब आपका सूत्र होगा:
="Maurice "&Quote("Rocket")&" Richard"
यह डेव ड्यूप्लांटिस द्वारा पोस्ट किए गए समान है ।
क्या यह मैक्रो का उपयोग करने के लिए काम करेगा .Formula = "=THEFORMULAFUNCTION("STUFF")"
इसलिए यह इस प्रकार होगा: क्या यह मैक्रो का उपयोग करने के लिए काम करेगा.Formula = "=THEFORMULAFUNCTION(CHAR(34) & STUFF & CHAR(34))"
रिक्त या शून्य-लंबाई वाली स्ट्रिंग (जैसे ""
) सेल को खाली दिखाने के लिए लौटना कार्यपत्रक सूत्र में एक सामान्य अभ्यास है, लेकिन उस विकल्प को फिर से बनाना जब Range.Formula या Range.FormulaR1C1 के माध्यम से सूत्र सम्मिलित करना VBA में गुणहीन है एक उद्धृत स्ट्रिंग के भीतर दोहरे-उद्धरण वर्णों को डबल-अप करने की आवश्यकता।
वर्कशीट का मूल पाठ फ़ंक्शन बिना उद्धरणों का उपयोग किए एक ही परिणाम उत्पन्न कर सकता है।
'formula to insert into C1 - =IF(A1<>"", B1, "")
range("C1").formula = "=IF(A1<>"""", B1, """")" '<~quote chars doubled up
range("C1").formula = "=IF(A1<>TEXT(,), B1, TEXT(,))" '<~with TEXT(,) instead
मेरी आँख के लिए, ऊपर के समान एक सरल सूत्र को भी साफ करने के TEXT(,)
स्थान पर उपयोग करना ""
। जब एक के लिए एक खाली स्ट्रिंग जोड़कर के अभ्यास की तरह अधिक जटिल फार्मूले में इस्तेमाल लाभ तेजी से महत्वपूर्ण हो जाते हैं VLOOKUP सेल करने के लिए एक शून्य लौटने से बचने के लिए जब एक खाली में या के साथ कोई मैचों पर कोई रिक्त स्ट्रिंग लौटने एक लुकअप परिणाम IFERROR ।
'formula to insert into D1 - =IFERROR(VLOOKUP(A1, B:C, 2, FALSE)&"", "")
range("D1").formula = "=IFERROR(VLOOKUP(A1, B:C, 2, FALSE)&"""", """")"
range("D1").formula = "=IFERROR(VLOOKUP(A1, B:C, 2, FALSE)&TEXT(,), TEXT(,))"
खाली स्ट्रिंग देने TEXT(,)
की पुरानी ""
पद्धति को बदलने के साथ , आपको यह निर्धारित करने के लिए एक एबेकस का उपयोग बंद करना पड़ सकता है कि क्या आपके पास सूत्र स्ट्रिंग में उद्धरण वर्णों की सही संख्या है।
VBA फ़ंक्शन
1) .Formula = "=" "THEFORMULAFUNCTION" "और (CHAR (34) और" "STUFF" "और CHAR (34))"
2) .Formula = "THEFORMULAFUNCTION" "STUFF" ""
पहली विधि एक सेल में सूत्र लिखने के लिए vba का उपयोग करती है जिसके परिणामस्वरूप परिकलित मूल्य होता है:
THEFORMULAFUNCTION "STUFF"
दूसरी विधि सेल में एक स्ट्रिंग लिखने के लिए vba का उपयोग करती है जिसके परिणामस्वरूप मूल्य होता है:
THEFORMULAFUNCTION "STUFF"
एक्सेल रिजल्ट / फॉर्मूला
1) = "THEFORMULAFUNCTION" और (CHAR (34) और "STUFF" और CHAR (34))
2) प्रदर्शन "STUFF"
="Maurice "&"""TheRocker"""&" Richard"
एक और तरीका है, हालांकि "एक्सेल फॉर्मूले में मैं निम्नलिखित स्ट्रिंग का निर्माण कैसे कर सकता हूं:" मॉरिस "द रॉकेट" रिचर्ड "" एक्सेल फॉर्मूले में डबल कोट्स वाले स्ट्रिंग्स कैसे बनाएं? ", जो कि बस उपयोग करना है। दो एकल उद्धरण:
बाईं ओर केलिबरी को एक्सेल वर्कशीट से और दाईं ओर एक VBA विंडो से स्निप किया गया है। मेरे विचार में @YonahW द्वारा बताए गए बचने के लिए 'हाथ नीचे करना' जीतता है, लेकिन दो एकल उद्धरण दो डबल्स से अधिक टाइपिंग नहीं है और VBA में अतिरिक्त कीस्ट्रोक्स के बिना अंतर स्पष्ट रूप से स्पष्ट है, जबकि संभवतः, एक स्प्रेडशीट में ध्यान देने योग्य नहीं है।
""
शायद इससे ज्यादा लगातार काम करता है क्योंकि यह मैक एक्सेल 2011 है