शीर्ष 3 पंक्तियाँ प्राप्त करना जहाँ सेल वैल्यू से अधिक है


1

पंक्ति के भीतर मूल्य के आधार पर डेटा की एक पंक्ति प्राप्त करने के साथ संघर्ष। मेरा डेटा इस तरह संरचित है:

ID  Name   Score  Owner
1   Item1  94%    MD
2   Item2  24%    OM
3   Item3  55%    TM
4   Item4  76%    MD
5   Item5  12%    OM

मैं जो हासिल करना चाहता हूं वह नाम, और मालिक को खींचने में सक्षम होना है जहां स्कोर 65% (या किसी अन्य संख्या) से अधिक है।

मैं वर्तमान में कॉलम संदर्भ का उपयोग करता हूं, मेरी तालिका को "टेबल 2" कहा जाता है, उदाहरण के लिए। तालिका 2 [नाम], और इसके आगे।

INDEX और MATCH का उपयोग करने की कोशिश की है, लेकिन अभी मेरे लिए काम नहीं करना चाहता है, VLOOKUP की भी कोशिश की है, लेकिन फिर से सिर्फ काम करने के लिए प्रतीत नहीं होता है।

कुछ सूत्र मैं कोशिश कर रहा हूं और जो मैं चाहता हूं उसे प्राप्त करने के लिए समायोजित कर रहा हूं:

=INDEX(Table2,MATCH(0.32,Table2[Score],-1),0)

=IF(K5="","",INDEX(Table2[Name],Table2[Score]=L5))
$K = 1 to 3 (5=1 in the above), L5 = the score I am looking for.

कोई भी मार्गदर्शन वास्तव में मददगार होगा, जो चुनौती मुझे ज्यादातर इंटरनेट से उदाहरण के साथ मिली है वह यह है कि वे "$ A $ 1: $ A $ 19" इत्यादि का उपयोग करते हैं और जब मैं नामित सीमा के लिए इनका विकल्प देता हूं तो सूत्र काम नहीं करता है।


1
ठीक है ... तो जैसा कि मैंने अपना जवाब लिखा था मैं ऊपर दिए गए उदाहरणों में से एक पर वापस गया और इसे क्रैक करने का प्रयास किया। ताजा आँखों से इसे देखने के कारण लगता है कि सभी अंतर हैं।
8 अक्टूबर को copyandpaster

1
एक उत्तर के रूप में अपने समाधान को पोस्ट करने के बारे में कैसे। जो एक समान समस्या से दूसरों की मदद करेगा।
फिक्सर 1234

इसे लिखने की प्रक्रिया में था :) उत्तर अब पोस्ट किया गया।
copyandpaster

जवाबों:


2

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

यह काम किस प्रकार करता है:

  • सेल में इस सरणी सूत्र लिखें A10के साथ खत्म, Ctrl+Shift+Enter, इसे भरने का अधिकार तो नीचे

      {=IFERROR(INDEX($B$2:$D$6, SMALL(IF((INDEX($B$2:$D$6, , $B$8)>$A$8), MATCH(ROW($B$2:$D$6), ROW($B$2:$D$6)), ""), ROWS(B2:$B$2)), COLUMNS($A$1:A1)),"")}
    

ध्यान दें:

  • यह केवल 2 रिकॉर्ड निकालेगा क्योंकि स्कोर 65% से अधिक है।

  • सेल A8में मानदंड 65% है और B8स्तंभ स्थिति 2(स्कोर स्तंभ) है।

  • आवश्यकतानुसार सूत्र में सेल संदर्भ समायोजित करें।

संपादित:

INDEX($B$2:$D$6, , $B$8), बन जाता है

INDEX($B$2:$D$6, , 2)

और लौटता है C2:C6

C2:C6 $ A $ 8 (जो इस उदाहरण में 65% है) से तुलना की जाती है।

MATCH(ROW($B$2:$D$6), ROW($B$2:$D$6)), "")

हो जाता है ,, {1;2;3;4;5}, "")

पर यदि परीक्षण के साथ संयोजन में C2:C6के लिए >$A$8, पंक्तियाँ देता है,

{1;"";"";"";4;""}से Name Column

अंत में फॉर्मूला राइट को ड्रैग करें फिर डाउन डेटा निष्कर्षण को पूरा करता है।


