فهرست مطالب
این آموزش نحوه شمارش تعداد سلول ها را با متن خاص در اکسل نشان می دهد. نمونههایی از فرمولهایی برای مطابقت دقیق، تطابق جزئی و سلولهای فیلتر شده پیدا خواهید کرد.
هفته گذشته به نحوه شمارش سلولها با متن در اکسل نگاه کردیم، یعنی همه سلولها با هر متنی. هنگام تجزیه و تحلیل تکه های بزرگ اطلاعات، ممکن است بخواهید بدانید که چند سلول حاوی متن خاصی هستند. این آموزش نحوه انجام آن را به روشی ساده توضیح میدهد.
نحوه شمارش سلولها با متن خاص در اکسل
Microsoft Excel یک عملکرد ویژه برای شمارش سلولها به صورت شرطی دارد. تابع COUNTIF تنها کاری که باید انجام دهید این است که رشته متن مورد نظر را در آرگومان معیار تهیه کنید.
در اینجا یک فرمول عمومی اکسل برای شمارش تعداد سلول های حاوی متن خاص وجود دارد:
COUNTIF(محدوده، " text")مثال زیر آن را در عمل نشان می دهد. فرض کنید، فهرستی از شناسههای آیتمها در A2:A10 دارید و میخواهید تعداد سلولها را با یک شناسه خاص بشمارید، مثلاً «AA-01». این رشته را در آرگومان دوم تایپ کنید، و این فرمول ساده را دریافت خواهید کرد:
=COUNTIF(A2:A10, "AA-01")
برای اینکه کاربران خود را قادر به شمارش سلول ها با هر متنی بدون نیاز به تغییر فرمول کنند، عبارت را وارد کنید. متن را در یک سلول از پیش تعریف شده بنویسید، مثلاً D1، و مرجع سلول را ارائه دهید:
=COUNTIF(A2:A10, D1)
توجه داشته باشید. تابع Excel COUNTIF بدون حساس به حروف کوچک و بزرگ است، به این معنی که حروف حروف را متمایز نمی کند. برای درمان حروف بزرگ و کوچککاراکترها متفاوت است، از این فرمول حساس به حروف کوچک و بزرگ استفاده کنید.
نحوه شمارش سلولها با متن خاص (تطابق جزئی)
فرمول مورد بحث در مثال قبلی دقیقاً با معیارها مطابقت دارد. اگر حداقل یک کاراکتر متفاوت در یک سلول وجود داشته باشد، به عنوان مثال یک فضای اضافی در پایان، دقیقاً مطابقت ندارد و چنین سلولی شمارش نخواهد شد.
برای یافتن تعداد سلول هایی که حاوی متن خاصی به عنوان بخشی از محتوای خود هستند، از کاراکترهای عام در معیارهای خود استفاده کنید، یعنی یک ستاره (*) که هر دنباله یا کاراکتری را نشان می دهد. بسته به هدف شما، یک فرمول میتواند شبیه یکی از موارد زیر باشد.
شمارش سلولهایی که حاوی متن خاصی در خیلی شروع :
COUNTIF(range, " text *")شمارش سلولهایی که حاوی متن خاصی در هر موقعیت :
COUNTIF(محدوده، "* متن *")به عنوان مثال، برای پیدا کردن تعداد سلولهای موجود در محدوده A2:A10 با "AA"، از این فرمول استفاده کنید:
=COUNTIF(A2:A10, "AA*")
برای دریافت تعداد سلولهای حاوی "AA" در هر موقعیتی، از این استفاده کنید. one:
=COUNTIF(A2:A10, "*AA*")
برای پویایی بیشتر فرمول ها، رشته های کدگذاری شده را با مراجع سلولی جایگزین کنید.
برای شمارش سلول هایی که با متن خاصی شروع می شوند:
=COUNTIF(A2:A10, D1&"*")
برای شمارش سلول ها با متن خاص در هر جایی از آنها:
=COUNTIF(A2:A10, "*"&D1&"*")
عکس صفحه زیر نتایج را نشان می دهد:
شمارش سلول هایی که حاوی متن خاصی هستند (حساس به حروف کوچک و بزرگ)
در شرایطی که نیاز به تمایز داریدکاراکترهای بزرگ و کوچک، تابع COUNTIF کار نخواهد کرد. بسته به اینکه به دنبال یک تطابق دقیق یا جزئی هستید، باید فرمول متفاوتی بسازید.
فرمول حساس به حروف بزرگ برای شمارش سلول ها با متن خاص (تطابق دقیق)
برای شمارش تعداد سلولهای دارای متن خاص که حروف متن را تشخیص میدهند، از ترکیبی از توابع SUMPRODUCT و EXACT استفاده خواهیم کرد:
SUMPRODUCT(--EXACT(" text ", range ))این فرمول چگونه کار می کند:
- EXACT هر سلول در محدوده را با متن نمونه مقایسه می کند و آرایه ای از مقادیر TRUE و FALSE را برمی گرداند، TRUE نشان دهنده تطابق دقیق و FALSE تمام سلول های دیگر. یک خط فاصله دوتایی (به نام دبل یوناری ) TRUE و FALSE را به 1 و 0 تبدیل می کند.
- SUMPRODUCT تمام عناصر آرایه را جمع می کند. این مجموع تعداد 1ها است که تعداد موارد منطبق است.
به عنوان مثال، برای به دست آوردن تعداد سلول هایی در A2:A10 که حاوی متن در D1 هستند و حروف بزرگ و کوچک را به صورت متفاوت مدیریت می کند. کاراکترها، از این فرمول استفاده کنید:
=SUMPRODUCT(--EXACT(D1, A2:A10))
فرمول حساس به حروف بزرگ برای شمارش سلول ها با متن خاص (تطبیق جزئی)
برای ساخت یک فرمول حساس به حروف بزرگ و کوچک که می تواند یک رشته متن مورد علاقه را در هر جایی از سلول پیدا کند، ما از 3 تابع مختلف استفاده می کنیم:
SUMPRODUCT(--(ISNUMBER(FIND(" text ", محدوده ))))این فرمول چگونه کار می کند:
- عملکرد FIND حساس به حروف بزرگ و کوچک جستجو می کندبرای متن مورد نظر در هر سلول از محدوده. اگر موفق شد، تابع موقعیت اولین کاراکتر را برمیگرداند، در غیر این صورت #VALUE! خطا برای وضوح، ما نیازی به دانستن موقعیت دقیق نداریم، هر عددی (برخلاف خطا) به این معنی است که سلول حاوی متن هدف است.
- عملکرد ISNUMBER آرایه اعداد و خطاهای برگشتی را کنترل می کند. توسط FIND و اعداد را به TRUE و هر چیز دیگری را به FALSE تبدیل می کند. یک یوناری دوتایی (--) مقادیر منطقی را به یک و صفر وادار می کند.
- SUMPRODUCT آرایه 1 و 0 را جمع می کند و تعداد سلول هایی را که حاوی متن مشخص شده به عنوان بخشی از محتوای آنها هستند برمی گرداند.
برای آزمایش فرمول بر روی دادههای واقعی، بیایید دریابیم که چند سلول در A2:A10 حاوی ورودی زیر رشتهای در D1 است:
=SUMPRODUCT(--(ISNUMBER(FIND(D1, A2:A10))))
و این یک تعداد را برمیگرداند. از 3 (سلول های A2، A3 و A6):
نحوه شمارش سلول های فیلتر شده با متن خاص
برای شمارش موارد قابل مشاهده در یک لیست فیلتر شده، بسته به اینکه می خواهید یک تطابق دقیق یا جزئی داشته باشید، باید از ترکیبی از 4 یا چند تابع استفاده کنید. برای سادهتر کردن مثالها، اجازه دهید ابتدا نگاهی گذرا به دادههای منبع بیندازیم.
با فرض، جدولی با شناسههای سفارش در ستون B و کمیت<2 دارید> در ستون C مانند تصویر زیر نشان داده شده است. در حال حاضر، شما فقط به مقادیر بیشتر از 1 علاقه دارید و جدول خود را بر این اساس فیلتر کردید. اینسوال این است - چگونه سلول های فیلتر شده را با یک شناسه خاص شمارش می کنید؟
فرمول شمارش سلول های فیلتر شده با متن خاص (تطابق دقیق)
برای شمارش فیلتر شده سلول هایی که محتوای آنها دقیقاً با رشته متن نمونه مطابقت دارد، از یکی از فرمول های زیر استفاده کنید:
=SUMPRODUCT(SUBTOTAL(103, INDIRECT("A"&ROW(A2:A10))), --(B2:B10=F1))
=SUMPRODUCT(SUBTOTAL(103, OFFSET(A2:A10, ROW(A2:A10) - MIN(ROW(A2:A10)),,1)), --(B2:B10=F1))
که در آن F1 متن نمونه و B2:B10 سلول ها هستند. برای شمارش.
این فرمول ها چگونه کار می کنند:
در هسته هر دو فرمول، 2 بررسی انجام می دهید:
- ردیف های قابل مشاهده و پنهان را شناسایی کنید. برای این کار، از تابع SUBTOTAL با آرگومان function_num روی 103 استفاده میکنید. برای ارائه تمام ارجاعات سلولی به SUBTOTAL، از INDIRECT (در فرمول اول) یا ترکیبی از OFFSET، ROW و MIN استفاده کنید. (در فرمول دوم). از آنجایی که هدف ما یافتن ردیف های قابل مشاهده و پنهان است، واقعاً مهم نیست که به کدام ستون اشاره کنیم (در مثال ما A). نتیجه این عملیات آرایهای از 1 و 0 است که در آن یکها نشاندهنده ردیفهای قابل مشاهده و صفر هستند - ردیفهای پنهان.
- سلولهای حاوی متن داده شده را پیدا کنید. برای این منظور، متن نمونه (F1) را با محدوده سلول ها (B2:B10) مقایسه کنید. نتیجه این عملیات آرایه ای از مقادیر TRUE و FALSE است که با کمک عملگر دوگانه یکنواخت به 1 و 0 اجباری می شود.
در نهایت تابع SUMPRODUCT عناصر این دو را ضرب می کند. آرایه ها را در همان موقعیت ها قرار می دهد و سپس آرایه حاصل را جمع می کند.چون با ضرب در صفر صفر به دست می آید، تنها سلول هایی که در هر دو آرایه 1 دارند، در آرایه نهایی 1 دارند. مجموع 1 ها تعداد سلول های فیلتر شده ای است که حاوی متن مشخص شده است.
فرمول شمارش سلول های فیلتر شده با متن خاص (تطبیق جزئی)
برای شمارش سلول های فیلتر شده حاوی متن خاص به عنوان بخشی از محتویات سلول، فرمول های بالا را به روش زیر تغییر دهید. به جای مقایسه متن نمونه با محدوده سلول ها، متن مورد نظر را با استفاده از ISNUMBER و FIND جستجو کنید، همانطور که در یکی از مثال های قبلی توضیح داده شد:
=SUMPRODUCT(SUBTOTAL(103, INDIRECT("A"&ROW(A2:A10))), --(ISNUMBER(FIND(F1, B2:B10))))
=SUMPRODUCT(SUBTOTAL(103, OFFSET(A2:A10, ROW(A2:A10) - MIN(ROW(A2:A10)),,1)), --(ISNUMBER(FIND(F1, B2:B10))))
در نتیجه، فرمول ها یک رشته متن داده شده را در هر موقعیتی در یک سلول قرار می دهند:
توجه داشته باشید. تابع SUBTOTAL با 103 در آرگومان function_num ، تمام سلول های پنهان را شناسایی می کند که به صورت دستی فیلتر شده و پنهان شده اند. در نتیجه، فرمول های بالا صرف نظر از اینکه چگونه سلول های نامرئی پنهان شده اند، فقط سلول های قابل مشاهده را شمارش می کنند. برای اینکه فقط سلولهای فیلتر شده را حذف کنید، اما سلولهایی را که بهطور دستی پنهان شدهاند اضافه کنید، از 3 برای function_num استفاده کنید.
به این ترتیب می توان تعداد سلول های دارای متن خاص را در اکسل شمارش کرد. از خواندن شما سپاسگزارم و امیدوارم هفته آینده شما را در وبلاگ خود ببینم!
دانلودهای موجود
فرمول های اکسل برای شمارش سلول ها با متن خاص