एक सीमा में विभिन्न मूल्यों की संख्या कैसे गिना जाए?


32

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

कोई कार्य नहीं है =COUNTDISTINCT(A2:A100)इसलिए मैं इसके बजाय क्या कर सकता हूं? (एक्सेल 2003)

मैं ठीक इसी तरह के प्रश्न के उत्तर का उपयोग नहीं कर सकता क्योंकि मैं तालिका या फ़िल्टरिंग को संशोधित नहीं करना चाहता। मुझे वर्कशीट में एक अतिरिक्त की आवश्यकता है , एक संशोधन की नहीं ।

जवाबों:


31
=SUMPRODUCT((A2:A100 <> "")/COUNTIF(A2:A100,A2:A100 & ""))

एक सरणी सूत्र का उपयोग किए बिना इसे करेगा।


4
यह कैसे / क्यों काम करता है ???
RBarryYoung

4
@RBryryYoung, SUMPRODUCT एक होने के बिना एक ऐरे फ़ंक्शन की तरह काम करता है। हालांकि यह यहां के लिए उपयोग किए जा रहे कार्यों की तुलना में बहुत अधिक कर सकता है, यहां यह सिर्फ एक कॉलम के हर उदाहरण की जांच कर रहा है, और कॉलम में कितने पुनरावृत्तियों के आधार पर प्रत्येक अलग मूल्य के लिए स्केल किए गए मान के साथ आ रहा है। इसलिए अगर 'क' के दो उदाहरण हैं, तो इसे पाने के लिए 1/2 और 1/2 जोड़ेंगे। इसलिए हर अलग मूल्य के लिए, आप राशि में एक जोड़ देंगे।
लांस रॉबर्ट्स

1
यह वह हिस्सा है जिससे मुझे परेशानी हो रही है: " कॉलम में कितने पुनरावृत्तियों हैं, इसके आधार पर प्रत्येक अलग-अलग मूल्य के लिए एक स्केल किए गए मूल्य के साथ आ रहा है। " अगर मैं यह समझता हूं, तो SUMPRODUCT प्रभावी रूप से एक लूप को निष्पादित कर रहा है for each [i] in A2:A100 DO:{ sum += (([i]<>"")/COUNTIF(A2:A100,[i])) }, सही ? मैं एक छोटे से समझने के यह दोनों सशर्त और 2 COUNTIF पैरामीटर, लेकिन गणना करने में जानता है परेशानी हो रही हूँ नहीं 1 COUNTIF पैरामीटर? क्या यह DWIM- मैजिक MS द्वारा कहीं भी प्रलेखित / समझाया गया है? यह जानकर अच्छा लगेगा कि ये जानबूझकर कैसे लिखें।
RBarryYoung

1
हां, आपको यह मिल गया है, यह एक ऐसी सरणी को पुनरावृत्त करता है जो सामान्य रूप से एक मान होगा, इसके सभी मापदंडों को गुणा करना (जो इस मामले में सिर्फ 1 है), फिर पुनरावृत्तियों को जोड़ना। SUMPRODUCTs बहुत जटिल हो सकते हैं, लेकिन वे एक्सेल में सबसे उपयोगी कार्यों में से एक हैं, यह शाब्दिक चमत्कार कर सकता है।
लांस रॉबर्ट्स

4
यह विफल रहता है यदि इनपुट में रिक्त प्रविष्टियाँ हैं। यूट्यूब पर डेमो के रूप में आसान फिक्स यह है =SUMPRODUCT((A2:A100<>"")/COUNTIF(A2:A100,A2:A100&"")):। यह सुनिश्चित करता है कि COUNTIFकभी भी रिक्त लाइनों के लिए 0 वापस न आए, जिसके परिणामस्वरूप DIV/0त्रुटि होगी।
cfi

7

मुझे यहां एक समाधान मिला जो इसे हल करने के लिए एक अविश्वसनीय गोल चक्कर लगता है। लेकिन हे, यह काम करता है ...

