कई नेस्टेड IFs के फार्मूले को फिर से लिखना जो बहुत गहरा है


17

मैंने सेल का मान जाँचने के लिए एक सरल सूत्र लिखा था। दुर्भाग्य से, सूत्र मेरे Excel 2007 संस्करण के लिए बहुत लंबा है। त्रुटि है:

जर्मन: डाइ एंगेजेबिन फॉर्मेल कन्न निच्ग एग्बेबेन वेडेन, डा सी मेहर अल्स 64 वर्शचटेलंगसेबेनबेन वर्वेंडेट।

अंग्रेजी: निर्दिष्ट सूत्र को दर्ज नहीं किया जा सकता क्योंकि यह वर्तमान फ़ाइल प्रारूप में अनुमति देने की तुलना में नेस्टिंग के अधिक स्तरों का उपयोग करता है

किसी भी विचार कैसे फार्मूला कम करने के लिए?

जर्मन में "वेन" का अर्थ "आईएफ" है।

   =WENN(N7>=100000000;0;
    WENN(N7>=99000000;1;
    WENN(N7>=98000000;2;
    WENN(N7>=97000000;3;
    WENN(N7>=96000000;4;
    WENN(N7>=95000000;5;
    WENN(N7>=94000000;6;
    WENN(N7>=93000000;7;
    WENN(N7>=92000000;8;
    WENN(N7>=91000000;9;
    WENN(N7>=90000000;10;
    WENN(N7>=89000000;11;
    WENN(N7>=88000000;12;
    WENN(N7>=87000000;13;
    WENN(N7>=86000000;14;
    WENN(N7>=85000000;15;
    WENN(N7>=84000000;16;
    WENN(N7>=83000000;17;
    WENN(N7>=82000000;18;
    WENN(N7>=81000000;19;
    WENN(N7>=80000000;20;
    WENN(N7>=79000000;21;
    WENN(N7>=78000000;22;
    WENN(N7>=77000000;23;
    WENN(N7>=76000000;24;
    WENN(N7>=75000000;25;
    WENN(N7>=74000000;26;
    WENN(N7>=73000000;27;
    WENN(N7>=72000000;28;
    WENN(N7>=71000000;29;
    WENN(N7>=70000000;30;
    WENN(N7>=69000000;31;
    WENN(N7>=68000000;32;
    WENN(N7>=67000000;33;
    WENN(N7>=66000000;34;
    WENN(N7>=65000000;35;
    WENN(N7>=64000000;36;
    WENN(N7>=63000000;37;
    WENN(N7>=62000000;38;
    WENN(N7>=61000000;39;
    WENN(N7>=60000000;40;
    WENN(N7>=59000000;41;
    WENN(N7>=58000000;42;
    WENN(N7>=57000000;43;
    WENN(N7>=56000000;44;
    WENN(N7>=55000000;45;
    WENN(N7>=54000000;46;
    WENN(N7>=53000000;47;
    WENN(N7>=52000000;48;
    WENN(N7>=51000000;49;
    WENN(N7>=50000000;50;
    WENN(N7>=49000000;51;
    WENN(N7>=48000000;52;
    WENN(N7>=47000000;53;
    WENN(N7>=46000000;54;
    WENN(N7>=45000000;55;
    WENN(N7>=44000000;56;
    WENN(N7>=43000000;57;
    WENN(N7>=42000000;58;
    WENN(N7>=41000000;59;
    WENN(N7>=40000000;60;
    WENN(N7>=39000000;61;
    WENN(N7>=38000000;62;
    WENN(N7>=37000000;63;
    WENN(N7>=36000000;64;
    WENN(N7>=35000000;65;
    WENN(N7>=34000000;66;
    WENN(N7>=33000000;67;
    WENN(N7>=32000000;68;
    WENN(N7>=31000000;69;
    WENN(N7>=30000000;70;
    WENN(N7>=29000000;71;
    WENN(N7>=28000000;72;
    WENN(N7>=27000000;73;
    WENN(N7>=26000000;74;
    WENN(N7>=25000000;75;
    WENN(N7>=24000000;76;
    WENN(N7>=23000000;77;
    WENN(N7>=22000000;78;
    WENN(N7>=21000000;79;
    WENN(N7>=20000000;80;
    WENN(N7>=19000000;81;
    WENN(N7>=18000000;82;
    WENN(N7>=17000000;83;
    WENN(N7>=16000000;84;
    WENN(N7>=15000000;85;
    WENN(N7>=14000000;86;
    WENN(N7>=13000000;87;
    WENN(N7>=12000000;88;
    WENN(N7>=11000000;89;
    WENN(N7>=10000000;90;
    WENN(N7>=9000000;91;
    WENN(N7>=8000000;92;
    WENN(N7>=7000000;93;
    WENN(N7>=6000000;94;
    WENN(N7>=5000000;95;
    WENN(N7>=4000000;96;
    WENN(N7>=3000000;97;
    WENN(N7>=2000000;98;
    WENN(N7>=1000000;99;
    WENN(N7>=500000;100;0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))

13
यदि आप सूत्र को संरचित कर चुके हैं (तो इस बारे में एक लंबित संपादन है) - और, IMHO अधिक महत्वपूर्ण है, तो आपका प्रश्न अधिक पठनीय होगा, यदि आप उन शब्दों में वर्णन करते हैं जो आप पूरा करने जा रहे हैं। हो सकता है कि हमारे यहाँ एक xy समस्या हो।
mpy

1
अंतिम पंक्ति मुझे एक मजाक
kmdreko

जवाबों:


65

मुझे लगता है कि सूत्र इसके बराबर है:

=IF(OR(N7>=100000000,N7<500000),0,100-INT(N7/1000000))

अब जब केविन ने सूत्र में सुधार किया है, तो मैं स्पष्ट रूप से देख सकता हूं कि सभी मामलों में सूत्र सही है।

प्रश्नकर्ता की टिप्पणी के लिए धन्यवाद, मैं बता सकता हूं कि समकक्ष जर्मन सूत्र है:

=WENN(ODER(N7>=100000000;N7<500000);0;100-GANZZAHL(N7/1000000))

कमाल का काम करता है !!! thx - मैंने सूत्र का अनुवाद करने के लिए de.excel-translator.de/translator का उपयोग किया । जर्मन में ऐसा दिखता है=WENN(ODER(N7>=100000000;N7<500000);0;100-GANZZAHL(N7/1000000))
इवाव्यूना

VBA का उपयोग करें और एक उपयोगकर्ता-परिभाषित फ़ंक्शन बनाएं।
user1750995

थोड़ा उदास है कि यह सामान्य प्रश्न को छोड़ देता है और केवल इस विशेष उदाहरण के लिए हल करता है।
पाइप

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

5
@pipe, @WhatEvil - प्रश्नकर्ता अपने IFबयान के आकार को कम करना चाहता था , और उसके डेटा की संरचना के कारण, मैंने (एक गणितज्ञ को) स्पष्ट जवाब दिया और मैं पूरी तरह से असहमत हूं कि यह किसी भी अर्थ में या बुरा व्यवहार है। । जाहिर है कि कम रैखिक फ़ंक्शन के लिए एक लुक-अप तालिका की आवश्यकता होगी, लेकिन यह इन आंकड़ों के लिए ओवरकिल है और इसे शायद ही इष्टतम माना जा सकता है: एक प्रत्यक्ष गणना हमेशा लुक-अप से बेहतर होती है जब बाद वाले से बचा जा सकता है।
AFH

21

अपने सभी सीमा मानों को एक वर्कशीट पर एक सीमा में रखें और एक अनुमानित मैच के साथ लुकअप फॉर्मूला का उपयोग करें।

लुकअप कॉलम के मान द्वारा बढ़ते हुए अपने डेटा को सॉर्ट करें। यदि आप VLookup का उपयोग करना चाहते हैं तो लुकअप कॉलम लुकअप टेबल का पहला कॉलम होना चाहिए। यदि आप एक इंडेक्स / मैच कॉम्बो का उपयोग करके खुश हैं, तो लुकअप कॉलम टेबल में कहीं भी हो सकता है।

नीचे दिए गए स्क्रीनशॉट में A1 से B6 की कोशिकाओं में एक नमूना देखने की मेज है। तालिका ए में मानों के आधार पर क्रमबद्ध है। यह महत्वपूर्ण है । यदि तालिका को आरोही क्रमबद्ध नहीं किया गया है, तो निम्न सूत्र काम नहीं करेगा।

सेल ई 2 में मान स्तंभ ए में किसी भी मान के लिए एक सटीक मिलान नहीं है। विएस्पुप सूत्र अगले सबसे छोटे मान (यानी 50) को खोजेगा और इस अनुमानित मैच के लिए लुकअप टेबल के कॉलम 2 से परिणाम लौटाएगा। ध्यान दें कि एक अनुमानित मैच के लिए VLookup का चौथा पैरामीटर "TRUE" या 1 होना चाहिए।

यहाँ सूत्र है:

=VLOOKUP(E2,$A$1:$B$6,2,TRUE)

और स्क्रीनशॉट:

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

Vlookup का जर्मन नाम SVerweis है (मुझे लगता है), और आपको जर्मन एक्सेल में अर्धविराम वाले कॉमा को बदलने की आवश्यकता है। मुझे नहीं पता कि जर्मन एक्सेल में "TRUE" क्या है, लेकिन आप TRUE के लिए 1 और FALSE के लिए 0 का उपयोग कर सकते हैं।

=SVerweis(E2;$A$1:$B$6;2;1)

हॉफेंटलीच klappt की !!


इच हॉफ औच! मुझे इसके माध्यम से पढ़ने दो - मेरे लिए बहुत काम की तरह लग रहा है। thx - मुझे पता है कि अगर आप इसे काम करने में सक्षम हैं :)
evav015

यदि संख्या समान रूप से फैली हुई है, तो संख्याओं की तालिका में भरना बहुत काम नहीं है। पहले दो नंबर दर्ज करें, उन्हें चुनें और भरण हैंडल खींचें।
तेइलिन

TRUEहै WAHRऔर FALSEहै FALSCH
आईवीसी

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