
قواعد فرمول نویسی اکسل
یادمه اون اوایل که هنوز با اکسل آشنا نبودم، یک بار برای درس آمار دبیرستان خواستم یک سری نمودار با اکسل رسم کنم. شروع کردم به خوندن و یاد گرفتن، به فرمول ها که می رسیدم می گفتم اینا از اون سختاس که کسی نمیره سراغش و فکر میکردم اکسل فقط نموداره!!! اما بعدا که مطالعه اکسل رو جدی شروع کردم فهمیدم که بحث فرمول نویسی اکسل چقدر مهم و کاربردی هست.
توابع در اکسل اجزای یک فرمول در اکسل رو تشکیل میدن و خروجی مد نظر ما رو می سازند. در فرمول نویسی حرفه ای علاوه بر لزوم شناخت توابع مهم و کاربردی و نحوه کارکرد آنها، یک سری اصول و قوانین پایه ای هم وجود داره که حتما باید رعایت بشه. با تسلط به این دو مورد (شناخت توابع متنوع و تسلط بر قواعد فرمول نویسی)، مطمئنا یک فرمول نویس حرفه ای خواهید شد.
این بار میخوام قواعد پایه ای فرمول نویسی در اکسل رو مطرح کنم که هر کسی که میخواد فرمول نویسی حرفه ای رو بصورت اصولی یاد بگیره حتما باید این قواعد رو بدونه و به کار ببنده. این اصول در ۴ بخش تقسیم بندی میشن:
۱- ساختار توابع
– اهمیت پرانتز در فرمول نویسی
– درک انواع آرگومان ها
۳- مشاهده محاسبات فرمول (دیباگ کردن فرمول)
4- نکات تکمیلی
درک ساختار توابع:
اهمیت پرانتز در فرمول نویسی
در فرمول نویسی، بعد از زدن = و تایپ نام تابع مورد نظر و باز کردن پرانتز، آرگومان های مربوط به اون تابع نمایش داده می شه. به ازای هر تابع، یک پرانتز باز می شه و یک پرانتز همه بسته می شه. دقت کنید که بخصوص در ترکیب توابع، این موضوع ممکنه به یک مسئله پیچیده تبدیل بشه. پس اهمیت تعداد و جای پرانتزها بسیار بسیار بالا هست.
مثلا در شکل ۱ می بینید که پرانتز مشکی رنگ که مربوط به تابع Index هست بسته نشده است. در واقع پرانتز تابع Column(A2) به درستی بسته نشده است و این باعث شده که پرانتز آخر به عنوان پرانتز تابع Column شناخته شود.

شکل ۱- فرمول نویسی اکسل – اهمیت پرانتز ها در فرمول نویسی ترکیبی
با دقت به رنگ ها می تونید تشخیص بدید که پرانتز کدام تابع بسته نشده یا جای مناسب قرار نگرفته. این موضوع خیلی خیلی مهمه. چون در ترکیب توابع، اگر پرانتزها به درستی باز و بسته نشده باشن با خطای شکل ۲ مواجه می شویم.

شکل۲- فرمول نویسی اکسل- خطای ناشی از جابجایی یا کمبود پرانتز ها در فرمول نویسی
روش پیشنهادی من برای بررسی پرانتزها در فرمول های پیچیده و طولانی که تشخیص آن خیلی راحت نیست، همین توجه به رنگ پرانتزهاست. در فرمولی که می نویسید، از داخلی ترین تابع شروع کنید، آیا به ازای هر رنگ پرانتزی که باز شده، پرانتز به همان رنگ و در جای مناسب بسته شده است؟
آرگومان های تابع
در فرمول نویسی، بعد از زدن = و تایپ نام تابع مورد نظر و باز کردن پرانتز، آرگومان های مربوط به اون تابع نمایش داده می شه و شما باید شروع کنید به تخصیص آرگومان مناسب به تابع. همچنین وقتی پرانتز رو باز میکنید، اگر روی fx در نوار فرمول کلیک کنید، مطابق شکل ۳، آرگومان های تابع، در پنجره ای به نام Function Arguments ظاهر می شود و می توانید در این پنجره، آرگومان های تابع را اختصاص دهید.

