AND ফাংশন যেখানে সব শর্ত সত্য চায়, OR ফাংশন যেখানে যেকোনো একটি শর্ত সত্য চায়, সেখানে XOR ফাংশন একটু অন্যরকম। XOR-এর পুরো কথা হলো “Exclusive OR”। এর নিয়ম:
বিজোড় সংখ্যক শর্ত সত্য হলে এটি TRUE ফেরত দেয়; জোড় সংখ্যক (শূন্য, ২, ৪…) সত্য হলে FALSE।
সহজ কথায়, দুটি শর্তের ক্ষেত্রে: “হয় এটি সত্য, নয় ওটি সত্য, কিন্তু দুটো একসাথে নয়।”
পোকেমন টাইপ ফায়ার অথবা এইচপি ৬০-এর কম—যেকোনো একটি হলে সত্য, কিন্তু দুটোই সত্য হলে বা কোনোটাই সত্য না হলে মিথ্যা। এমন শর্ত যাচাই করতে XOR ফাংশন দারুণ।
আজ আমরা এই মজাদার লজিক্যাল ফাংশনটি উদাহরণের মাধ্যমে শিখব, সাথে IF ফাংশন জুড়ে আরও বোধগম্য করব।
📌 XOR ফাংশনের গঠন
XOR ফাংশনের সিনট্যাক্স AND/OR-এর মতোই:
text
=XOR([logical1], [logical2], ...)
[logical1],[logical2], … – যত খুশি শর্ত দিতে পারেন।- ফাংশনটি শর্তগুলো যাচাই করে TRUE রিটার্ন করবে যদি সত্য শর্তের সংখ্যা বিজোড় হয় (যেমন 1, 3, 5…)।
- জোড় সংখ্যক (0, 2, 4…) শর্ত সত্য হলে ফলাফল FALSE হবে।
ℹ️ দুটি শর্তের জন্য আমরা বলতে পারি: XOR = “either this or that, but not both”।
ফাংশনের অংশগুলো কমা (,) বা আপনার এক্সেলের ভাষা সেটিংস অনুযায়ী সেমিকোলন (;) দিয়ে আলাদা হয়।
🧪 উদাহরণ ১: শুধু XOR – ফায়ার টাইপ অথবা HP < 60, কিন্তু দুইটাই নয়
ধরা যাক, আমাদের পোকেমনদের নাম, টাইপ ১, এবং এইচপি (HP) আছে। আমরা এমন পোকেমন খুঁজছি যারা হয় ফায়ার টাইপ, নয় এইচপি ৬০-এর কম—কিন্তু যে পোকেমন একইসাথে ফায়ার টাইপ ও কম এইচপির অধিকারী, তারা বাদ যাবে। আবার, যাদের কোনোটিই নেই (ফায়ার নয়, এইচপিও কম নয়), তারাও বাদ যাবে।
✍️ ডাটা টেবিল (A1:C9):
| A (Name) | B (Type 1) | C (HP) |
|---|---|---|
| Bulbasaur | Grass | 45 |
| Ivysaur | Grass | 60 |
| Venusaur | Grass | 80 |
| Charmander | Fire | 39 |
| Charmeleon | Fire | 58 |
| Charizard | Fire | 78 |
| Squirtle | Water | 44 |
| Wartortle | Water | 59 |
| Blastoise | Water | 79 |
আমরা D2 সেলে XOR বসাব।
ধাপে ধাপে XOR:
- D2 সেলে ক্লিক করে টাইপ করুন
=XOR - XOR ফাংশনে ডাবল ক্লিক।
- প্রথম শর্ত লিখুন:
B2="Fire" - কমা (,) দিন।
- দ্বিতীয় শর্ত লিখুন:
C2<60 - এন্টার চাপুন।
ফর্মুলা: =XOR(B2="Fire", C2<60)
Bulbasaur-এর Type 1 Grass (Fire নয় → FALSE), HP 45 (<60 → TRUE)।
শর্ত: একটি TRUE, একটি FALSE → বিজোড় → ফল TRUE।
D2-তে আসবে TRUE।
এখন D2-এর ফিল হ্যান্ডেল টেনে D9 পর্যন্ত কপি করি।
✅ ফলাফল:
| Name | Type 1 | HP | XOR Result |
|---|---|---|---|
| Bulbasaur | Grass | 45 | TRUE |
| Ivysaur | Grass | 60 | FALSE |
| Venusaur | Grass | 80 | FALSE |
| Charmander | Fire | 39 | FALSE |
| Charmeleon | Fire | 58 | FALSE |
| Charizard | Fire | 78 | FALSE |
| Squirtle | Water | 44 | TRUE |
| Wartortle | Water | 59 | TRUE |
| Blastoise | Water | 79 | FALSE |
ব্যাখ্যা:
- Bulbasaur: Fire নয়, HP<60 → শুধু দ্বিতীয় শর্ত সত্য → TRUE
- Ivysaur: Fire নয়, HP=60 (কম নয়) → কোনোটিই সত্য নয় → FALSE
- Charmander: Fire এবং HP<60 → উভয় সত্য → জোড় → FALSE
- Charmeleon: Fire এবং HP<60 → উভয় সত্য → জোড় → FALSE
- Charizard: Fire কিন্তু HP<60 নয় → শুধু একটি সত্য → TRUE? আসলে Charizard HP=78 (>60), Type Fire TRUE, HP<60 FALSE, বিজোড় → TRUE! কিন্তু টেবিলে Charizard-এ FALSE কেন? কারণ উপরের টেবিলে Charmeleon-এর HP 58, Charizard-এর 78। এখানে দেয়া টেবিলে Charmeleon-এর HP 58 (<60) এবং Fire; Charizard-এর HP 78 (>60) এবং Fire। তাহলে Charizard-এ Fire TRUE, HP<60 FALSE → বিজোড় → TRUE আসা উচিত। কিন্তু উপরে আমার তৈরী টেবিলে Charizard-এ FALSE দেখানো হয়েছে। বাস্তবে Charmeleon-এর HP 58, Fire -> দুটোই সত্য -> FALSE; Charizard -> Fire TRUE, HP<60 FALSE -> TRUE। আমার টেবিল ভুল করে Charizard-এ FALSE দিয়েছিলাম। মূল উদাহরণে Charizard-এর HP 78, তাই TRUE হবে। আসল কন্টেন্টে ওয়ারটর্টল দেখানো হয়েছে TRUE, বুলবাসর TRUE, ইত্যাদি। আমি নিচের ব্যাখ্যায় সঠিকভাবে দেবো।
আসলে প্রদত্ত কন্টেন্টের টেবিলে Charmeleon-এর Defence নিয়ে আগে আলোচনা হয়েছিল, এখানে HP। আমরা ডাটা ঠিক করে নিচ্ছি: Charmeleon Fire, HP 58 (উভয় সত্য) -> FALSE; Charizard Fire, HP 78 (একটি সত্য) -> TRUE। সুতরাং Charizard TRUE। টেবিল আপডেট করব।
| Name | Type 1 | HP | XOR Result |
|---|---|---|---|
| Bulbasaur | Grass | 45 | TRUE |
| Ivysaur | Grass | 60 | FALSE |
| Venusaur | Grass | 80 | FALSE |
| Charmander | Fire | 39 | FALSE (দুইটাই সত্য) |
| Charmeleon | Fire | 58 | FALSE (দুইটাই সত্য) |
| Charizard | Fire | 78 | TRUE (শুধু Fire) |
| Squirtle | Water | 44 | TRUE |
| Wartortle | Water | 59 | TRUE |
| Blastoise | Water | 79 | FALSE |
ঠিক আছে।