= SUM (IF (COUNTIF (A2: A100, A2: A100) = 0, "", 1 / COUNTIF (A2: A100, A2: A100))

और फिर प्रेस Ctrl+ Shift+ Enter। केवल दबाने Enterसे गलत परिणाम मिलेगा।


मुझे अन्य उत्तर देखना अच्छा लगेगा! क्या इसे हल करने के लिए इससे बेहतर कोई तरीका है?
Torben Gundtofte-Bruun

1
नहींं, यह सबसे अच्छा तरीका है। मुझे यकीन नहीं है कि वहां एक आईएफ क्यों है। आप बस = SUM (1 / COUNTIF (A2: A100, A2: A100)) सरणी का उपयोग कर सकते हैं
dkusleika

2
@dkusleika आईएफ शून्य त्रुटि से एक विभाजन को रोकने के लिए होने लगता है। जैसा कि ऊपर दिए गए पृष्ठ से उल्लेख किया गया है, इस की आवश्यकता है यदि सीमा में रिक्त कोशिकाएँ हैं, अन्यथा आप IF को छोड़ सकते हैं।
बावी_एच


1

यह आलेख पाठ मानों के लिए यह दिखाता है:

=SUM(IF(FREQUENCY(IF(LEN(C3:C25)>0,MATCH(C3:C25,C3:C25,0),""), IF(LEN(C3:C25)>0,MATCH(C3:C25,C3:C25,0),""))>0,1))

और यह संख्यात्मक मानों के लिए:

=SUM(IF(FREQUENCY(C3:C25, C3:C25)>0,1))

यह आलेख समान फ़ार्मुलों को दिखाता है, लेकिन फ़िल्टर का उपयोग करके एक विधि भी दिखाता है।

फ़िल्टर का उपयोग करके अद्वितीय मानों की संख्या की गणना करें

आप डेटा के स्तंभ से अनन्य मान निकालने और उन्हें नए स्थान पर पेस्ट करने के लिए उन्नत फ़िल्टर का उपयोग कर सकते हैं। फिर आप नई रेंज में आइटमों की संख्या की गणना करने के लिए ROWS फ़ंक्शन का उपयोग कर सकते हैं।

  1. सुनिश्चित करें कि कॉलम में पहली पंक्ति में एक कॉलम हैडर है।
  2. डेटा मेनू पर, फ़िल्टर को इंगित करें और फिर उन्नत फ़िल्टर पर क्लिक करें।
  3. उन्नत फ़िल्टर संवाद बॉक्स में, किसी अन्य स्थान पर प्रतिलिपि बनाएँ पर क्लिक करें।
  4. यदि आप जिस श्रेणी की गणना कर रहे हैं, वह पहले से चयनित नहीं है, तो सूची श्रेणी बॉक्स में किसी भी जानकारी को हटा दें और फिर उस कॉलम पर क्लिक करें (या वह श्रेणी चुनें) जिसमें आपका डेटा हो।
  5. प्रतिलिपि में बॉक्स में, बॉक्स में किसी भी जानकारी को हटा दें या बॉक्स में क्लिक करें, और फिर एक खाली कॉलम पर क्लिक करें जहां आप अद्वितीय मानों को कॉपी करना चाहते हैं।
  6. केवल अनन्य रिकॉर्ड चेक बॉक्स का चयन करें, और ठीक क्लिक करें।

    चयनित श्रेणी से अनन्य मान नए कॉलम में कॉपी किए जाते हैं।

  7. रेंज में अंतिम सेल के नीचे रिक्त सेल में, ROWS फ़ंक्शन दर्ज करें। अद्वितीय मानों की श्रेणी का उपयोग करें जिन्हें आपने केवल तर्क के रूप में कॉपी किया है। उदाहरण के लिए, यदि अनन्य मानों की श्रेणी B1: B45 है, तो दर्ज करें:
    = ROWS (B1: B45)


1

= SUM (1 / COUNTIF (A2: A100, A2: A100))

Ctrl + Shift + Enter के साथ पुष्टि करें

प्रत्येक सेल के लिए, यह गणना करता है कि यह कितनी बार होता है, और इन सभी मूल्यों के व्युत्क्रमों को समेटता है। मान लें कि कुछ स्ट्रिंग या संख्या 5 बार आ गई है। इसका उलटा 0.2 है जो 5 बार सुन्न हो जाता है, इसलिए 1 जोड़ा जाता है। अंत में यह विभिन्न मूल्यों की संख्या देता है।

नोट: रिक्त स्थान होने पर काम नहीं करता है!


0

इस लिंक को आज़माएं। यह दिखाता है कि रिक्त कोशिकाओं को छोड़ने वाली सूची में अद्वितीय मूल्यों की गणना कैसे करें।

http://www.functioninexcel.com/lists-arrays/count-unique-values-in-a-list/

= योग (यदि (आवृत्ति (मैच, सूची, 0), मैच (सूची, सूची, 0))> 0, 1)

उदाहरण के लिए "लिस्ट" आपके सेल की सीमा कहां है:

सूची = $ A $ 2: $ A $ 12 OR- सूची = ऑफसेट ($ A $ 1 ,,, मैच (rept ("z", 255), $ A: $ A)) -OR- सूची = ऑफसेट ($ A $ 1) , मैच (मान (रेप (9 ", 255))), $ A: $ A))


0

= SUM (IF (आवृत्ति (IF (SUBTOTAL (3, ऑफसेट (A2: A100, पंक्ति (A2: A100) -ROW (A2), 0,1)), मैच ( "~" और A2: A100, A2: A100 और " ", 0)), पंक्ति (A2: A100) -ROW (A2) +1), 1))

इस सूत्र को चिपकाने के बाद CONTROL + SHIFT + ENTER को हिट करना सुनिश्चित करें। यह A2: A100 की सीमा के लिए है, तदनुसार रेंज समायोजित करें।

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