Total Pageviews

Tuesday, 5 February 2019

பட்டியல் ஒப்பீடு (Comparison of two lists)

உங்களிடம் இரண்டு பட்டியல் உள்ளது. இரண்டும் ஒன்றேதானா என்று எப்படி கண்டு பிடிப்பது.

       இதை ஒரு உதாரணமாகவே பார்க்கலாம்.  நீங்கள் ஒரு கல்வி நிறுவனத்தில் பணியாற்றுவதாக வைத்துக்கொள்வோம்.  ஒரு தேர்வில் வெற்றி பெற்றுள்ளவர்களின் பட்டியல் எக்செல்லில் தயாரித்துள்ளீர்கள்.  அந்த பட்டியலை பார்வையிடுவதற்காக மற்றொரு அலுவலரிடம் சென்றுவிட்டு வருகிறது. நீங்கள் அனுப்பிய பட்டியலும் திரும்பி வந்த பட்டியலும் ஒன்றாகவே உள்ளதா அல்லது ஏதாகிலும் மாற்றம் ஏற்பட்டுள்ளதா என்பதை எப்படி அறிவது ?. 

 நீங்கள் அனுப்பிய பட்டியலின் நகல் உங்களிடம் இருந்தால்தான் இது எளிதாக இருக்கும்.  பட்டியல் மிகவும் சிறியதாக இருந்தால் சுலபமாக கண்டுபிடித்து விடலாம்.  ஆனால் பட்டியல் ஆயிரக்கணக்கான பெயர்களை கொண்டிருந்தாளல்  ஒப்பிட்டு கண்டுபிடிப்பது மிகவும் கடினமாகிவிடும். அதுவும் பெயர் முழுவதுமாக வேறாயிருந்தால் கூட கொஞ்சம் சுலபம்.  இருக்கும் பெயரில் ஓரெழுத்தோ அல்லது இரெண்டெழுத்தோ மட்டில் மாறி இருந்தால் கண்டுபிடிப்பது மிகவும் கடினமானது அல்லவா ?   இதை எப்படி சமாளிப்பது ?



இதற்கு எக்செல்லில் பலவிதமான function (செயலிகள்) உள்ளன. அவற்றில் ஒன்று EXACT  என்பதாகும்.  இதை இரண்டு சொற்களும் ஒன்றாக உள்ளனவா என்பதை கண்டு பிடிக்க பயன்படுத்தலாம். 


இதனுடைய SYNTAX  =EXACT(TEXT1,TEXT2) என்பதாகும். 





மேலிருக்கின்ற உதாரணத்தில் இரண்டு சொற்கள்தான் இருக்கின்றன. ஆதலால் இது சுலபமானதாக தெரியும். ஆயிரக்கணக்கான பெயர்களைக் கொண்ட பட்டியலாயிருந்தால் எங்கு தவறாக உள்ளது என்பதை கண்டுபிடிப்பது கொஞ்சம் கடினமாக இருக்கும். ஏன் என்பதைக் காண கீழே கொடுக்கப்பட்டுள்ள உதாரணத்தைப் பார்ப்போம்.

படம் 1ல் உள்ளது நீங்கள் அனுப்பிய பட்டியல் என்று கொள்வோம்.

அதற்கு பக்கத்தில் உங்கள் அலுவலரிடமிருந்து திரும்பிய பட்டியலை நகல் எடுத்து ஒட்டவும் . (படம் 2 காணவும்)

படம் - 1
                                                                                                      படம் - 2

இந்த இரண்டு பட்டியலுக்கும்  பக்கத்தில் முதல் செல்லில் கர்சரை வைத்து   =EXACT(H2,I2) என்று தட்டச்சு செய்யவும் (என்னுடைய உதாரணத்தில் H பத்தியிலும் I  பத்தியிலும் பட்டியலை வைத்திருக்கிறேன்) 







இப்போது ஒவ்வொரு ஒப்பீடும் சரியாக உள்ளதா என்பதை TRUE, FALSE மூலம் தெரிந்து கொள்ளலாம். ஆனால் ஆயிரக்கணக்கான பெயர்கள் இருக்கும்போது ஒவ்வொரு ஒப்பீட்டையும் பார்த்து எது சரியில்லை என்பதை கண்டுபிடிப்பது கொஞ்சம் கடினமான வேலையாகும்.


இதை தவிர்க்க IF செயலியையும் சேர்த்து பயன்படுத்தினோமானால் எங்கு சரியில்லையோ  அங்கு மட்டில் FALSE என்று வரும், கண்டுபிடிப்பதும் சுலபமாக இருக்கும்.  அதற்கு  =IF(EXACT(H2,I2),"","FALSE") என்று கொடுக்க வேண்டும்.  சரியாக இல்லையென்றால் மட்டில் தெரிவித்தால் போதும்.  அதாவது சரியாக இருந்தால் வெறும் இடமாக இருக்கவேண்டும். அதற்காகத்தான் "" உபயோகிக்க்கிறோம்.





