2013-08-06 6 views
9

की संख्या के साथ Values पर कॉलम है, फिर सबसे सामान्य मान और उस मान की घटनाओं की संख्या (उदाहरण के लिए Strings) के नीचे दिखाएं। यहां एक उदाहरण दिया गया है।सबसे आम मूल्य और स्प्रेडशीट में उस मान की घटनाओं की संख्या को आउटपुट कैसे करें?

+--------+ 
| Values | 
+--------+ 
| AA | 
+--------+ 
| BB | 
+--------+ 
| AA | 
+--------+ 
| AA | 
+--------+ 
| GG | 
+--------+ 
| DD | 
+--------+ 
| DD | 
+--------+ 
|  | 
+-----------------+--------+ 
| Most Common | AA | 
+-----------------+--------+ 
| Number of times | 03 | 
+-----------------+--------+ 

यह Google स्प्रेडशीट में किया जाएगा! कोई सुझाव?

+2

एफवाईआई: सेट में सबसे आम मूल्य को सेट का "मोड" कहा जाता है। (http://en.wikipedia.org/wiki/Mode_(statistics)) – RBarryYoung

उत्तर

20

अपने विशिष्ट उदाहरण के लिए, इसे कॉलम ए होना चाहिए, इसलिए आपके पास ए 1 = 'एए', ए 2 = 'बीबी', ..., ए 7 = 'डीडी' है।

बार अधिकतम तत्व होता है की संख्या को खोजने के लिए, हम,, प्रत्येक अद्वितीय तत्व गिनती, तो अधिकतम गिनती लौटने के लिए तो एक सेल में सूत्र

=MAX(COUNTIF(A1:A7,A1:A7)) 

यह एक सरणी सूत्र का उपयोग करें चाहते हैं तो एक्सेल में आपको इसका उपयोग करने के लिए Ctrl + Shift + Enter दबा देना होगा। गूगल स्प्रेडशीट में उपयोग करने के लिए, ARRAYFORMULA साथ उस पर घेरा तो यह

=ARRAYFORMULA(MAX(COUNTIF(A1:A7,A1:A7))) 

स्पष्टीकरण हो जाता है: अंदर COUNTIF के ए 1 कोशिकाओं में गिना जाता है: ए 7, अगर वे में A1 प्रत्येक मूल्य के बराबर हैं: ए 7, और उन्हें एक में डालता है सूची। अधिकतम उस सूची में अधिकतम मान देता है।

अब, वास्तविक तत्व प्राप्त करने के लिए, हमारे पास एक और ARRAY सूत्र है। हम मूल्य को समझने के लिए एक इंडेक्स/मैच लुकअप कर सकते हैं, इसलिए फ़ंक्शन के अंदर, अधिकतम मूल्य को सबसे बड़ी गिनती के साथ पाता है, फिर मूल सूची

में मान ढूंढने के लिए एक इंडेक्स + मैच फ़ंक्शन में पास हो जाता है
=INDEX(A1:A7,MATCH(MAX(COUNTIF(A1:A7,A1:A7)),COUNTIF(A1:A7,A1:A7),0)) 
गूगल स्प्रेडशीट

=ARRAYFORMULA(INDEX(A1:A7,MATCH(MAX(COUNTIF(A1:A7,A1:A7)),COUNTIF(A1:A7,A1:A7),0))) 

आप A1 के प्रत्येक उदाहरण की जगह के लिए

और इतने: अपने डेटा की वास्तविक सीमा के साथ ए 7।

इस पोस्ट में मददगार था: http://www.mrexcel.com/forum/excel-questions/34530-mode-text-strings.html

+0

एक्सेलेंट मैन! Google स्प्रेडशीट में काम करने के लिए यह वही है जो मैं खोज रहा था, यह आपके सूत्रों को ARRAYFORMULA() के साथ बस इतना आसान है और 'INDEX' और' MAX' – ricardocaldeira

+1

के '=' char को खींचें एक बार यह निर्धारित करने के बाद एए (कहना है बी 8 में), '= COUNTIF (ए 1: ए 7, बी 8) 'कई बार के लिए आसान है। – pnuts

+0

क्या उन्होंने Google स्प्रेडशीट्स को बदल दिया है? यह समाधान मेरे लिए काम नहीं कर रहा है – riddleculous

0

आप एक स्ट्रिंग और एक काउंटर के साथ एक नक्शा बना सकते हैं और स्ट्रिंग के प्रत्येक घटना पर काउंटर बढ़ाने के सकता है। , तो आप चाहिए पाश सबसे बड़ी संख्या खोजने के लिए इस के बाद

Dictionary<string, int> _map; 

foreach(cell in sheet.cells) 
{ 
    if(_map.contains(cell.value) == FALSE) 
    { 
     _map.add(cell.value) 
    { 
    _map.item(cell.value) += 1 // increment number of occurrences 
} 

उसके संबंधित स्ट्रिंग की दुकान और के साथ जुड़े नंबर मिल: निम्नलिखित sudocode की तरह घटनाओं की संख्या गिनती करने के लिए काम करना चाहिए मैं जावा स्क्रिप्ट लेकिन कुछ पता नहीं है सबसे बड़ी संख्या की स्ट्रिंग।

0

यह Google स्प्रेडशीट में काम करने के लिए उपर्युक्त काम नहीं करता है, इसके बजाय रेंज त्रुटि से बाहर लौट रहा है। मुझे स्वरूपण को थोड़ा संशोधित करना पड़ा। यह वही काम किया है;

=index(G14:ZZ14;;(MATCH(MAX(COUNTIF(G14:ZZ14,G14:ZZ14)),COUNTIF(G14:ZZ14,G14:ZZ14),0))) 

अपनी सीमा के साथ G14: ZZ14 के 5 संदर्भों को बदलें।

+1

के लिए 2 अर्धविराम क्या हैं? – chiliNUT

संबंधित मुद्दे