دیوید باید تعداد ستاره هایی را که در طیف وسیعی از سلول ها ظاهر می شوند، بشمارد. او خاطرنشان می کند که به نظر می رسد COUNTIF فرض می کند که * یک کاراکتر کارت وحشی است، بنابراین شمارش مناسب را بر نمی گرداند.
راه های مختلفی برای به دست آوردن نتایج وجود دارد، بر اساس آنچه که واقعاً می خواهید به دست آورید. فرض کنید مقادیر زیر را در سلول های A3:A8 دارید:
- 1234
- آ ب پ ت
- آ ب پ ت
- آ ب پ ت
- *
- ***
در این شش سلول در مجموع هفت ستاره وجود دارد. برای تعیین تعداد ستاره هایی که در محدوده ظاهر می شوند، باید به فرمول آرایه ای مانند این فرمول تکیه کنید:
=SUM(LEN(A3:A8)-LEN(SUBSTITUTE(A3:A8,"*","")))
فراموش نکنید که فرمول را با Ctrl+Shift+Enter وارد کنید .
البته، ممکن است بخواهید به جای تعداد ستاره های واقعی، تعداد سلول های موجود در محدوده که دارای یک ستاره هستند را بشمارید. در این حالت میتوانید از تابع COUNTIF استفاده کنید، مشروط بر اینکه بدانید چگونه فرمول را کنار هم قرار دهید. ابتدا این فرمول را امتحان کنید:
=COUNTIF(A3:A8,"*")
با داده های نشان داده شده در ابتدای این نکته، این فرمول مقدار 5 را برمی گرداند. البته این اشتباه است. دلیل اینکه این نتیجه را برمی گرداند این است که COUNTIF از * به عنوان علامت عام استفاده می کند که به معنای "هر متنی در سلول است." از آنجایی که پنج سلول در محدوده وجود دارد که حاوی متن هستند (مقادیر غیر عددی)، این پاسخی است که توسط فرمول برگردانده می شود.
ممکن است فکر کنید که اگر به جای خود ستاره، کاراکتر ANSI ستاره را جستجو کنید، می توانید به نتیجه صحیح برسید. این فرمول این رویکرد را نشان می دهد:
=COUNTIF(A3:A8,CHAR(42))
این فرمول نیز پاسخ نادرست (5) را برمی گرداند. به نظر می رسد که اکسل هیچ تفاوتی بین جستجوی * و جستجوی CHAR(42) در برنامه نمی بیند. هر دو هنوز به عنوان یک عام در نظر گرفته می شوند.
راه حل این موضوع این است که به یاد داشته باشید که می توانید اکسل را مجبور کنید که ستاره را به عنوان یک کاراکتر واقعی با قرار دادن آن با یک tilde، کاراکتر، به این صورت مجبور کنید:
=COUNTIF(A3:A8,"~*")
این نتیجه 1 را برمی گرداند که ممکن است تعجب آور باشد. اکسل بسیار تحت اللفظی است، با این حال، و فرمول شما برای شمارش تمام سلول هایی که دارای یک ستاره هستند درخواست می کند. پاسخ صحیح این است که تنها یک سلول (A7) حاوی آنچه شما خواسته اید است. اگر میخواهید تمام سلولهایی را که دارای ستاره هستند در هر جایی از سلول بشمارید، باید فرمول را با کاراکترهای عام احاطه کنید، به این ترتیب:
=COUNTIF(A3:A8,"*~**")
این عبارت "هر متن" را پس از یک ستاره تحت اللفظی به دنبال "هر متن" برمی گرداند. نتیجه 4 است که تعداد سلول هایی است که حداقل دارای یک ستاره هستند.
مفهوم استفاده از تایلد برای مقابله با حروف عام در این مقاله پایگاه دانش پوشش داده شده است:
https://support.office.com/en-us/article/find-or-replace-text-and-numbers-on-a-worksheet-0e304ca5-ecef-4808-b90f-fdb42f892e90