निश्चित नहीं है कि कैसे एक फॉर्मूला छोटा किया जाए


4

मैंने यह सूत्र बनाया:

=IF(B8="Jan","Feb",IF(B8="Feb","Mar",IF(B8="Mar","Apr",IF(B8="Apr","May",IF(B8="May","Jun",IF(B8="Jun","Jul",IF(B8="Jul","Aug",IF(B8="Aug","Sep",IF(B8="Sep","Oct",IF(B8="Oct","Nov",IF(B8="Nov","Dec",IF(B8="Dec","Jan"))))))))))))

ताकि जब उपयोगकर्ता एक महीने का संक्षिप्त नाम चुनता है तो अगली सेल में लगातार महीने IE: उपयोगकर्ता अक्टूबर में प्रवेश करता है, अगली सेल नवम्बर हो जाती है।

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

यदि आपके पास कोई विचार है या इस फार्मूले को कम करने का तरीका पता है जो बहुत सराहा जाएगा।

जवाबों:


5

आप EOMONTH का उपयोग कर सकते हैं, जो महीने को दूसरी कसौटी के साथ ऑफसेट करने की अनुमति देता है:

=TEXT(EOMONTH(B8 & " 1",1),"mmm")

B8 & " 1"एक स्ट्रिंग है कि Excel दिनांक के रूप में व्याख्या कर सकते हैं बनाता है।

EOMONTH(...,1)रिटर्न अगले महीने के अंतिम दिन।

TEXT(...,"mmm")स्वरूपों कि सिर्फ संक्षिप्त माह नाम के रूप में की तारीख।

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


महान उत्तर से पहले कभी भी EOMONTH का उपयोग नहीं किया!
पीटर

3

इनमें से एक का प्रयास करें: (पहला पीटरह के उत्तर के प्रकाश में मेरा बेहतर उत्तर है, दूसरा मेरा मूल उत्तर है)

=TEXT(DATE(2000, MONTH(1 & B8) + 1, 1), "mmm")
=TEXT(DATE(2000, MONTH(DATEVALUE(B8 & " 1")) + 1, 1), "mmm")

यह स्वचालित रूप से रोलओवर से (अगले वर्ष के पहले महीने के रूप में व्याख्या की गई) 12 + 1 = 13को संभालता है 1

क्रमशः


DATEVALUE()समारोह शाब्दिक तारीख लेते हैं, और तारीख के "वापस आ जाएगी सीरियल नंबर "। हमारे मामले में हम उपयोग कर रहे हैं DATEVALUE(B8 & " 1")... लेकिन क्यों?

बस का उपयोग कर DATEVALUE("Jan")एक #VALUE!त्रुटि के साथ विफल हो जाएगा ।

इसके इर्द-गिर्द काम करने के लिए, हम " 1"इसे बनाने के लिए DATEVALUE("Jan 1")सौदा करते हैं, जिसे एक्सेल खुशी-खुशी व्याख्या करता है "1 Jan 2001"- सौभाग्य से हमें इस साल की परवाह नहीं है।

YEAR(DATEVALUE("Jan 1")) == 2001

पीटरह के जवाब के अनुसार, MONTH(DATEVALUE(B8 & " 1"))बस सरल किया जा सकता है MONTH(1 & B8), ऊपर भी दिखाया गया है।

यहाँ पर 1 & B8हल होता है 1Jan, जिसे एक्सेल खुशी से देखता है।


यह पूरी तरह से धन्यवाद काम किया! लेकिन, क्या आप मुझे डेटाल्यू (बी 8 और "1") भाग के बारे में समझाते हैं।
पोलरबीयरमाइक

मेरा अपडेट जरूर देखें।
Attie

2

एक अन्य विकल्प का उपयोग करना होगा CHOOSE:

=CHOOSE(MATCH(B8,{"JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC"},0),"FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC","JAN")

या आगे भी सरल बनाने के लिए आप MONTHगणना कर सकते हैं कि B8 में कौन सा महीना नंबर है, तो इसे इंडेक्स मान के रूप में उपयोग करें CHOOSE:

=CHOOSE(MONTH(1&LEFT(B8,3)),"FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC","JAN")

-2

अलग-अलग दृष्टिकोण के साथ मैं आपको यह सुझाव देना चाहता हूं कि आस-पास के सेल में महीना का नाम कैसे रखा जा सकता है।

