एक रैंक को एक प्रत्यय सौंपने का सूत्र: यदि 1 है तो "सेंट", यदि 2 है तो "एनडी", आदि


0

मैं पिछले वर्ष के रिकॉर्ड की स्थिति की तुलना कर रहा हूं This year it is ranked 4th out of 50, in 2015 it was ranked 21st:। क्या "st", "nd", "rd" और "th" को स्वचालित रूप से रैंक में जोड़ना संभव है?

मेरा डेटा तालिका में है:

  • COL A = डेटा बिंदु का नाम (बॉब, जेन, बिल, ऐनी, आदि)। यह एक निश्चित कॉलम है।
  • COL B = नवीनतम वर्ष का डेटा,
  • COL C = नवीनतम वर्ष रैंक,
  • COL D = पिछले वर्ष का डेटा,
  • COL E = पिछले वर्ष की रैंक।

आईएफ फॉर्मूले का उपयोग करते हुए मैं काफी सहज हूं, लेकिन मुझे यकीन नहीं है कि एक सेल में अंतिम अंक का उल्लेख कैसे करें और कहें: यदि "यह 1 है तो 'सेंट'", आईएफ "अगर यह 2 है तो 'एनडी'", यदि "यह 3 है तो 'rd'", अन्यथा 'th'।

ध्यान दें कि रैंक एक बहु-अंक संख्या हो सकती है। पत्र अंतिम अंक पर आधारित होते हैं। इसलिए 31 वीं रैंक 31 वीं है। किशोर के लिए भी अपवाद हैं। रैंक 11, 12 और 13 "वें" का उपयोग करते हैं।

क्या इसे एक सूत्र के रूप में किया जा सकता है या इसे VBA द्वारा किए जाने की आवश्यकता है?


यह स्पष्ट नहीं है कि यह डेटा कहां से आता है ... "रैंक" कहां है?
डेव

@ क्या मैंने कुछ IF स्टेटमेंट की कोशिश की थी, लेकिन मैं इसे 22 या 31 के अंतिम अंक को पहचान नहीं पाया।
RocketGoal

@ क्या रैंक कॉलम है, लेकिन मुझे प्रत्यय को शामिल करने के लिए एक और कॉलम जोड़ना होगा और फिर दोनों को मिलाना होगा। यह 21 या 33 के अंतिम अंक को पहचानना मुश्किल है।
RocketGoal

जवाबों:


0

निम्नलिखित मान लेता है "रैंक" सेल B50 में है "

=IF(B50=1,"st",IF(B50=2,"nd",IF(B50=3,"rd","th")))

उपरोक्त आपको "सेंट", "एनडी" आदि जैसे परिणाम देगा

हालांकि मुझे संदेह है कि आप संख्या भी दिखाना चाहेंगे, इसलिए उपयोग करें

=IF(B50=1,B50 & "st",IF(B50=2,B50 & "nd",IF(B50=3,B50 & "rd",B50 & "th")))

यह "1", "2" आदि जैसे परिणाम दिखाएगा

Ejbytes टिप्पणी के लिए धन्यवाद, मैंने परीक्षण नहीं किया> 10! निम्नलिखित स्निपेट ऐसा करता है ताकि आपके पास 22 वां या 43 वां आदि हो

=IF(RIGHT(B50,1) = "1", B50&"st",IF(RIGHT(B50,1)="2",B50&"nd",IF(RIGHT(B50,1)="3",B50&"rd",B50&"th")))

अब हम ११, १२ और १३ के मुद्दों के साथ-साथ १११, ११२, ११३ इत्यादि के मुद्दों पर विचार करते हैं, इसलिए हमें इसे संभालने की आवश्यकता है!

=IF(RIGHT(B50,2)="11",B50 & "th",IF(RIGHT(B50,2)="12",B50&"th",IF(RIGHT(B50,2)="13",B50&"th",IF(RIGHT(B50,1)="1",B50&"st",IF(RIGHT(B50,1)="2",B50&"nd",IF(RIGHT(B50,1)="3",B50&"rd",B50&"th"))))))

