حسابداری و امور مالی بیمارستانبخشنامه، تعرفه و محاسبات حقوق
جست‌وجوخبرنامه
آموزش اکسل

فیلتر چندشرطی با ترکیب AND و OR در تابع FILTER اکسل

زمان مطالعه: ۳ دقیقه۳۶ بازدید

«پرسنل بخش اورژانس که وضعیت استخدامشان رسمی است»، یا «پرسنل اورژانس و ICU که اضافه‌کار زیادی دارند» سوال هایی هستند که با یک شرط ساده FILTER جواب نمی‌دهند؛ اینجا چند شرط باید همزمان یا به‌صورت جایگزین هم در یک فرمول FILTER ترکیب شوند.

برای فیلتر تک‌شرطی ساده (مثلا گرفتن گردش کل فقط با نام یک حساب) پست جداگانه آموزش تابع FILTER برای گزارش گردش کل حساب را ببینید؛ این‌جا تمرکز فقط روی ترکیب چند شرط با هم در یک فرمول FILTER است.

ترکیب دو شرط با AND؛ علامت ضرب

برای این‌که همه شرط‌ها همزمان برقرار باشند (AND)، هر شرط را داخل پرانتز جداگانه بنویسید و پرانتزها را با علامت ضرب * به هم وصل کنید. مثلا برای گرفتن فقط پرسنل بخش اورژانس با وضعیت استخدام رسمی:

=FILTER(A2:F11,(C2:C11="اورژانس")*(D2:D11="رسمی"),"موردی یافت نشد")

فیلتر AND دوشرطی پرسنل بخش اورژانس با وضعیت رسمی با تابع FILTER در اکسل
علامت ضرب بین دو شرط یعنی AND؛ فقط ردیفی که هر دو شرط را همزمان دارد باقی می ماند

منطق ریاضی این کار ساده است؛ هر شرط یک آرایه از TRUE و FALSE (که در محاسبات مثل ۱ و ۰ رفتار می‌کنند) برمی‌گرداند. وقتی دو آرایه در هم ضرب شوند، فقط جایی که هر دو ۱ (TRUE) باشند، نتیجه ۱ می‌شود.

ترکیب چند مقدار یک ستون با OR؛ علامت جمع، به‌همراه AND

برای این‌که کافی باشد یکی از چند شرط برقرار باشد (OR)، پرانتزهای شرط را با علامت جمع + به هم وصل کنید. برای مثال پرسنل بخش اورژانس یا ICU که اضافه‌کارشان بیش از بیست ساعت است؛ اینجا OR بین دو بخش و AND با آستانه ساعت با هم ترکیب شده‌اند:

=FILTER(A2:F11,((C2:C11="اورژانس")+(C2:C11="ICU"))*(F2:F11>20),"موردی یافت نشد")

ترکیب OR و AND در تابع FILTER برای چند بخش و آستانه اضافه کار در اکسل
پرانتز داخلی با علامت جمع یعنی OR بین دو بخش؛ ضرب بیرونی یعنی AND با شرط ساعت اضافه کار

نکته مهم ترتیب پرانتزها است؛ ابتدا شرط‌های OR داخل یک پرانتز جمع می‌شوند، بعد کل آن پرانتز در شرط AND ضرب می‌شود. اگر پرانتزبندی رعایت نشود، اکسل عملگرها را به ترتیب اشتباه اجرا می‌کند و نتیجه غلط می‌شود.

حذف یک مقدار خاص از نتیجه با NOT

گاهی راحت‌تر است بگویید «همه به جز یک مورد خاص»؛ برای این کار شرط را داخل تابع NOT بگذارید تا معکوس شود. مثلا همه پرسنل رسمی، به جز کسانی که بخششان اداری مالی است:

=FILTER(A2:F11,(D2:D11="رسمی")*NOT(C2:C11="اداری مالی"),"موردی یافت نشد")

استفاده از NOT در تابع FILTER برای حذف یک بخش خاص از نتیجه در اکسل
NOT شرط داخل خودش را معکوس می کند و آن بخش را از نتیجه حذف می کند

نکات کاربردی ترکیب چند شرط در FILTER

  • AND همیشه با علامت ضرب (*) و OR همیشه با علامت جمع (+) نوشته می شود؛ این دو علامت را با هم اشتباه نگیرید.
  • هر شرط را حتما داخل پرانتز جداگانه بگذارید، مخصوصا وقتی OR و AND با هم ترکیب می شوند؛ پرانتزبندی غلط جواب را عوض می کند.
  • آرگومان سوم FILTER (if_empty) را همیشه پر کنید؛ اگر هیچ ردیفی با ترکیب شرط ها مطابقت نداشته باشد، بدون این آرگومان خطای #CALC! می گیرید.
  • برای بیش از دو شرط هم همین قانون ادامه دارد؛ مثلا (شرط۱)*(شرط۲)*(شرط۳) یعنی هر سه شرط با هم AND شده اند.
  • در نسخه های فارسی و منطقه ای اکسل، جداکننده آرگومان ها به جای ویرگول معمولا نقطه ویرگول ( ; ) است.

📄 دانلود فایل اکسل نمونه «فیلتر چندشرطی پرسنل» — شامل فیلتر AND دوشرطی، ترکیب OR و AND، و فیلتر با NOT روی همان لیست پرسنل بیمارستان.

منبع : سایت حسابداری بیمارستان
کانال تلگرام @hospitalaccounting

نظر شما

نظر شما پس از بررسی منتشر می‌شود. ایمیل‌تان هرگز روی سایت نمایش داده نمی‌شود.