स्क्रीन शॉट की जाँच करें:

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

इन कदमों का अनुसरण करें:

: संपादित:

  • केवल तीन वर्णों का उपयोग करके महीनों की सूची बनाएं , जैसा कि मैंने कॉलम ए में बनाया है।
  • कॉलम ए और रेंज के महीनों की सूची का चयन करें , दिया गया नाम है, MnthName
  • सेल D91 में डेटा वैलिडेशन लागू करें , "सेटिंग टैब" पिक "सूची" के तहत और "स्रोत" में नामांकित सीमा, MnthName लिखें
  • सेल F91 में यह सूत्र लिखें
    =TEXT(DATE(2018,MATCH($D$91,MnthName,0)+COLUMNS($F$91:F91),1),"mmm"):।

  • ड्रॉप डाउन सूची से महीने का नाम चुनें, सेल F91 में आपको अगले पतंगे का नाम मिल जाएगा।

एनबी

  • अपनी आवश्यकता के अनुसार सेल पते को समायोजित करें।

प्रश्न बताता है कि संदर्भ इनपुट मान, "ए", किसी भी तीन-अक्षर महीने का संक्षिप्त नाम है, और वांछित आउटपुट मूल्य, "बी", अगले महीने का तीन अक्षर संक्षिप्त नाम है। तो किसी भी उत्तरदायी उत्तर को "ए" से शुरू करना होगा और "बी" का उत्पादन करना होगा। हो सकता है कि आप ऐसा करने के लिए यहां बताए गए तरीके से संबंधित विधि का उपयोग कर सकते हैं, लेकिन मुझे ऐसा कुछ भी दिखाई नहीं दे रहा है जो "ए" से शुरू होता है और "बी" का उत्पादन करता है। यह भी स्पष्ट नहीं है कि LstMonthF91 में क्या संदर्भित है, या फॉर्मूला क्या करना है या आपने इसे इस तरह क्यों कोडित किया है। (cont'd)
fixer1234

और आप इसे स्रोत मानों से भरी कार्यपुस्तिका में कैसे स्केल करेंगे? क्या आप प्रश्न में आवश्यकताओं को सीधे संबोधित करने के लिए उत्तर को संशोधित कर सकते हैं और समझा सकते हैं कि कोड क्या करता है? इसके अलावा, यदि आप इसे लुकअप के रूप में संभाल रहे हैं, तो आप केवल एक लुकअप टेबल पर INDEX & MATCH का उपयोग क्यों नहीं कर सकते हैं?
फिक्सर 1234

@ fixer1234, मुझे इसके चारों ओर काम करने दें, और मुझे केवल अन्य उत्तरों का उल्लेख करने दें, जल्द ही मैं इस मुद्दे पर लौटूंगा।
राजेश एस।

@ fixer1234, अब मैंने उत्तर संपादित कर दिया है और कॉलम A में 3 अक्षर जन, feb (संक्षिप्त नाम) के साथ पूर्ण Moth का नाम बदल दिया है। मुझे लगता है कि INDEX & MATCH एक उपयुक्त संयोजन नहीं है। चूंकि बगल की सेल में अगले पतंगे का नाम अपेक्षित होता है, इसलिए DATE का फॉर्मूला इस स्थिति में सबसे अच्छा है। ** योगदान ,,,, **
राजेश एस।

चूँकि मैंने जो फॉर्मूला इस्तेमाल किया है, वह दरार करने के लिए एक कठिन नट नहीं है और लम्बे जवाब से बचने के लिए मुझे वहाँ समझाने की ज़रूरत नहीं है। लेकिन मुझे ठीक से कहना चाहिए, मूल सूत्र DATE (2018 ,,,,,) Moth की पहली तारीख को D91 में SEP की तरह लौटाता है, यह F91 में 01/10/2018 को वापस आ जाता है। तारीख के साथ वर्ष " 2018 " वर्ष निर्दिष्ट करता है। अन्य भाग + COLUMNS ($ F $ 91: F91) +1 देता है जो 1 महीने में जुड़ जाता है और अंत में 3 चार्टररों में महीने का नाम पाने के लिए TEXT के साथ चेतावनी देता है। यह सूत्र इस तरह भी लिखा जाना चाहिए ,,, = पाठ (DATE (2018, MATCH ($ D $ 91, MnthName, 0) +1,1), "mmm")।
राजेश एस।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.