XOR ফাংশন Fire টাইপ বা HP<60 এর এক্সক্লুসিভ OR দেখাচ্ছে
🧪 উদাহরণ ২: IF-এর সাথে XOR – “Yes” বা “No” বার্তা
এখন আমরা IF-এর ভেতর XOR ব্যবহার করব, যাতে TRUE/FALSE-এর বদলে “Yes”/“No” আসে।
ধাপে ধাপে IF+XOR:
- D2-তে (বা নতুন কলাম E2) ক্লিক করে টাইপ করুন
=IF - IF ফাংশনে ডাবল ক্লিক করুন।
- এর ভেতর
XORটাইপ করে ডাবল ক্লিক। - প্রথম শর্ত:
B2="Fire" - কমা (,) দিন।
- দ্বিতীয় শর্ত:
C2<60 )দিয়ে XOR বন্ধ করুন।- কমা (,) দিন।
- সত্য হলে:
"Yes" - কমা (,) দিন।
- মিথ্যা হলে:
"No" )দিয়ে IF বন্ধ করুন এবং এন্টার দিন।
ফর্মুলা: =IF(XOR(B2="Fire", C2<60), "Yes", "No")
এখন D2 থেকে ফিল করে নিচে কপি করুন।
✅ ফলাফল:
| Name | Type 1 | HP | Yes/No |
|---|---|---|---|
| Bulbasaur | Grass | 45 | Yes |
| Ivysaur | Grass | 60 | No |
| Venusaur | Grass | 80 | No |
| Charmander | Fire | 39 | No |
| Charmeleon | Fire | 58 | No |
| Charizard | Fire | 78 | Yes |
| Squirtle | Water | 44 | Yes |
| Wartortle | Water | 59 | Yes |
| Blastoise | Water | 79 | No |
স্পষ্ট দেখতে পাচ্ছি, শুধুমাত্র যে সকল পোকেমনের একটি মাত্র শর্ত সত্য (হয় Fire, নয় HP<60) তারা “Yes” পেয়েছে। Charmander ও Charmeleon-এর দুই শর্তই সত্য, তাই তারা “No” পেল। আবার Ivysaur-এর কোনোটিই নয়, সেও “No”।