شکل ۳- فرمول نویسی اکسل – پنجره نمایش آرگومان های تابع
با زدن بر روی Help on this function موجود در پنجره شکل ۳، صفحه ای باز می شه که تابع و آرگومان ها رو به همراه مثال، شرح می ده. استفاده از این توضیحات و مثال ها، مخصوصا در ابتدای کار آشنایی با توابع و فرمول نویسی، توصیه میشه.
برای یادگیری نحوه اضافه کردن توضیحات اختصاصی به فرمول های نوشته شده مقاله افزودن راهنما به فرمول رو بخونید.
انواع حالت هایی که آرگومان یک تابع می تواند داشته باشد، در زیر آمده است:
| آرگومان | مثال | |
|---|---|---|
| ۱ | عدد | Sum(12,3) |
| ۲ | متن | Rept(“Excelpedia”,10) |
| ۳ | آدرس سلول | Sum(A1,A5) |
| ۴ | آدرس یک محدوده | Sum(A1:A5) |
| ۵ | علامت و نشانه | Rept(“J”,10) |
| ۶ | تابع | Rept(“Excelpedia”,Sum(A1,4)) |
| ۷ | محدوده نامگذاری شده | Sum(Data) |
به تفاوت دو حالت ۳ و ۴ دقت کنید. حالت ۳ جمع سلول های A1 و A5 (دو سلول) رو به ما میده. حالت ۴، جمع سلول های A1 تا A5 (پنج سلول) رو به ما میده.
همونطور که تا الان مشاهده کردید، آرگومان ها در یک تابع با یک جداننده (Separator) از هم جدا می شن. این جدا کننده عموما , یا ; است که در هر سیستم می تونه متفاوت باشه. حتما از جداکننده ای که در اکسل نشون داده می شه استفاده کنید. در غیر اینصورت باز هم با خطا ی شکل ۲ مواجه میشید.در واقع اشتباه گذاشتن جدا کننده باعث میشه تعداد آرگومان ها به درستی و در جای خود تشخیص داده نشه و منجر به خطا بشه.
مسیر تغییر این جداکننده در زیر نشون داده شده:
Control Panel\ All Control Panel Items\ Region and Language\ Formats\ Additional Settings\ Number\ List Separator
موقع استفاده از عبارت متنی در یک آرگومان از تابع، اون عبارت حتما باید در یک ” ” گذاشته بشه در غیر اینصورت تابع با خطا مواجه خواهد شد.
بصورت کلی آرگومان های یک تابع یا حتی توابع مختلف، باهم متفاوت هستن و ویژگی های هر آرگومان در هر تابع با توجه به کارکرد خاص آن تابع مشخص شده است.
برخی توابع هستن که آرگومان ندارن مثل Rand. این تابع عدد تصادفی در بازه ۰ و ۱ تولید میکنه و هیچ آرگومانی نداره.
نکته آخر در خصوص آرگومان های یک تابع:
بعضی آرگومانها اجباری هستن و حتما باید در تابع وارد بشن و اگر نشه حتما با خطا مواجه میشیم. اما بعضی آرگومانها در بعضی توابع وجود دارن که اختیاری هستن و میتونیم در تابع ثبت نکنیم. از کجا متوجه بشیم که یک آرگومان اختیاری هست یا اجباری؟
آرگومان های اختیاری در تابع، داخل کروشه [ ] نشان داده می شوند. که نشاند دهنده این است که این آرگومان اختیاری است. بقیه آرگومان ها که داخل [ ] نیستن، اجباری هستن و حتما باید در تابع ثبت بشن.
مثال:
تابع Rank در اکسل رتبه بندی میکنه. یعنی رتبه یک عدد رو در یک محدوده (عدد) به ما میده. آرگومان آخر این تابع [Order] اختیاری است. این آرگومان تعیین میکنه که رتبه بندی بصورت نزولی (۰) انجام بشه یا صعودی (۱). درصورتی که این آرگومان را در تابع وارد نکنیم، اکسل آن را ۰ در نظر می گیره و رتبه بندی رو بصورت نزولی انجام میده.

شکل ۴- فرمول نویسی اکسل – آرگومان اختیاری
حتما باید به این موضوع دقت کنیم که در صورت حذف آرگومان های اختیاری، رفتار و منطق محاسبه آن تابع چگونه خواهد بود.





