कई मापदंड कॉलम द्वारा रैंकिंग


0

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

मैं अपने छात्रों को 2 मानदंडों से रैंक करने की कोशिश कर रहा हूं। पहले से RESULTऔर फिर POINT

उदाहरण में, परिणामी क्रम NUNU, NENE, NONO, NANA और NINI होना चाहिए।

यह को जोड़कर नहीं किया जा सकता RESULTऔर POINT। मैंने ऑनलाइन खोज की और वास्तव में समझ नहीं पाया कि रैंकिंग कैसे की जाए।

जवाबों:


2

मैं आपको विभिन्न दृष्टिकोणों के साथ समाधान सुझाना चाहता हूं:

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

सेल जे 2 (रैंक कर्नल) में यह सूत्र लिखें और इसे भरें, रैंक कॉलम द्वारा बढ़ते क्रम में डेटा को क्रमबद्ध करें:

=COUNTIF($G$2:$G$6,">"&G2)+1+SUMPRODUCT(--($G$2:$G$6=G2),--($H$2:$H$6>H2))

1

समाधान काफी सरल है:

वर्कशीट स्क्रीनशॉट

I2स्तंभ में निम्न सूत्र और ctrl-enter / copy-paste / fill-down दर्ज करें:

=G2*10^3+H2

ध्यान दें कि यह केवल सही ढंग से काम करेगा यदि POINTस्तंभ में अधिकतम अनुमत मूल्य 999 है।

बड़े मूल्यों के लिए, 10^3सूत्र में परिवर्तन करने की आवश्यकता है। उदाहरण के लिए, यदि अधिकतम स्वीकार्य मूल्य 9999 है तो 10^4आवश्यक है।


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

=G2*10^CEILING(LOG10(MAX($H$2:$H$6)),1)+H2

यदि आप "वास्तविक" रैंक चाहते हैं, तो दुर्भाग्य से RANK()फ़ंक्शन के साथ उपरोक्त सूत्रों का उपयोग करने का कोई तरीका नहीं है , क्योंकि यह केवल दूसरे तर्क के संदर्भों की अनुमति देता है, न कि सरणियों की। एक पूरी तरह से अलग सूत्र की आवश्यकता है:

वर्कशीट स्क्रीनशॉट

I2स्तंभ में निम्न सूत्र और ctrl-enter / copy-paste / fill-down दर्ज करें:

=1+SUMPRODUCT(($G$2:$G$6>G2)+($G$2:$G$6=G2)*($H$2:$H$6>H2))

एक समतुल्य सरणी दर्ज ( Ctrl+ Shift+ Enter) सूत्र है:

{=SUM(1,--($G$2:$G$6>G2),($G$2:$G$6=G2)*($H$2:$H$6>H2))}

बेशक, यदि आपकी आवश्यकता तालिका को क्रमबद्ध करने की है, तो सबसे आसान उपाय यह है कि आप एक मल्टी-कॉलम सॉर्ट करें:

वर्कशीट स्क्रीनशॉट


सब कुछ अच्छा है, आप बस इसे 5,4,1,2,2 कॉलम में प्रदर्शित कर सकते हैं और छात्र के नाम का क्रम नहीं चलता है। कारण यह है कि, शिक्षक द्वारा अंक भरने के बाद, रैंक सीधे दिखाई देती है, वर्तमान समय के लिए। (वे ऑनलाइन गूगल शीट भरेंगे, इस फॉर्मूले के साथ सही काम करने के बाद भी गूगल शीट राइट में खुली है?) रैंक वास्तव में, परीक्षा के लिए छात्र रैंक है। मुझे लगता है कि दोनों पहले सूत्र महान काम कर रहे हैं। मैं वास्तव में संख्या (जो उर सूत्र संयुक्त) का उपयोग करके RANK सूत्र का उपयोग कर सकता हूं लेकिन क्या इसके लिए कोई 1 चरण सूत्र है? आपके समय के लिए TQ इतना
क्लिफ