अंत में, हम 0 ... 10 वें, 50 वें, 100 वें स्थान पर रह गए हैं, लेकिन हमारे पास 0 भी हैं!

=IF(B50=0,0,IF(RIGHT(B50,2)="11",B50&"th",IF(RIGHT(B50,2)="12",B50&"th",IF(RIGHT(B50,2)="13",B50&"th",IF(RIGHT(B50,1)="1",B50&"st",IF(RIGHT(B50,1)="2",B50&"nd",IF(RIGHT(B50,1)="3",B50&"rd",B50&"th")))))))

धन्यवाद। मैं दूसरे को एक बार दे दूँगा, लेकिन मुझे चिंता है कि यह दो अंकों की संख्या के 'अंतिम अंक' को नहीं पहचान सकता है। मैं सबसे सही अंक लेने के लिए एक और कॉलम जोड़ सकता हूं और फिर उस पर अपना फॉर्मूला चला सकता
हूं

1
मैंने बाएं सबसे अधिक अंक निकालने के लिए एक और कॉलम जोड़ा। फिर मैंने उस पर आपके IF सूत्र को लक्षित किया। मैं जवाब नीचे रखूंगा। इसके साथ आपकी मदद का शुक्रिया।
रॉकेटगृह

यह ठीक काम करता है और उन सभी को प्राप्त करता है। अच्छा तर्क। मैं आगे यह भी कहना चाहूंगा कि आप प्रत्येक सेल को स्थानापन्न कर सकते हैं, उदाहरण के लिए B50, RIGHT (B50,1) के साथ, जो हमेशा संख्या में अंतिम अंक (उदाहरण के लिए 20 वां 151 वां 23 वां 334 वां ...) होगा
ejbyx

1
और 21 के लिए? मैंने उपरोक्त टिप्पणी को जोड़ा क्योंकि यह केवल 1-9 की संख्या पर काम करता है, 9 से अधिक सभी संख्याएँ n-th हैं।
ejbytes

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

1

@Dave IF सूत्र के साथ कार्य करने पर मुझे अपने पत्रक डेटा में कुछ संशोधन करना पड़ा।

बाएं सबसे अधिक अंक को पहचानने का मतलब है कि मुझे एक और 'हेल्पर' कॉलम जोड़ना है।

  • कॉलम A मूल रैंक संख्या है
  • कॉलम B एक नया सहायक स्तंभ है = VALUE (RIGHT (A1,1)) यह मुझे अंतिम अंक देता है।
  • कॉलम C का सूत्र है

    =IF(A1=12,A1&"th",IF(A1=13,A1&"th",IF(B1=1,A1&"st",IF(B1=2,A1&"nd",IF(B1=3,A1&"rd",A1&"th")))))
    

मुझे 12 और 13 को विशेष रूप से संभालना पड़ा ... अंग्रेजी के कारण!

यह काम करता है, लेकिन यह आंखों को चोट पहुंचा सकता है। धन्यवाद


1
इसके लिए भी आपको एक अपवाद की आवश्यकता है। 11.
फिक्सर 1234

1
यदि आप सूत्र से पहले चार रिक्त स्थान जोड़ते हैं, तो यह एक कोड ब्लॉक बन जाएगा, इससे पठनीयता में मदद मिलेगी
मिचथान

= IF (और (A1> 10, A1 <14), A1 & "th", IF (RIGHT (A1,1) = 1, A1 और "st", IF (RIGHT (A1,1) = 2, A1 और "nd") , इफ (राइट (A1,1) = 3, A1 और rd, A1 & "th"))))
ejbytes

@ फिक्सर 1234 हां। वह भी एक।
रॉकेटगेल

@ejbytes इसके लिए धन्यवाद। मैंने समस्या हल कर ली है, लेकिन मैं इस सूत्र की नकल अवश्य करूंगा कि कैसे प्रभावी ढंग से घोंसला बनाया जाए।
रॉकेटगेल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.