درود بر شما و خسته نباشین
بنده حقوق مالیات مشمول رو که در اکسل حساب کردم منفی درامده این به این دلیل بوده که مالیات حقوق به شخص تعلق نگرفته و منفی درامده حال من میخواهم این عدد منفی صفر بشود باید چ فرمولی استفاده کنم که صفر را نشان دهد.ممنون میشوم مثال بزنید
درود بر شما
با IF میتونید شرط بذارید که اگر کوچکتر از صفر شد، صفر رو نمایش بده
سلام من در اکسل میانگین اعداد را بدست آوردم و با استفاده از گزینه mailings نرم افزار ورد آنها را در ورد قرار دادم ولی میانگین اعداد را بصورت گرد نشده قرار میده لطفا راهنمایی کنید که چطور این اعداد گرد شوند ؟ باتشکر
درود بر شما
برای گرد شدن، از توابع گرد کردن استفاده کنید
فرمت سل اصل عدد رو تغییر نمیده. تابع round رو در سایت سرچ کنید و مقاله رو بخونید
سلام
وقت بخیر
یک فرم ثابت برای گزارش کار روزانه دارم ک روزانه کلیه اطلاعات را باید در یک شیت دیگه بصورت summery کپی کنم ک بعضی وقتا مشکل پیش میاد
میخوام ی فایل داشته باشم ک همزمان ک اطلاعات در فرم گزارش روزانه وارد میشه در شیت دیگه هم بصورت اتوماتیک وارد بشه و بعد از ذخیره سازی اگه اطلاعات جدید وارد شد زیر اطلاعات قبلی در summery اضافه بشه
ممنون
سلام
برای انجام این کار باید از VBA استفاده کنید.
با سلام.
یه سوال از خدمتتون داشتم. من یه فرمول به شکل زیر نوشتم:
IF(AND(BI1=Sheet1!A2;’Sieve Data’!BH1=Sheet1!B3);Sheet1!G3;IF(AND(‘Sieve Data’!BI1=Sheet1!A2;’Sieve Data’!BH1=Sheet1!B2);Sheet1!G2))
میخوام همین عملیات برای ۳۵ سطر دیگه هم اتفاق بیوفته ولی با خطا مواجه میشم. اگر امکان داره راهنمایی بفرمایید. با سپاس
درود
چه خطایی؟؟
اگر $ ها درست باشه نباید خطا وجود داشته باشه
کاملا بستگی به شرایط داده ها و فرمولتون داره. ظاهر این فرمول غلط به نظر نمیرسه
سلام وقت بخیر یه سوال داشتم
من یه سری اطلاعات اماری دارم.یه فرمول نوشتم که شرط هامو در اون نوشتم و گفتم اگه این شرط ها رو داشت جلوش بنویس مثلا درست.
حالا اگه بخواهم این ردیف هایی که جلوشون نوشته درست رو در جدولی قرار دهم .چیکار میباید بکنم؟
ایا تنها راه حل کپی کردنه؟ کد نویسی یا فرمول نداره؟
درود بر شما
هم میتونید کد نویسی کنید
هم فرمول نویسی!
بسته به حجم داده و ساختار داده روشها متفاوته. برای فرمول نویسی، میتونید از فرمول نویسی آرایه ای و ترکیب index, if, small و … استفاده کنید
میشه روش ها رو بگید؟
من میخوام شیش سلول از اون ردیفی که جلوش نوشته شده درست رو بیارم داخل یه جدول.
با سلام
بسیار تشکر میکنم از سایت خوبتان ببخشید میخواستم اکیل رو به صورت حرفه ای یاد بگیرم مخصوص فرمول نویسی برای کارهای حسابداری و همچنین ساخت نرم افزار با اکسل رو خیلی تشکر میکنم که کمکم کنید
درود بر شما
اگر مقدمات رو میدونید با فرمول نویسی آشنایی دارید، دوره اکسل نینجا رو پیشنهاد میکنم که پیشنیاز ساخت داشبورد و نرم افزار هست
بعد هم برای نرم افزار حرفه ای تر، وی بی ای رو یاد بگیرید
سلام
یک فایل طراحی کردم مشکل اکسل دارم .لطفا کمکم کنید.
۱-هنگام محاسبه فرمول سلول های خالی که ارجاع داده شده اند در محاسبه بعنوان صفر در نظر گرفته می شوند ودر نتیجه یک عدد پرت نمایش می دهند و من میخواهم خالی باشند وقتی عددی در سلول وارد نشده است.
۲-برای حذف خطای DIV/0 چکار باید کرد.
درود بر شما
بسته به نوع محاسبات میتونید با if کنترل کنید
سوال دوم هم این مقاله رو بخونید
https://excelpedia.net/error-management/
سلام و خسته نباشید
میخواستم یک فرمول بنویسم که تاریخ رو از ستون a بخونه،اگر اون تاریخ روز اول هر ماه بود،عدد متناظر اون تاریخ در ستون b رو پیدا کنه و میانگین بگیره.
میشه همچین چیزی آیا؟؟
سلام،
با استفاده از تابع Rightو Value میتونید عدد روز رو از تاریخ دربیارید، در نهایت با استفاده از IF بررسی کنید که اگر مساوی یک هست تاریخ رو بذاره:
باسلام و احترام
وقت بخیر
استاد کار پروژه هم انجام می دهید؟ (فرمول نویسی در اکسل)
درود بر شما
ایمیل بزنید به info@excelpedia.net و شرح بدید موضوع رو.
پاسخ داده میشه
با سلام:
اگر تعداد ایف ها زیاد باشه (مثلا حدود ۲۵ ایف) چه راهکاری برای کند نشدن برنامه وجود داره؟
درود بر شما
بستگی به صورت سوال داره
قطعا توابع جایگزین میشه استفاده کرد