मुझे अपने एक्सेल के साथ एक समस्या है, जहां यह एक ही नाम दो बार दिखाता है, अगर 'रेसर्स' के पास एक ही समय है। उदाहरण के लिए तस्वीर में रेसर्स 7 और 9 और रेसर्स 5 और 10 का समय समान है, लेकिन स्टार्ट ग्रिड में यह एक ही नाम को दो बार दिखाता है। यह 4. Racer7 5. Racer9 और 9. Racer5 10. Racer10 होना चाहिए

enter image description here

सेल I3 का कार्य =IF(OR(ISBLANK(B3);ISBLANK(C3));"";INDEX($B$3:$B$32;MATCH(J3;$D$3:$D$32;0))) (मुझे ',' के बजाय प्रारूप ';' का उपयोग करना है) सेल J3 का कार्य =IFERROR(SMALL($D$3:$D$32;H3);"")

फ़ाइल से लिंक करें (Google पत्रक में काम नहीं करता है और कार्यों को स्थानीय स्वरूपण का उपयोग करना पड़ता है)

एक्सएलएसएक्स फ़ाइल

2
Koppis 15 अप्रैल 2020, 05:38

3 जवाब

सबसे बढ़िया उत्तर

मैच और रैंक समय को संभालने के दौरान बीमार हो रहे हैं


सूत्रों

कॉमा

[D3]    =IF(NOT(ISNUMBER(C3)),"",ROUND($D$1-A3*"00:10,0"-C3,8))
[H3]    =IF(ISNUMBER(K3),RANK(J3,D$3:D$32,2),"")
[I3]    =IF(IFERROR(INDEX($B$3:$B$32,SMALL(IF($D$3:$D$32=J3,ROW($J$3:$J$32)-ROW(J$3)+1),COUNTIF($J$3:$J3,J3))),"")=0,"",IFERROR(INDEX($B$3:$B$32,SMALL(IF($D$3:$D$32=J3,ROW($J$3:$J$32)-ROW(J$3)+1),COUNTIF($J$3:$J3,J3))),""))
[J3]    =IFERROR(SMALL($D$3:$D$32,A3),"")
[K3]    =IFERROR(J3-J$3,IF(I3="","","disqualified"))

enter image description here

कोलन

[D3]    =IF(NOT(ISNUMBER(C3));"";ROUND($D$1-A3*"00:10;0"-C3;8))
[H3]    =IF(ISNUMBER(K3);RANK(J3;D$3:D$32;2);"")
[I3]    =IF(IFERROR(INDEX($B$3:$B$32;SMALL(IF($D$3:$D$32=J3;ROW($J$3:$J$32)-ROW(J$3)+1);COUNTIF($J$3:$J3;J3)));"")=0;"";IFERROR(INDEX($B$3:$B$32;SMALL(IF($D$3:$D$32=J3;ROW($J$3:$J$32)-ROW(J$3)+1);COUNTIF($J$3:$J3;J3)));""))
[J3]    =IFERROR(SMALL($D$3:$D$32;A3);"")
[K3]    =IFERROR(J3-J$3;IF(I3="";"";"disqualified"))

OP की वर्कशीट ('D3' में सूत्र) में 'I6' और 'I7' सेल में '6' के बजाय 'MATCH 'गलत गणना' से '7' क्यों है?

समय में दशमलव का एक टन है इसलिए मुझे लगता है कि यह 'डी 8' और 'डी 9' के मानों को अलग-अलग मानों के रूप में 'देख' रहा है। इससे बचने के लिए आप मूल्यों को गोल कर सकते हैं। यदि आप केवल इन मानों का उपयोग करना चाहते हैं तो संख्याओं को एक मिलीसेकंड से भी भिन्न के रूप में पहचाने जाने के लिए उन्हें 8 दशमलव तक गोल करना पर्याप्त है। यदि आप उनका योग करना चाहें तो कुछ अशुद्धियाँ हो सकती हैं। ओपी के मामले में 8 दशमलव पर्याप्त से अधिक है।

RANK ('H3' में सूत्र) यदि कोई गोलाई नहीं है तो भी 'गलत गणना' है।

लंबा सूत्र क्यों?

IF स्टेटमेंट के साथ और उसके बिना इसे सर्वश्रेष्ठ तरीके से आज़माएँ और स्वयं देखें।

यहाँ एक संकेत है:

enter image description here

2
VBasic2008 15 अप्रैल 2020, 17:33

इसके लिए आपको एक टाई ब्रेकर चाहिए। ऐसा करने का दुर्भाग्य से सबसे अच्छा तरीका एक सहायक कॉलम का उपयोग करना है। मेरी टेस्ट शीट में मैंने कॉलम ई का इस्तेमाल किया था लेकिन कॉलम कहीं भी हो सकता था। इससे भी महत्वपूर्ण बात, इसे छिपाया जा सकता है। इस कॉलम में आप एक सूत्र दर्ज करें जैसे

=D3+ROW()/10^8

बात यह है कि जोड़ इतना छोटा होना चाहिए कि गोल करने पर परिणाम पर कोई फर्क न पड़े। तो, इसमें आपके द्वारा इलाज किए जाने वाले परिणामों की संख्या में अंतर हो सकता है। यदि आप पाते हैं कि जोड़ अंतिम पंक्ति में परिणाम बदलता है, तो घातांक बढ़ाएँ। मैंने जो परिवर्तन किया है, वह प्रत्येक परिणाम में 0.0001 सेकंड जोड़ता है, पंक्ति संख्या से गुणा किया जाता है: पहली पंक्ति में 0.0001, दूसरी में 0.0002, तीसरी में 0.0003 आदि। 10 वीं और 100 वीं पंक्ति में परिणाम देखें।

अब कॉलम ई में परिणाम सभी अलग हैं और ये परिणाम हैं जो कॉलम जे और आई में उपयोग किए जाते हैं।

[J3] =SMALL($E$3:$E$32,H3)

तथा

[I3] =INDEX($B$3:$B$32,MATCH(J3,$E$3:$E$32,0))

कोई और डुप्लिकेट नहीं होगा लेकिन ड्रॉ का "विजेता" सूची में उसकी स्थिति से तय होता है।

2
Variatus 15 अप्रैल 2020, 08:32

पुराने स्कूल सरणी-सूत्र-शैली में एक समाधान होगा:

ध्यान दें यह एक सरणी-सूत्र है जिसे CTRLSHIFTENTER के माध्यम से पुष्टि करने की आवश्यकता है

=IF(OR(ISBLANK(B3),ISBLANK(C3)),"",INDEX($B$1:$B$32,SMALL(IF($D$1:$D$12=J3,ROW($J$1:$J$12)),COUNTIF($J$1:$J3,J3))))

IF वर्तमान समय मूल्य के लिए समय सूची की जांच करता है और सभी मिलान लाइनों को वापस देता है जिन्हें छोटे से रैंक किया जा रहा है। COUNTIF वर्तमान समय की घटनाओं को वर्तमान लाइन तक गिनता है।

2
OverflowStacker 16 अप्रैल 2020, 09:43