@ क्लिफ दुर्भाग्य से RANK()फ़ंक्शन के साथ उन फ़ार्मुलों को जोड़ना संभव नहीं है । मैंने स्पष्टीकरण, प्लस दो नए सूत्र जोड़े हैं जो उत्तर के लिए "उचित" रैंकिंग करते हैं। मुझे लगता है कि Google शीट्स में सूत्र काम करेंगे। एकमात्र मुद्दा यह है कि ARRAYFORMULA()सही ढंग से काम करने के लिए सरणी में दर्ज किए गए सूत्र को एक फ़ंक्शन के अंदर रखा जाना चाहिए ।
रोबिन्टेक

@ मुझे पता चला कि आप कैसे RESULTऔर POINTकॉलम मान पैदा कर रहे हैं ;-) मैं देखूंगा कि क्या मैं एक एकल सूत्र समाधान के साथ आ सकता हूं, इसलिए आपको उन दो कॉलमों की आवश्यकता नहीं है। मैं आपके पिछले प्रश्न के एक अलग उत्तर के रूप में समाधान पोस्ट करूँगा।
रॉबिनटेकस

हाय रॉबिनसीट्स, हाँ..मैं ए, बी, सी से परिणाम उत्पन्न करता हूं कि यू आपको उच्च रैंक पर अधिक ए के छात्र बनाने के लिए प्रदान करता है, फिर बिंदु के बाद, अंक अंकों का योग है। ryan 80 A 10 E, मार्क 70 B 70 B, Zack 20 E 90 A) .. रैंक zack होगी, ryan फिर मार्क। पहले अधिक A (RESULT), उसके बाद (POINT) (रियान को 90 और zack को 110 मिला, और अंतिम रूप से A के साथ निशान था, हालांकि बिंदु उच्च है)। उर दया वास्तव में मेरी मदद करो @robinCS। ऊपर मेरे उदाहरण में, मैं इसे सरल बनाने के लिए बिंदु बादल को छिपाता हूं। अगर आपको एकल सूत्र के लिए समय मिला, तो मैं अवाक हूं!
क्लिफ

0

इसलिए, अपने पिछले प्रश्न के साथ-साथ इस एक को देखते हुए, यह स्पष्ट हो जाता है कि आप A की संख्या के आधार पर छात्रों को रैंक करना चाहते हैं, फिर B की संख्या आदि के आधार पर और अंकों के योग के आधार पर उन रैंक को टाईब्रेक करना। प्रत्येक विषय के लिए।

इस बात को ध्यान में रखते हुए, यहाँ कोई सहायक स्तंभ सूत्र नहीं है:

वर्कशीट स्क्रीनशॉट

सरणी ( Ctrl+ Shift+ Enter) निम्न सूत्र को M5कॉपी करें और कॉपी-पेस्ट / भरें-डाउन कॉलम के बाकी हिस्सों में ( {और इसे हटाने के लिए मत भूलना }):

{=
SUM(
  1,
  --(
    MMULT(($B$5:$L$9="A")*6^2+($B$5:$L$9="B")*6^1+($B$5:$L$9="C")*6^0,--(0<ROW(INDEX(M:M,1):INDEX(M:M,COLUMNS($B$5:$L$9)))))
    >INDEX(MMULT(($B$5:$L$9="A")*6^2+($B$5:$L$9="B")*6^1+($B$5:$L$9="C")*6^0,--(0<ROW(INDEX(M:M,1):INDEX(M:M,COLUMNS($B$5:$L$9))))),1+ROW()-ROW($B$5:$L$9))
  ),
  (
    MMULT(($B$5:$L$9="A")*6^2+($B$5:$L$9="B")*6^1+($B$5:$L$9="C")*6^0,--(0<ROW(INDEX(M:M,1):INDEX(M:M,COLUMNS($B$5:$L$9)))))
    =INDEX(MMULT(($B$5:$L$9="A")*6^2+($B$5:$L$9="B")*6^1+($B$5:$L$9="C")*6^0,--(0<ROW(INDEX(M:M,1):INDEX(M:M,COLUMNS($B$5:$L$9))))),1+ROW()-ROW($B$5:$L$9))
  )
  *(
    MMULT(IFERROR(--$B$5:$L$9,0),--(0<ROW(INDEX(M:M,1):INDEX(M:M,COLUMNS($B$5:$L$9)))))
    >INDEX(MMULT(IFERROR(--$B$5:$L$9,0),--(0<ROW(INDEX(M:M,1):INDEX(M:M,COLUMNS($B$5:$L$9))))),1+ROW()-ROW($B$5:$L$9))
  )
)}