@ fixer1234, अब मैंने पोस्ट संपादित कर ली है और खोज के पीछे के तंत्र का वर्णन करता हूं।
राजेश एस।

@ fixer1234, {1; 2; 3; 4; 5}, "" पंक्ति संख्याएँ हैं, नाम कॉलम से सूत्र रिटर्न और यह स्कोर कॉलम C2 में मेल खाता है: A6 (65%) के लिए C6, मैच पंक्ति 1 के रूप में रिटर्न ; ""; "", 4, ""} का अर्थ है रो 1 और 4 से रिटर्न वैल्यू केवल तभी से जब दोनों का स्कोर> 65% है।
राजेश एस।

1

मुझे लगता है कि मैंने अपने प्रश्न का उत्तर दिया है, जब मैंने अपना प्रश्न लिखा तो मैंने एक फॉर्मूला देखा जो मुझे https://people.highline.edu/mgirvin/excelisfun.htm से मिला है, विशेष रूप से EMT967.xlsx पर जो यहाँ समझाया गया है : https: //www.youtube.com/watch?v=rKDI-kdBsjY और http://www.get-digital-help.com/2009/09/28/extract-all-rows-from-a-range- से एक और उस बैठक-मापदंड-में-एक-स्तंभ-में-एक्सेल / । इन 2 उदाहरणों का उपयोग करके मैं INDEX और MATCH के संयोजन का उपयोग करके आवश्यक सूत्र बनाने में कामयाब रहा।

यहाँ स्पष्टता के लिए मैं वर्तमान में कुछ कोशिकाओं में है:

W4

=LARGE(Table2[Score],3)

W5

3

K5 (K8 के लिए 3 कोशिकाओं को कॉपी किया गया)

=IF(ROWS(K$5:K5)>$W$5,"",ROWS(K$5:K5))

L5 (L8 के लिए 3 कोशिकाओं को कॉपी किया गया)

=IF(K5="","",LARGE(Table2[Score],K5))

M5 (M8 के लिए 3 कोशिकाओं को कॉपी किया गया)

=IF(K5="","",INDEX(Table2[Name],MATCH(L5,Table2[Score],0)))

अगर मैं सेल W5 को किसी और चीज़ में बदलता हूं, जैसे कि 1 शीट में मेरे डेटा सेट से केवल उच्चतम स्कोरिंग आइटम दिखाई देता है, तो 2 में 2 दिखाए जाएंगे, और इसी तरह। यदि आप 3 से अधिक कॉपी K5, L5 और M5 को अधिक सेल चाहते हैं, और फिर सूत्र की पंक्तियों की मात्रा को भरने के लिए W5 में संख्या बदलें।

मुझे आशा है कि यह किसी और की मदद करता है, मैंने शर्मनाक तरीके से इसे सीखने और काम करने के लिए लगभग 6 घंटे बिताए! लेकिन, मुझे यह काम करने के लिए मिला, इसलिए यह कुछ है।

अद्यतन : यह "काम करता है" लेकिन अद्वितीय मानों को संभाल नहीं सकता क्योंकि यह केवल पहला नाम देता है जो दिए गए स्कोर से मेल खाता है।

Update2 : पहले दिए गए उदाहरणों में से एक का उपयोग करके फिक्स्ड। सेल M5 में अब शामिल हैं:

=IF(K5="","",INDEX(Table2[Name],AGGREGATE(15,6,(ROW(Table2[Score])

-CELL("row",Table2[Score])+1)/(Table2[Score]=L5),COUNTIF($L$5:L5,L5))))

यह अब डुप्लिकेट मानों को संभालने में सक्षम प्रतीत होता है।


1
आप मालिक नहीं दिखाते। क्या हम मान सकते हैं कि यह नाम के बराबर है? क्या आप इस बात का विवरण जोड़ सकते हैं कि अपडेट 2 फॉर्मूला कैसे काम करता है, और यह डुप्लिकेट स्कोर कैसे संभालता है? धन्यवाद।
फिक्सर 1234

काश मैं आपको बता सकता कि यह कैसे काम करता है, लेकिन मैं ईमानदार नहीं हूं। बहुत अच्छा नहीं मुझे पता है, मेरा एकमात्र सुझाव यह है कि ऊपर पोस्ट किए गए यूट्यूब वीडियो को देखें, जो AGGREGATE फ़ंक्शन के उपयोग की व्याख्या करता है।
copyandpaster
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.