એડવાન્સ માઈક્રોસોફ્ટ એક્સેલ માસ્ટરી
એડવાન્સ લોજિકલ ફોર્મ્યુલા
જટિલ નિર્ણયો માટે નેસ્ટેડ IF
તમે મૂળભૂત IF વિધેયથી પરિચિત છો, જે એક શરત તપાસે છે અને બે પરિણામો આપે છે: એક જો શરત સાચી હોય, અને બીજું જો ખોટી હોય. પરંતુ વાસ્તવિક દુનિયાના ડેટામાં નિર્ણયો ભાગ્યે જ એટલા સરળ હોય છે. શું થાય જ્યારે તમારે બહુવિધ શરતોના આધારે નિર્ણય લેવાનો હોય?
અહીં જ નેસ્ટેડ IF (Nested IF) કામમાં આવે છે. આ એક IF વિધેયની અંદર બીજું IF વિધેય મૂકવાની તકનીક છે. આ તમને નિર્ણયોની એક શૃંખલા બનાવવાની મંજૂરી આપે છે. દાખલા તરીકે, વિદ્યાર્થીઓના સ્કોરના આધારે ગ્રેડ નક્કી કરવા.
જો સ્કોર 90થી વધુ હોય, તો 'A' ગ્રેડ આપો. નહિંતર, જો સ્કોર 80થી વધુ હોય, તો 'B' ગ્રેડ આપો. નહિંતર, જો સ્કોર 70થી વધુ હોય, તો 'C' ગ્રેડ આપો. અને જો આમાંથી કંઈ ન હોય, તો 'F' ગ્રેડ આપો.
આ તર્કને એક્સેલમાં નેસ્ટેડ IF ફોર્મ્યુલા તરીકે આ રીતે લખી શકાય છે. ધારો કે વિદ્યાર્થીનો સ્કોર સેલ A2 માં છે:
=IF(A2>90, "A", IF(A2>80, "B", IF(A2>70, "C", "F")))
એક્સેલ આ ફોર્મ્યુલાને ડાબેથી જમણે વાંચે છે. તે પ્રથમ શરત (A2>90) તપાસે છે. જો તે સાચી હોય, તો તે "A" પરત કરે છે અને બાકીની ફોર્મ્યુલાને અવગણે છે. જો તે ખોટી હોય, તો તે આગલા IF વિધેય પર જાય છે અને પ્રક્રિયાને પુનરાવર્તિત કરે છે. આ પદ્ધતિ જટિલ શરતી તર્ક માટે શક્તિશાળી છે, પરંતુ જેમ તમે જોઈ શકો છો, તે ખૂબ જલ્દી ગૂંચવણભરી બની શકે છે.
બહુવિધ માપદંડોને સંભાળવા
કેટલીકવાર, તમારે એક જ સમયે બહુવિધ શરતોને તપાસવાની જરૂર પડે છે. આ માટે, એક્સેલ જેવા કે AND, OR અને NOT પ્રદાન કરે છે. આ વિધેયોને IF સાથે જોડીને તમે વધુ ચોક્કસ માપદંડો બનાવી શકો છો.
AND વિધેય આ ત્યારે જ TRUE પરત કરે છે જ્યારે તેની અંદરની બધી શરતો સાચી હોય. ઉદાહરણ તરીકે, કોઈ કર્મચારીને બોનસ ત્યારે જ મળે જો તેનું વેચાણ $50,000 કરતાં વધુ હોય અને તેણે કંપનીમાં 2 વર્ષથી વધુ સમય કામ કર્યું હોય. જો વેચાણ સેલ B2 માં અને સેવાનો સમય C2 માં હોય, તો ફોર્મ્યુલા આ પ્રમાણે હશે:
=IF(AND(B2>50000, C2>2), "બોનસને પાત્ર", "પાત્ર નથી")
OR વિધેય આ ત્યારે TRUE પરત કરે છે જ્યારે તેની અંદરની કોઈપણ એક શરત સાચી હોય. ઉદાહરણ તરીકે, કોઈ ગ્રાહકને ડિસ્કાઉન્ટ ત્યારે મળે જો તે વિદ્યાર્થી હોય અથવા વરિષ્ઠ નાગરિક હોય. જો ગ્રાહકનો પ્રકાર સેલ D2 માં હોય, તો ફોર્મ્યુલા આ પ્રમાણે હશે:
=IF(OR(D2="વિદ્યાર્થી", D2="વરિષ્ઠ નાગરિક"), "ડિસ્કાઉન્ટ લાગુ", "કોઈ ડિસ્કાઉન્ટ नहीं")
NOT વિધેય આ વિધેય લોજિકલ મૂલ્યને ઉલટાવે છે. તે TRUE ને FALSE માં અને FALSE ને TRUE માં ફેરવે છે. ઉદાહરણ તરીકે, તમે એવા તમામ ઓર્ડરને ફ્લેગ કરવા માંગો છો જે "પૂર્ણ" ન થયા હોય.
=IF(NOT(E2="પૂર્ણ"), "બાકી છે", "પૂર્ણ")
એક સુઘડ વિકલ્પ: IFS અને IFERROR
જ્યારે તમારી પાસે ઘણી બધી શરતો હોય, ત્યારે નેસ્ટેડ IF ફોર્મ્યુલા વાંચવી અને જાળવવી મુશ્કેલ બની જાય છે. એક્સેલે આ સમસ્યાને ઉકેલવા માટે રજૂ કર્યું છે. તે તમને શરત/પરિણામની જોડીઓની શ્રેણીને વધુ સ્પષ્ટ રીતે સ્પષ્ટ કરવાની મંજૂરી આપે છે.
આપણે અગાઉના વિદ્યાર્થી ગ્રેડિંગ ઉદાહરણને IFS નો ઉપયોગ કરીને ફરીથી લખી શકીએ છીએ:
=IFS(A2>90, "A", A2>80, "B", A2>70, "C", A2<=70, "F")
તમે જોઈ શકો છો કે આ ફોર્મ્યુલા કેટલી સરળ અને વાંચવામાં સહેલી છે. અહીં દરેક શરત અને તેનું પરિણામ સ્પષ્ટ રીતે જોડાયેલું છે.
હવે, ભૂલોનું શું? જ્યારે કોઈ ફોર્મ્યુલામાં ભૂલ આવે છે, જેમ કે શૂન્ય વડે ભાગાકાર, ત્યારે એક્સેલ #DIV/0! જેવી ભૂલ દર્શાવે છે. આ રિપોર્ટ્સને અવ્યવસ્થિત બનાવી શકે છે. IFERROR વિધેય તમને આ ભૂલોને સુંદર રીતે સંભાળવાની મંજૂરી આપે છે.
IFERROR નો ઉપયોગ કરવા માટે, તમે તમારી મૂળ ફોર્મ્યુલાને તેની અંદર મૂકો છો, અને પછી જો ભૂલ આવે તો તમે શું બતાવવા માંગો છો તે સ્પષ્ટ કરો છો.
ધારો કે તમે A2 ને B2 વડે ભાગી રહ્યા છો, પરંતુ B2 માં ક્યારેક 0 હોઈ શકે છે. તમારી ફોર્મ્યુલાને વધુ મજબૂત બનાવવા માટે, તમે આનો ઉપયોગ કરી શકો છો:
=IFERROR(A2/B2, "અમાન્ય ઇનપુટ")
હવે, જો B2 0 હોય, તો #DIV/0! બતાવવાને બદલે, સેલ "અમાન્ય ઇનપુટ" બતાવશે, જે વધુ વપરાશકર્તા-મૈત્રીપૂર્ણ છે.
વિદ્યાર્થીના સ્કોર (સેલ A1 માં) ના આધારે ગ્રેડ નક્કી કરવા માટે નીચેનામાંથી કયો નેસ્ટેડ IF ફોર્મ્યુલા સાચો છે: 90 થી વધુ માટે 'A', 80 થી વધુ માટે 'B', અને બાકીના માટે 'C'?
એક એમ્પ્લોયીને પ્રમોશન ત્યારે જ મળે છે જો તેમનું વેચાણ $100,000 કરતાં વધુ હોય અને તેમની ગ્રાહક સંતોષ રેટિંગ 4.5 થી વધુ હોય. આ માટે કયો લોજિકલ વિધેય સૌથી યોગ્ય છે?
આ શક્તિશાળી લોજિકલ વિધેયોમાં નિપુણતા મેળવીને, તમે એવા સ્પ્રેડશીટ બનાવી શકો છો જે વધુ સ્માર્ટ, વધુ ગતિશીલ અને ભૂલો પ્રત્યે વધુ સહનશીલ હોય.