লেখক পরিচিতি
লেখকের নাম:
তাসনীম মাহ্মুদ
মোট লেখা:১২৭
লেখা সম্পর্কিত
এক্সেল বুলিয়ান লজিক AND, OR, NOT এবং XOR-এর ব্যবহার
এক্সেল অনেক শক্তিশালী অ্যাপ্লিকেশন প্রোগ্রাম এবং ব্যবহারকারী একটি স্প্রেডশিট প্রোগ্রাম থেকে যা কিছু প্রত্যাশা করেন, তার সবকিছুই পাওয়া যায় এক্সেলে। ইতোপূর্বে কমপিউটার জগৎ-এর নিয়মিত বিভাগ পাঠশালায় এক্সেলের কিছু মজার ও জটিল বিষয় সহজভাবে উপস্থাপন করা হয়েছে, যা আপনাকে একজন অভিজ্ঞ এক্সেল ব্যবহারকারী হিসেবে প্রতিষ্ঠিত করতে কিছুটা হলেও সহায়তা করবে। এ লেখায় মূলত উপস্থাপন করা হয়েছে এক্সেলের বুলিয়ান অপারেটর তথা লজিক্যাল ফাংশন নিয়ে কাজ করার প্রাথমিক ধারণা।
এক্সেল ফাংশন বা ফর্মুলা অবস্থান করে অ্যাপ্লিকেশনের গভীরে, যার রয়েছে চমৎকার ÿমতা। এক্সেলে বুলিয়ান লজিক (সাধারণ শর্তের জন্য একটি ফেন্সি নেম, যা সত্য বা মিথ্যা হতে পারে) হলো একটি উপায়, যা একটি সুনির্দিষ্ট ডাটাকে খুব সূক্ষ্মভাবে পরীক্ষা ও বিশেস্নষণ করে বা ফলাফল বের করে এক বিশাল স্প্রেডশিট থেকে। লুকআপ ফাংশন এবং পিভোট টেবলসহ আরও কয়েকটি উপায় রয়েছে স্প্রেডশিট সার্চ করার। বুলিয়ান লজিক জানার চেষ্টা করার পেছনে কারণ হলো- এটি একটি মেথড, যা অন্যান্য অ্যাপ্লিকেশনে ব্যবহার করতে পারেন, যেমন- সার্চ ইঞ্জিন এবং ডাটাবেজ।
বুলিয়ান অপারেটরকে এক্সেলে লজিক্যাল ফাংশনও বলা হয়। AND, OR, NOTসহ XOR নামের আরেকটি নতুন ফাংশনকেও লজিক্যাল বলা হয়। এই অপারেটরগুলো ব্যবহার হয় ডাটাবেজ, স্প্রেডশিট, সার্চ ইঞ্জিন বা অন্য যেকোনো অবস্থায় সার্চ টার্মের মাঝে ফলাফলকে সঙ্কুচিত, সম্প্রসারিত বা বাদ দেয়ার জন্য, যেখানে সুনির্দিষ্ট তথ্য অনুসন্ধান করতে পারেন।
বুলিয়ান বেসিক
প্রতিটি অপারেটরের সাধারণ ডেফিনেশন হলো:
AND : রিটার্ন করে TRUE যদি সব কন্ডিশন তথা শর্ত সত্য হয়।
উদাহরণ : =AND (100<200, 200>100) TRUE, কেননা উভয় শর্ত সত্য।
OR : রিটার্ন করে ঞজটঊ, যদি ন্যূনতম কোনো একটি শর্ত নির্ধারিত হয় সত্য।
উদাহরণ : =OR(100<200, 100>300) TRUE, কেননা এদের মধ্যে কোনো একটি শর্ত সত্য।
NOT : রিটার্ন করে সত্য তথা ট্রু যদি শর্ত পূরণ নির্ধারিত না হয় (রিভার্স লজিক)।
উদাহরণ : =NOT(100> 500) TRUE, কেননা ১০০ সংখ্যাটি ৫০০-এর চেয়ে বেশি নয়।
XOR : এ ফাংশনকে Exclusive OR বলা হয়। এ ফাংশন যেকোনো আর্গুমেন্ট রিটার্ন করে সত্য যদি সত্য (তবে উভয় নয়)।
উদাহরণ : =XOR(1+1=2, 2-1=2) রিটার্ন করে TRUE, কেননা একটি শর্ত সত্য এবং একটি শর্ত একটি মিথ্যা তথা ফলস।
উদাহরণ : =XOR(1+1=2, 2-1=1) রিটার্ন করে FALSE, কেননা উভয় শর্ত সত্য।
উদাহরণ : =XOR(5+1=2, 5-1=2) রিটার্ন করে FALSE, কেননা উভয় শর্ত ফলস।
আরও কিছু লক্ষণীয়
বুলিয়ান অপারেটরের মাধ্যমে এক রেঞ্জের ফলাফলের জন্য সার্চ করা হয়, এরচেয়ে বেশি বা এরচেয়ে কম কী-এর মাধ্যমে এক রেঞ্জ ডিফাইন করা।
এক্সেল ২০১৩ একটি সিঙ্গেল লজিক্যাল ফাংশনের মাধ্যমে সর্বোচ্চ ২৫৫টি আর্গুমেন্ট অনুমোদন করে, তবে ফর্মুলাটি ৮,১৯২ ক্যারেক্টারের বেশি হতে পারবে না।
বুলিয়ান অপারেটর কোনো উদ্দেশ্য সাধনের জন্য বেশ সহজ। অন্যান্য ফাংশনের সাথে কম্বাইন করে আপনি তৈরি করতে পারবেন জটিল ফর্মুলা, যা প্রডিউস করে খুব শক্তিশালী রেজাল্ট। যেমন- IF স্টেটমেন্ট।
বুলিয়ান AND, IF-AND
মাল্টিল বিবেচনায় তথা ক্রাইটেরিয়ায় কোনো কিছু খুঁজে বের করার চেষ্টা করার জন্য AND অপারেটর ব্যবহার করা হয়। ধরুন, জর্জ নাটকের অন্যতম এক অভিনেতার পা ভেঙ্গে গেছে। সুতরাং অনুরূপ চেহারায় এবং দক্ষতায় আরেকজন অভিনেতা জরুরিভিত্তিতে জর্জের খোঁজ করা দরকার। নতুন অভিনেতার উচ্চতা অবশ্যই ৬৮ থেকে ৬৯ ইঞ্চির মধ্যে, ওজন হতে হবে ১৮০ থেকে ২০০ পাউন্ডের মধ্যে এবং বয়স হতে হবে ৩০ থেকে ৫০-এর মাঝে, যাতে আগের অভিনেতার পোশাক ফিট হয়।
যদি জর্জের অ্যাক্টরের লিস্টে ৫০ থেকে ১০০ জনের নাম থাকে, তাহলে তিনি লিস্ট স্ক্যান করতে পারবেন এবং নিজেই একটি রিপ্লেসমেন্ট লোকেট করতে পারবেন। তবে গিল্ড অ্যাক্টর ডাটাবেজে রয়েছে ২০ হাজার রেকর্ড। সুতরাং, সার্চকে সঙ্কুচিত করতে দরকার একটি দ্রুততর উপায়।
এ ধরনের কোয়েরির জন্য আপনি ব্যবহার করতে পারেন নিচে উল্লিখিত তিনটি ফর্মুলার মধ্যে যেকোনো একটি। ফর্মুলা তিনটিই কাজ করবে এবং সবগুলো একই ধরনের। AND স্টেটমেন্ট ছাড়া শুধু রিটার্ন করবে True বা False। IF স্টেটমেন্ট অনুমোদন করে কাস্টম রেসপন্স, যেমন- “Match” বা “Qualified”।
চিত্র-২-এর প্রদর্শিত ডাটাবেজ এবং ফর্মুলা কপি করে ফলাফল পরীক্ষা করে দেখুন :
ক. AND স্টেটমেন্ট AND বুলিয়ান অপারেটর ব্যবহার করে ট্রু বা ফলস রিটার্ন করে যেমন-
=AND(AND(C6>67,C6<70),AND(D6>179,D6<201),AND(E6>29,E6<51)) = TRUE
L. IF/AND স্টেমেন্ট AND বুলিয়ান অপারেটর ব্যবহার (তিনটি শর্তসহ) রিটার্ন করে Yes বা No, কেননা IF স্টেটমেন্ট অনুযায়ী If this, and this এবং this is true হয়, তাহলে উত্তর হবে Yes; else/otherwise। এ ক্ষেত্রে উত্তর হবে NO।
=IF(AND(AND(C8>67,C8<70),AND(D8>179,D8<201),AND(E8>29,E8<51)),”Yes”,”No”)
M. IF স্টেটমেন্ট AND বুলিয়ান অপারেটর ব্যবহার করে Yes বা No রিটার্ন করে।
এ ক্ষেত্রে যদি কোনো AND স্টেটমেন্ট না মিট করে, তাহলে রেসপন্স রিটার্ন করবে False এবং মাল্টিপ্লিকেশন (অ্যাসট্রিক) ফলাফল হবে ০ (False)। এ ফরম্যাটটি সচরাচর আবির্ভূত হয় যখন সিনট্যাক্স এরর হয় এবং এক্সেল তা রিপেয়ার করে, যদি আপনি সহায়তা পেতে চান।
=IF(AND(C10>67,C10<70)*AND(D10>179,D10<201)*AND(E10>29,E10<51),”YES”,”NO”)
লক্ষণীয়, ব্যবহাকারীরা ফর্মুলার প্রতিটি শর্তের সিনট্যাক্স যাতে সহজেই বুঝতে পারে তা ২নং চিত্রে ওপেনিং এবং ক্লোজিং প্যারেনথেসিসসহ ম্যাচ করা সেলের ফর্মুলা এক্সেল কালার-কোড করা দেখানো হয়েছে।
বুলিয়ান OR, AND-OR
প্রথম ডাটাবেজ সার্চ রিটার্ন করে ১১০০ অ্যাক্টর। জর্জ এ রেজাল্টকে আরও বেশি সঙ্কুচিত করতে চায়। তাই সে ওই ১১০০ রেজাল্টে কোয়েরি করেছে দুটি স্পেসিফিক স্কিলের জন্য। এ অ্যাক্টর তথা অভিনেতাকে অবলীলাক্রমে ইতালিয়ান বা ফ্রেঞ্চ ল্যাঙ্গুয়েজে পারদর্শী হতে হবে।
এ কোয়েরির জন্য নিচে বর্ণিত ফর্মুলা ব্যবহার করতে পারেন :
=OR(OR(C9= ”Italian”,C9=” French”),AND(OR(D9=”tenor”,D9=”base”))) = TRUE
এখানে ট্রু হওয়া জবাবের অ্যাক্টরকে অবশ্যই ইতালি বা ফ্রেঞ্চ হতে হবে এবং টেনর বা বেজ গান জানতে হবে। এর ফলে যেকোনো অসত্য বা ভুল তথ্যে রেসপন্স করবে FALSE।
৩নং চিত্রে প্রদর্শিত ডাটাবেজ এবং ফর্মুলা কপি করুন এবং ফলাফল পরীক্ষা করুন। এবার ব্যবহাকারীরা যাতে আগের মতো ফর্মুলার প্রতিটি শর্তের সিনট্যাক্স সহজেই বুঝতে পারে তা ৩নং চিত্রে ওপেনিং এবং ক্লোজিং প্যারেনথেসিসসহ ম্যাচ করা সেলের ফর্মুলা এক্সেল কালার-কোড করা দেখানো হয়েছে ।
বুলিয়ান NOT, NOT-OR
NOT অপারেটর ব্যাখ্যা করার সবচেয়ে সহজতম উপায় হলো একে ইন্টারনেট সার্চের সাথে তুলনা করা। ধরুন, অনলাইনে আপনার পুরনো এক বন্ধু জ্যাক রাসেলকে খোঁজ করছেন। তার নাম টাইপ করে এন্টার চাপার সাথে সাথে ফলাফল হিসেবে জ্যাক রাসেল নামে অনেক ব্যক্তিসহ কুকুর এবং পাপি আসবে। এ ক্ষেত্রে NOT অপারেটর ব্যবহার করে ক্যানাইন ভেরিয়েবলকে অপসারণ করতে পারেন। যেমন- “Jack Russell NOT dogs NOT puppies”।
নাচ এবং প্লে’র ব্যাকগ্রাউন্ড পারফরম্যান্সের জন্য জর্জের দরকার বিভিন্ন দরনের কিছু ইনস্ট্রুমেন্ট। তবে পিয়ানো নয়, কেননা পিয়ানিস্ট চারদিকে ঘুরে নাচতে পারে না, বলরুম ড্যান্সও করতে পারে না। জর্জ চাচ্ছেন, ড্যান্সারেরা তাদের ইনস্ট্রুমেন্টসহ নাচবে, হিউম্যান পার্টনারের সাথে নয়। জর্জ আবার ডাটাবেজ কোয়েরি এবং নির্দিষ্ট করে দেয় NOT পিয়ানো এবং AND NOT বলরুম ডান্সিং নয়।
মনে রাখা দরকার, এটি একটি রিভার্স লজিক। সুতরাং NOT পিয়ানো এবং NOT বলরুম ইক্যুয়াল FALSE, কেননা জর্জ বলরুম এবং পিয়ানো চায় না। FALSE কে ‘ No, not this person ’ হিসেবে ভাবুন। খেয়াল করে দেখুন, রেকর্ড ((Feyd-Rautha)) ৩-এ গিটার এবং বলরুমের কথা বলা হচ্ছে। এ ক্ষেত্রে গিটার ভালো তবে বলরুম খারাপ। সুতরাং রেসপন্স হলো FALSE, কেননা জর্জ বলরুম চায় না। একই অবস্থা রেকর্ড ৪-এ (Piter De Vries), পিয়ানো, ওয়াল্টজ। এ ক্ষেত্রে যেহেতু একটিই গ্রহণযোগ্য, উভয়টি নয়। সুতরাং উভয় রিজেক্ট তথা প্রত্যাখ্যান হবে।
এ কোয়েরির জন্য নিমণলিখিত ফর্মুলা ব্যবহার করুন। এরপর ৪নং চিত্রে প্রদর্শিত ডাটাবেজটি কপি করুন এবং ফলাফলটি পরীক্ষা করে দেখুন।
=NOT(OR(C5=”piano”, D5=”ballroom”))
XOR অপারেটর Exclusive OR হিসেবেও পরিচিত
এক্সেল ২০১৩-এ চালু করা হয় XOR নামের নতুন এক অপারেটর, যা Exclusive OR হিসেবে পরিচিত। এটি NOT-এর বিপরীত হিসেবে ভাবা যায়। যদি একটি শর্ত ট্রু হয় এবং একটি ফলস হয়, তাহলে XOR রিটার্ন করবে TRUE। যদি উভয় শর্ত ট্রু হয় অথবা উভয় শর্ত ফলস হয়, তাহলে XOR রিটার্ন করবে FALSE।
এই কোয়েরির জন্য নিচে বর্ণিত ফর্মুলা ব্যবহার করুন এবং এরপর ৫নং চিত্রে প্রদর্শিত ডাটাবেজ কপি করে ফলাফল পরখ করে দেখুন।
=XOR(C5=”piano”, D5=”ballroom”)
যদি আপনি বুলিয়ান অপারেটরে একবার অভ্যস্ত হয়ে ওঠেন, তাহলে এক্সেল সেলের মহাসমুদ্রে সুনির্দিষ্ট রেকর্ড খুঁজে পেতে আপনাকে তেমন বেগ পেতে হবে না। বুলিয়ান লজিকে পারদর্শী হতে পারলে আপনি খুব সহজে ইন্টারনেট সার্চ, ডাটাবেজ সার্চসহ অনেক কাজ সহজে করতে পারবেন
ফিডব্যাক : mahmood_sw@yahoo.com