निम्नलिखित उपरोक्त सूत्र का समकक्ष न्यूनतम संस्करण है। मैं दृढ़ता से सलाह देता हूं कि इसका उपयोग करें , बल्कि इसके बजाय पहले से तैयार किए गए फॉर्मूला संस्करण का उपयोग करें। ऐसा करने से फार्मूला बहुत बनेगा, बनाए रखने में बहुत आसान होगा।

{=SUM(1,--(MMULT(($B$5:$L$9="A")*6^2+($B$5:$L$9="B")*6^1+($B$5:$L$9="C")*6^0,--(0<ROW(INDEX(M:M,1):INDEX(M:M,COLUMNS($B$5:$L$9)))))>INDEX(MMULT(($B$5:$L$9="A")*6^2+($B$5:$L$9="B")*6^1+($B$5:$L$9="C")*6^0,--(0<ROW(INDEX(M:M,1):INDEX(M:M,COLUMNS($B$5:$L$9))))),1+ROW()-ROW($B$5:$L$9))),(MMULT(($B$5:$L$9="A")*6^2+($B$5:$L$9="B")*6^1+($B$5:$L$9="C")*6^0,--(0<ROW(INDEX(M:M,1):INDEX(M:M,COLUMNS($B$5:$L$9)))))=INDEX(MMULT(($B$5:$L$9="A")*6^2+($B$5:$L$9="B")*6^1+($B$5:$L$9="C")*6^0,--(0<ROW(INDEX(M:M,1):INDEX(M:M,COLUMNS($B$5:$L$9))))),1+ROW()-ROW($B$5:$L$9)))*(MMULT(IFERROR(--$B$5:$L$9,0),--(0<ROW(INDEX(M:M,1):INDEX(M:M,COLUMNS($B$5:$L$9)))))>INDEX(MMULT(IFERROR(--$B$5:$L$9,0),--(0<ROW(INDEX(M:M,1):INDEX(M:M,COLUMNS($B$5:$L$9))))),1+ROW()-ROW($B$5:$L$9))))}

स्पष्टीकरण:

पहले से तय किए गए फॉर्मूले की संरचना को देखते हुए, यह स्पष्ट हो जाता है कि यह मूल रूप से मेरे पिछले उत्तर के अनुसार "उचित" रैंक सरणी-दर्ज फार्मूला है।

{=SUM(1,--($G$2:$G$6>G2),($G$2:$G$6=G2)*($H$2:$H$6>H2))}

एक हेल्पर के साथ RESULTऔर POINTहेल्पर कॉलम को रिप्लेस किया जा रहा है MMULT(…), और सिंगल सेल रेफरेंस को उन कॉलम में बदल दिया गया हैINDEX(MMULT(…),1+ROW()-ROW($B$5:$L$9))

यदि आप यह समझना चाहते हैं कि MMULT()फ़ंक्शन का उपयोग कैसे किया जाता है, तो आप मेरे प्रश्न के उत्तर में एक सरल उपयोग की जांच करके शुरू कर सकते हैं ।

यह काफी स्पष्ट होना चाहिए कि अधिक ग्रेड के लिए सूत्र को कैसे समायोजित किया जाए। उदाहरण के लिए, जोड़ने के लिए, दूसरों के अंत में Dसंलग्न करें +($B$5:$L$9="D")*6^0, और अन्य शक्तियों को बढ़ाएँ।

जैसा कि पिछले प्रश्न के उत्तर में उल्लेख किया गया है, यदि तालिका को अधिक विषयों के साथ विस्तारित किया गया 6है , तो इसे बढ़ाना होगा, इसलिए यह तालिका में नए विषयों की तुलना में कम से कम एक अधिक है।

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