திரும்பி வந்த பட்டியலை அனுப்பிய பட்டியலுக்கு பக்கத்தில் நகலெடுத்து ஒட்டித்தான் ஒப்பிடவேண்டும் என்ற கட்டாயம் இல்லை.

இரண்டு கோப்புகளில் உள்ள SHEET களில் உள்ள விவரங்களை அப்படியே கூட ஒப்பிடமுடியும்.  அதற்கு முதலில் நம்முடைய பட்டியலை RANGE NAME கொடுத்து சேமிக்க வேண்டும். (RANGE NAME ஐ இரண்டு விதமாக கொடுக்கலாம்.         1. நம்முடைய பட்டியலை தேர்ந்தெடுத்த பிற்பாடு NAME BOX ல் 
ஒரு பெயரை கொடுக்கலாம்.  (இந்த உதாரணத்தில் LIST1 என்று பெயரிட்டுள்ளேன்.






2.    பட்டியல் இருக்குமிடத்தை தேர்வு செய்த பிறகு FORMULAS  என்ற TAB கிளிக் செய்யவும்.   வரும் கட்டளைகளில் DEFINE NAME  என்ற கட்டளையை தெரிவு செய்யவும் .  வரும் உரையாடல் பெட்டியில் NAME: என்ற பெட்டியில் என்ன பெயர் வேண்டுமோ அதை தட்டச்ச்சு  செய்யவும்.   REFERS  TO  என்ற பெட்டியில் நாம் தெரிவு செய்த செல்களின் ரேஞ்சு  குறிப்பிடப்பட்டிடுக்கும்.   அவைகள் சரியில்லையென்றால் சரி செய்து OK  பட்டனை அழுத்தவும்.      








மற்றொரு முறையிலும் இரண்டு பட்டியல்களை ஒப்பிடலாம். இப்போது நம்மிடம் இருப்பது இரண்டு பட்டியல். ஒன்று நாம் அனுப்பியது (LIST1) மற்றொன்று திரும்பி வந்தது (LIST2). இதற்கு MATCH என்ற செயலியை உபயோகிக்கலாம். இதனுடைய syntax =MATCH(LIST1,LIST2,0). இதனுடைய விளக்கம் என்னவெனில் இரண்டு பட்டியல்களிலும் ஒன்றாக இருக்கும் தகவல்களை ஒப்பீடு செய்ய வேண்டும். 0 என்பதற்கு EXACT என்ற பொருளாகும். இதற்க்கு MATCH  செயலி பின் வருமாறு பதிலளிக்கும். (இந்த உதாரணத்தில் SHEET 1 ல் LIST1 ம்  SHEET2 ல் LIST2 ம் வைத்துள்ளேன்.)
















பட்டியலில் உள்ள ஒவ்வொரு பெயரும் ஒப்பிடப்பட்ட பட்டியலில் எத்தனையாவது வரிசையில் உள்ளது என்பதை சொல்லும். ஒப்பீடு சரியில்லையெனில்  எந்த வரிசையில் உள்ளது சரியில்லை என்பதை #NA (NOT AVAILABLE) என்று குறிப்பிடும்.  

இந்த செயல்பாடும் எனக்கு திருப்தி அளிக்கவில்லை. சரியில்லையெனில் அங்கு என்ன உள்ளது என்பது தெரியவேண்டும். இதற்க்கு என்ன  செய்வது.

இதற்கும் வழி உள்ளது.  இதற்க்கு ISERROR என்ற செயலியை இத்துடன் இணைக்க வேண்டும். இது என்ன செய்யும் என்றால் இந்த இரண்டு பட்டியலிலும் ஒப்பீட்டில் தப்பிதம் இருந்தால் TRUE என்றும் சரியாக இருந்தால் FALSE என்றும் வரும்.






























தவறு இருக்கா இல்லையா என்பதை அறிந்து கொள்வதைவிட தவறு இருந்தால் என்ன தவறு என்பதை தெரிந்து கொள்வது நல்லது அல்லவா ? இரண்டையும் ஒப்பீட்டு தவறு இருந்தால் இரண்டாவது பட்டியலில் உள்ளதை குறிப்பிட ISERROR  என்ற செயலுக்கு முன்னால் IF என்ற செயலியை சேர்த்து FUNCTION ஐ அமைக்கவேண்டும். SYNTAX:  =IF(ISERROR(MATCH(LIST1,LIST2,0)),LIST2,"")






























மேற்குறிப்பிட்ட அத்தனையும் ஒரே SHEET ல் இருக்க வேண்டுமென்றோ அல்லது ஒரே WORKBOOK ல் இருக்க வேண்டுமென்றோ அவசியமில்லை.