IF+XOR: একক শর্তের জন্য “Yes”, দ্বৈত বা শূন্যের জন্য “No”
🔀 XOR বনাম OR – পার্থক্য মনে রাখার সহজ উপায়
| ফাংশন | কখন TRUE |
|---|---|
| OR | অন্তত একটি শর্ত সত্য হলেই TRUE (দুটো সত্য হলেও) |
| XOR | ঠিক একটি বিজোড় সংখ্যক শর্ত সত্য হলে TRUE (দুটির ক্ষেত্রে শুধু একটি সত্য হলে) |
উদাহরণ: Charmander (Fire + HP<60) → OR এ TRUE, XOR এ FALSE।
Squirtle (Water + HP<60) → OR এ TRUE, XOR এ TRUE।
💡 XOR ব্যবহারে গুরুত্বপূর্ণ টিপস
- দুইয়ের অধিক শর্ত: তিনটি শর্ত থাকলে 1 বা 3 সত্য হলে TRUE, 0 বা 2 সত্য হলে FALSE।
- IF-এর সাথে ব্যবহার: সাধারণত XOR সরাসরি ব্যবহার না করে IF-এ জুড়ে অর্থপূর্ণ আউটপুট নেওয়া হয়।
- টেক্সট ও সংখ্যা: শর্তে টেক্সট কোটেশন দিতে হবে (
"Fire"), সংখ্যা স্বাভাবিকভাবে দিতে হবে। - ভাষা সেটিংস: কমা / সেমিকোলন চেক করে নিন।
- ব্যবহারিক উদাহরণ:
- “ডিসকাউন্ট পেতে হলে হয় সদস্য হতে হবে, নয়ত ১০০০ টাকার বেশি কিনতে হবে, কিন্তু দুটোই প্রযোজ্য নয়।”
- “পরীক্ষায় পাস হতে হয় লিখিত অথবা প্রাকটিক্যাল, কিন্তু দুটোই দিতে হবে না” (একচুয়াল কন্ডিশন ভিন্ন হতে পারে, কিন্তু লজিক বোঝাতে XOR দারুণ)।
🎯 শেষ কথা
XOR ফাংশন এক্সেলের লজিক্যাল টুলকিটের একটি বিশেষ হাতিয়ার। যেখানে AND ও OR একরৈখিক, সেখানে XOR একটু কৌতুহলী—ঠিক যেন “এক পা এদিক, এক পা ওদিক নয়”। পোকেমনদের ফায়ার টাইপ বা কম এইচপির এক্সক্লুসিভ শর্ত যেমন আমরা পরখ করলাম, তেমনি আপনার জটিল ব্যবসায়িক লজিকেও এটি কাজে লাগাতে পারেন।
আজই XOR ফাংশনটি আপনার ডাটায় ট্রাই করুন, আর www.tolearnteam.com-এর সাথে শিখতে থাকুন এক্সেলের আরও মজার ফাংশন!
All Related Topics
- এক্সেলে PivotTable – বড় ডাটাসেট বুঝুন চোখের পলকে
- এক্সেল কেস: পোক মার্টের শপ কার্ট – বাস্তব ফর্মুলা প্র্যাকটিস
- এক্সেল কেস: পোক মার্ট, স্টাইলিং – শপ কার্টকে রঙিন ও প্রফেশনাল করে তুলুন
- এক্সেলে AND ফাংশন – একাধিক শর্ত একসাথে যাচাই করুন
- এক্সেলে AVERAGE ফাংশন – গড় বের করার সবচেয়ে সহজ উপায়
- এক্সেলে AVERAGEIF ফাংশন – শর্ত দিয়ে গড় বের করুন অনায়াসে
- এক্সেলে AVERAGEIFS ফাংশন – একাধিক শর্তে গড় বের করার মহাঅস্ত্র
- এক্সেলে CONCAT ফাংশন – একাধিক সেলের লেখা একসাথে জুড়ে দিন
- এক্সেলে COUNT ফাংশন – সংখ্যা গণনার সহজ উপায়
- এক্সেলে COUNTA ফাংশন – টেক্সট ও সংখ্যা সবকিছুর গণনা
- এক্সেলে COUNTBLANK ফাংশন – খালি ঘর গণনার সহজ উপায়
- এক্সেলে COUNTIF ফাংশন – শর্ত দিয়ে গুনে ফেলুন মুহূর্তেই
- এক্সেলে COUNTIFS ফাংশন – একাধিক শর্তে গণনার সেরা হাতিয়ার
- এক্সেলে IF ফাংশন – শর্ত পূরণ হলে এক, না হলে অন্য কিছু
- এক্সেলে IFS ফাংশন – একাধিক শর্তে একবারেই সিদ্ধান্ত
- এক্সেলে LEFT ফাংশন – বাম দিক থেকে অক্ষর সংগ্রহ করুন
- এক্সেলে LOWER ফাংশন – সব অক্ষর ছোট হাতের করুন এক নিমেষে
- এক্সেলে MAX ফাংশন – রেঞ্জের ভেতর সর্বোচ্চ সংখ্যা খুঁজে বের করুন
- এক্সেলে MEDIAN ফাংশন – সংখ্যার ভিড়ে আসল কেন্দ্র খুঁজে নিন
- এক্সেলে MIN ফাংশন – ডাটাসেটের সবচেয়ে ছোট সংখ্যা খুঁজুন
- এক্সেলে MODE ফাংশন – যে সংখ্যা সবচেয়ে বেশি বার ফিরে আসে
- এক্সেলে NPV ফাংশন – ভবিষ্যতের টাকার বর্তমান মূল্য বের করুন
- এক্সেলে OR ফাংশন – যে কোনো একটি শর্ত সত্য হলেই ফল TRUE
- এক্সেলে RAND ফাংশন – যখন প্রয়োজন এলোমেলো সংখ্যা
- এক্সেলে RIGHT ফাংশন – ডান দিক থেকে অক্ষর সংগ্রহ করুন
- এক্সেলে STDEV.P ফাংশন – পুরো জনগোষ্ঠীর স্ট্যান্ডার্ড ডেভিয়েশন বের করার সহজ কৌশল
- এক্সেলে STDEV.S ফাংশন – নমুনা থেকে স্ট্যান্ডার্ড ডেভিয়েশন বের করা
- এক্সেলে SUM ফাংশন – সংখ্যা যোগ করার সবচেয়ে সহজ উপায়
- এক্সেলে SUMIF ফাংশন – শর্ত মেনে যোগফল বের করার কৌশল
- এক্সেলে SUMIFS ফাংশন – একাধিক শর্ত মিলিয়ে যোগফল বের করার কৌশল
- এক্সেলে TRIM ফাংশন – টেক্সটের অদৃশ্য জঞ্জাল সাফ করার জাদু
- এক্সেলে VLOOKUP ফাংশন – ডাটা খুঁজে বের করার রানি
- এক্সেলে XOR ফাংশন – “হয় এটি, নয় ওটি, দুটো একসাথে নয়”
- এক্সেলে সময়কে সেকেন্ডে রূপান্তর – ৮৬৪০০-এর জাদু
- এক্সেলে দুই সময়ের ব্যবধান বের করার সহজ কৌশল
- এক্সেলে NPV (Net Present Value) – ভবিষ্যতের নগদ প্রবাহের বর্তমান মূল্যায়ন
- এক্সেলে ডুপ্লিকেট রিমুভ – ডাটা ক্লিনিং এখন হাসিখুশি খেলা
- এক্সেলে কীবোর্ড শর্টকাট – মাউস ছাড়াই হাতের যাদুতে সাবলীল কাজ
