जाँचें कि क्या एक्सेल सेल टेक्स्ट केवल सूत्र का उपयोग करके संख्यात्मक है


13

मुझे यह पता लगाना होगा कि क्या मेरे कक्षों का पाठ एक संख्यात्मक मान है और एक सुरुचिपूर्ण गैर VBA विधि का उपयोग करना चाहता है जो कि इसकी वर्तमान स्थिति या मान पर लागू नहीं होता है।

मैंने पाया है कि ISNUMBER()फ़ंक्शन केवल तभी काम करता है जब सेल नंबर फ़ॉर्मेटिंग होते हैं या पाठ स्वरूपण जैसे अगर कोई स्थान नहीं है :

पाठ उदाहरण के रूप में संख्या

पहले तीन के लिए मैंने प्रयोग किया है =ISNUMBER(...)और मेरा आखिरी प्रयास है =ISNUMBER(TRIM(...))

एकमात्र तरीका जो मैंने उपयोग किया है वह वीबीए का उपयोग नहीं करता है मेरे वर्तमान मानों को पाठ का उपयोग करके कॉलम पर फिर से उपयोग करना =ISNUMBER()है।

नोट: मैं VBA और एक्सेल के साथ कुशल हूं और समझता हूं कि मैं एक उपयोगकर्ता-परिभाषित फ़ंक्शन बना सकता हूं। लेकिन मैं नहीं चाहता कि यह एक स्थूल आवश्यक कार्यपुस्तिका या एक ऐड-इन स्थापित किया जाए, जिसे मैं कुछ मामलों में कर सकता हूं।

मैं किसी भी सलाह, विचारों की सराहना करूंगा (भले ही वे मुझे बताएं कि यह नहीं किया जा सकता है) या वीबीए समाधान (हालांकि उत्तर के रूप में चिह्नित नहीं किया जाएगा)।


4
FWIW का एक विकल्प ISNUMBERशायद ही कभी इस्तेमाल किया जाता है N। कुछ इस तरह=NOT(ISERR(N(--A1)))
brettdj

1
इसके लिए @brettdj धन्यवाद! एक ऐसे उत्तर के लिए जो कम से कम संख्या में चार्टर्स का उपयोग करता है और अब मुझे मिला त्वरित और गंदा है =N(-A1)। पता नहीं था कि या तो अस्तित्व में है।
glh

सेल संदर्भ के सामने हाइफ़न का क्या उद्देश्य है? और क्यों आप प्रत्येक के पास अलग-अलग संख्या में हाइफ़न हैं?
youcantryreachingme

जवाबों:


30

सेल मान को 1 से गुणा करने का प्रयास करें, और फिर चल रहा है IsNumberऔर Trimफ़ंक्शंस, जैसे:

=IsNumber(Trim(A1)*1)


2
गति के लिए +1 और एक अच्छा अन्वेषक। यह बेकार है जब चीजें आपके चेहरे में सही होती हैं, लेकिन आप उन्हें नहीं देख सकते हैं!
glh

1
इसके अलावा मुझे पता चला है कि आप भी उपयोग करने की जरूरत नहीं है trim। मेरा अभिवादन।
glh

2
@ कभी-कभी यह सिर्फ आंखों के दूसरे सेट को देखने के लिए ले जाता है कि हां के सामने क्या सही है। :)
डेविड जेमेन्स

5

मान को परिवर्तित करना चाहते हैं A1 में है आप निम्न सूत्र का उपयोग कर सकते हैं:

=ISNUMBER(VALUE(TRIM(CLEAN(A1)))

यहां फंक्शंस क्लीन एंड ट्रिम व्हाट्सएप को हटा रहे हैं और प्रिंट करने योग्य पात्र नहीं हैं। फ़ंक्शन मान एक स्ट्रिंग को संख्या में परिवर्तित करता है, और परिवर्तित स्ट्रिंग के साथ हम जांच सकते हैं कि क्या मान एक संख्या है।


3
+1। एक त्वरित और गंदे के =VALUE(A1)रूप में मुझे पसंद है क्योंकि मेरे डेटा की आवश्यकता नहीं होगी CLEAN()। मुझे पता नहीं था कि VALUE()फंक्शन मौजूद है। बस नोट करने के लिए TRIM()रिक्त स्थान के रूप में वैसे भी नजरअंदाज नहीं किया जाता है।
glh

3

मेरे सवाल का सबसे छोटा जवाब है:

=N(-A1)

धन्यवाद brettdj


2

मुझे पता है कि यह पोस्ट पुरानी है, लेकिन मुझे यह बहुत उपयोगी लगा, इस मामले में मेरे पास एक फॉर्मूला था जो लौटा (333) था, भले ही यह एक संख्या हो और ISNUMBER यह कहेगा कि यह एक संख्या है, भले ही मुझे इसका जवाब नहीं चाहिए था अंकों के अलावा अन्य वर्ण। निम्नलिखित ने मेरे लिए काम किया।

=IF(AND(ISNUMBER(--(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)))),"Is Number","")

यह काम करता है अगर अंकों के अलावा कोई वर्ण है। यदि आप एक सही गलत आईएफ छोड़ना चाहते हैं

=AND(ISNUMBER(--(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))))

जैसा कि डेविड ज़ेमेंस ने कहा है

=IsNumber(Trim(A1)*1)

काम करता है लेकिन अगर "-" है या संख्या कोष्ठक में है तो यह कहेगा कि यह एक संख्या है।

मुझे उम्मीद है कि यह आपकी या दूसरों की मदद करेगा।


0

अगर किसी को ऐसी कोशिकाओं को फ़िल्टर करने की आवश्यकता होती है, जिसमें ऐसा कुछ भी हो, जो संख्यात्मक न हो:

=AND(SUMPRODUCT(--ISNUMBER(--MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)))=LEN(A1),A1<>"")

दशमलव और नकारात्मक परिणाम FALSE

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