سلام
خدا را شکر که به من این موهبت را ارزانی داشت تا دوباره با کتابی دیگر در خدمت دوستانم باشم. بسیار دلم می خواست که این کتاب را مانند دیگر کتابهایم بر روی وبلاگ قرار دهم تا همه کس از همه جا قادر به دانلود آن باشد اما به دلایل زیر این امر میسر نشد:
1- حجم بسیار زیاد کتاب – فکر نمی کنم هیچ کس کتابی الکترونیکی با حجم 260 مگا بایت دیده باشد! برای من که از اینترنت کم سرعتی استفاده می کنم آپلود این مقدار غیر ممکن است برای دوستانی که وضعشان مانند من است نیز دانلود آن مقدور نخواهد بود.
2- سرقت – زمانی که متوجه شدم کتاب آموزش اکسل سریع و راحت من را شخصی بدون اجازه به دیگران می فروشد از ادامه کارم دلسرد شدم، اما مایوس نشدم. اگر یک نفر بتواند از یک صفحه کتاب من مشکلش را حل کند برای من کافی است. چه بسیار افرادی که با استفاده از این کتاب در جایی تدریس کردند یا در آزمون استخدامی جایی قبول شدند و ... اینها برای من کافی است. ( توجه کنید که هیچ کتاب فارسی با این حجم (۵۶۵ صفحه A4 که در صورت تبدیل به قطع کتابی بیش از 1000 صفحه خواهد شد ) و عمق مطلب تا این لحظه در مورد VBA منشر نشده است. البته مقالاتی جسته و گریخته در سایتها قرار دارد اما کتابی منسجم به این شکل که حاوی چندین پروژه بزرگ و عملی است به گواهی اغلب دوستان در اینترنت یافت نمی شود.)
3- هزینه ها – اگر بخواهم که این روند ترجمه و تالیف کتب همچنان ادامه یابد می بایست فکری برای برخی هزینه های کتاب می کردم.
با توجه به موارد بالا و برخی دلایل جزئی دیگر و با توجه به مشورت با برخی دوستانم ، تصمیم گرفتم که این کتاب را بر روی CD منتشر نمایم. از این رو دوستانی که مایلند کتاب را خریداری نمایند ابتدا PDF های مربوط به فهرست و ۳ فصل نخست کتاب را دانلود کرده و مطالعه نمایند. این سه فصل به صورت مجانی در وبلاگ قرار داده شده است. حتما فهرست را دانلود کنید تا از کلیه موارد و سرفصل های موجود در کتاب اصلی مطلع شوید.
پس از اینکه فهرست و 3 فصل نخست را خواندید و احتمال دادید که این کتاب ارزش خریدن را دارد برای خرید به صورت زیر اقدام فرمایید.
نحوه خرید کتاب از بانک
خرید کتاب از طریق خودپرداز( کارت به کارت )
تاریخ آخرین به روز رسانی ۱۲/۰۶/۸۸
در آستانه انتشار جدیدترین کتابم ( پروژه های حرفه ای با Excel VBA ) بهتر دیدم که مجموعه کتابهای قبلی را کنار هم قرار دهم چرا که شاید برخی دوستان فقط یک یا دو کتاب بنده را مشاهده کرده باشند. برای دانلود کتابها می توانید روی لینک راست کلیک کرده و از منوی باز شده گزینه Save Target As را انتخاب نمایید. همه کتابها بر روی دو سرور قرار گرفته اند تا در صورت بروز مشکل بتوانید از سرور دیگر اقدام به دانلود نمایید. توجه کنید که در مورد سایت esnips باید روی لینک کلیک کنید و در صفحه باز شده روی دکمه دانلود کلیک نمایید
|
Microsoft Excel VBA Professional Projects کسانی که می خواهند قدرت اکسل را با تمام وجود حس کنند ، نیاز دارند که زبان برنامه نویسی VBA را یاد بگیرند. این کتاب شما را با انجام چند پروژه حرفه ای و بسیار عظیم با VBA آشنا می سازد. این کتاب هنوز منتشر نشده است ولی شما می توانید سه فصل نخست آن را از لینکهای زیر دانلود کنید. پس از دانلود به فهرست موجود در آن نگاهی بیاندازید. این کتاب ارزش دو سال زحمت ترجمه در سربازی را داشت. اگر از سرعت و قدرت زیاد نمیترسید پس شروع کنید. PersianGig esnips
|
![]() |
|
آموزش اکسل سریع و راحت دوستانی که می خواهند اکسل را از پایه و به صورت اصولی بیاموزند به کتابی احتیاج دارند که با آنها گام به گام حرکت کند. اکثر کتابها پس از چند صفحه آغازین به یکباره به مواردی در اکسل می پردازند که برای یک کاربر مبتدی هنوز مناسب نیست. این کتاب شما را قدم به قدم برای آشنایی با اکسل همراهی خواهد کرد و مانند برخی کتب دیگر شما را در میانه راه تنها نخواهد گذاشت. دانلود (PersianGig) دانلود (esnips) |
![]() |
|
جداول و نمودارهای محوری در اکسل آنالیز داده های عظیم کاری است که اکسل برای آن ساخته شده است. با ابزارهای PivotTable (جدول محوری) و PivotChart (نمودار محوری) آنالیز داده ها از یک کار هولناک و مبهم به یک لذت تبدیل خواهد شد. کافی است بدانید که چگونه از این ابزارها استفاده نمایید. این کتاب به طور تخصصی به این مبحث می پردازد. دانلود (PesrianGig) دانلود (esnips) |
![]() |
|
با اکسل دوست شویم در این کتاب مقالاتی را که در طول زمان در وبلاگ منتشر شده بود بصورت یکجا خواهید داشت. ویرایش چهارم این کتاب علاوه بر افزایش تعداد مقالات مندرج در آن ، دارای مثالهای کتاب در قالب فایل اکسل می باشد که می توان پس از مطالعه مطلب با کلیک روی آن مثال به فایل آماده موجود که به کتاب الصاق شده است دسترسی پیدا کرد. دانلود(PersianGig) دانلود(esnips) |
![]() |
|
توابع آماری در اکسل یکی از مجموعه کتابهای توابع ، کتاب توابع آماری است که به شرح این توابع در اکسل می پردازد. امروزه آمار دیگر فقط در یک رشته تدریس نمی شود بلکه اکثر رشته ها درسی به نام آمار دارند. پس بهتر است که بدانیم اکسل چه کمکی می تواند در این زمینه به ما بکند. دانلود (PersianGig) دانلود (esnips) |
![]() |
|
توابع ریاضی و مثلثات در اکسل اکسل فقط برای جمع زدن اعداد نیست. بسیاری از توابع ریاضی در اکسل موجود است که شاید از آن بی خبر باشیم. شاید یکی از این توابع مشکل شما را در محاسبات حل کند.
دانلود (PersianGig) دانلود (sharemation) |
![]() |
|
توابع تاریخ و زمان اکسل با تاریخ و زمان چگونه رفتار می کند؟ چگونه برخی افراد می توانند دو تاریخ را از هم کم کنند؟ برای پاسخ به این سوالها و دیگر مشکلهایی که ممکن است به هنگام کار با تاریخ و زمان برای شما پیش آید ، بهتر است سری به این کتاب بزنید.
دانلود(PersianGig) دانلود (sharemation) |
![]() |
|
توابع جستجو و مرجع اگر در کارخانه ای مشغول کار هستید و می خواهید اطلاعات کارمندان را از کاربرگهای دیگری استخراج و در دیگر توابع بکار برید، اگر می خواهید از اکسل به عنوان یک پایگاهی که داده های اصلی را نگهداری می کند استفاده کنید، در این صورت به توابع جستجو و مرجع نیاز خواهید داشت. این کتاب شما را در درک مفهوم هر تابع راهنمایی می کند. دانلود (PersianGig) دانلود (sharemation) |
![]() |
در اکسل کاربر میتواند توابعی را تعریف کند که User Defined Function یا به اختصار UDF نامیده میشوند، در این مقاله نحوه تعریف این توابع و بکار گیری آن توضیح داده شده است.
مطالب به صورت خود آموز و قدم به قدم توضیح داده شده است .
دقیقا یادم است که روزی قرار ملاقاتی با یکی از اساتید اکسل داشتم ، ایشان استاد دانشگاه بودند و گویا دوتا هم مدرک دکتری . تقریبا یادم نیست که چه صحبتهایی شد اما این را خوب یادم است که بعد از آن ملاقات بود که میخواستم خودم در اکسل یک تابع بنویسم ، خوب از کجا میدانستم که میشود اینکار را کرد ؟
فکر کنم که روزی فایلی را از اینترنت گرفته بودم و بعد از نصب آن وقتی به Insert à function رفته بودم گزینهای به نام User Function را دیدم و همان موقع شصتم خبر دار شد که بله میشود خودمان توابع دلخواهمان را در اکسل بنویسیم . اما چطوری ؟

در دبیرستان ساعتها وقت ما را همین کلمه گرفت و انصافاٌ من با کامپیوتر بود که تازه فهمیدم تابع چیست. در واقع تابع یک عملگری است که چیزی را میگیرد و روی آن کاری را انجام میدهد و بعد چیز دیگری که خروجی میگوییم را به ما میدهد.
مثلا همین تابع SUM را در نظر بگیرید ، چند تا عدد میگیرد و جمع آنها را به ما میدهد.
اکسل بیش از 300 تابع دارد که اکثر کارهایی که ممکن است بخواهیم انجام دهیم با این توابع قابل انجام است ، در ضمن ترکیب این توابع نیز برای ما امکانات فراوانی را بهمراه دارد و این را هم مد نظر داشته باشیم که شرکتی به عظمت ماکروسافت و تجربه چندین سالهاش مطمئنا نیازهای تمامی کاربران در سطح دنیا را در نظر داشته و تا آنجایی که امکان داشته توابع مختلف را پیش بینی کرده است .
البته این سوال ممکن است به ذهن شما متبادر شود که چرا باید تابع جدیدی اضافه کرد.
شاید دلایل زیر بتواند گوشهای از ارزش تابع را برای ما بیان کند:
برای شروع بهتر است کمی در خصوص ویژوال بیسیک بدانیم . VB یک زبان برنامه نویسی بسیار متداول است. برای اینکه یک تابع جدید نوشته شود لازم است که کمی با برنامه نویسی با این زبان آشنا باشیم. برای این منظور پیشنهاد میکنم که نرم افزار VB را تهیه کنید و بعد از آن هم چند CD آموزشی و یک کتاب . با کمی تمرین با اصول ابتدایی این زبان آشنا خواهید شد و قول میدهم کار بسیار ساده تر از آنچه فکر میکنید باشد.
لازم به ذکر است که نسخه جدید نرم افزار VB به نام VB.NET نیز وجود دارد که امکان استفاده آن در OFFICE 12 که نسخه بعدی آفیس است گنجانده شده و بد نیست بدانیم که VB.NET در واقع قابلیتهای زبان برنامه نویسی C# را دارد.
شما برای استفاده از VB در اکسل نیاز ندارید که نرم افزار VISUAL BASIC را نصب کنید ، همراه با نصب آفیس خود این نرم افزار نیز نصب میشود.
ابتدا بایستی وارد محیط VB شویم. برای اینکار چندین راه وجود دارد که عبارتند از:
· زدن کلید ALT+F11
·
· از Toolbar :

محیط ویژوال بیسک

شما باید دستورات تابع خود را در یک Module (ماژول) بنویسید ، از منوی Insert گزینه Module را بزنید . و اگر به project explorer نگاه کنید متوجه خواهید شد که یک ماژول جدید ایجاد شده است.

یک تابع در ویژوال بیسیک قواعد استانداردی دارد که شما باید از این قواعد اطاعت کنید .
اولین قانون آن این است که یک تابع با دستورات استانداردی شروع و به پایان میرسد.
قانون دوم این است که هر تابع یک نوع دارد و ورودیهای یک تابع در داخل پرانتز مشخص میشوند.
قانون سوم ، نوع داده ورودیها (و خود تابع) باید مشخص شود.
این دستورات عبارتند از :
Private Function Test(Num As Integer) as Double
End Function
نام تابع ما test است و عبارت داخل پرانتز میگوید که این تابع یک ورودی دارد که نام آن ورودی Num است و integer بیانگر آن است که این ورودی عددی صحیح است . (-32,768 تا 32,767 )
خروجی تابع از نوع double است و البته گذاشتن آن در همه موارد الزامی نیست ، گرچه بهتر است که مشخص شود. (برای اطلاع بیشتر به کتابهای برنامه نویسی مراجعه کنید.)
عبارت Private Function نشانگر شروع تابع و End Function برای پایان تابع است.
فرض کنید میخواهیم تابعی بنویسیم که یک عدد را بگیرد و آنرا در 10 ضرب کند!
اول باید تصمیم بگیریم که اسم این تابع را چه بگذاریم ، در حقیقت این اسم همان کلمهای است که در اکسل برای استفاده از این تابع استفاده خواهیم کرد.
خوب اسم آنرا Test میگذاریم و میدانیم که این تابع باید یک ورودی داشته باشد و خوب چون به تازگی با نوع عدد Integer آشنا شدیم (عدد صحیح) نوع این ورودی را هم Integer میگذاریم.
باید نامی برای این ورودی در نظر بگیریم ، این نام نباید یک نام آشنا ! برای VB باشد و بهتر است نامی با مسما در نظر بگیریم ، اینجا اسم این ورودی را Num میگذاریم.
پس در ماژول خود خواهیم نوشت :
Private Function Test(Num As Integer)
Test = Num * 10
End Function

حال از ویژوال بیسیک خارج میشویم ( Alt + Q) و به اکسل بر میگردیم .
مثل توابع استاندارد اکسل میتوان از این تابع هم استفاده کرد مثلا بنویسید :
= test(8)
= test(A1)
اگر به جای کلمه Private ، Public بنویسیم، میتوانیم نام تابع جدیدمان را در UserFunction ببینیم.

میخواهیم تابعی بنویسیم که شماره رنگ یک سلول (fill color) یا شماره رنگ قلم (font color) را مشخص کنیم.
(میدانیم که در اکسل از 56 رنگ میتوان استفاده کرد که هر رنگ یک کد دارد مثلا کد رنگ قرمز 3 و آبی 5 است.)
· نام تابع : CellColor
· ورودی : تابع دو ورودی دارد ، ورودی اول آدرس سلول است و ورودی دوم مشخص میکند که ما میخواهیم رنگ زمینه سلول را داشته باشیم یا رنگ قلم آنرا .
اگر ورودی دوم عبارت fill بود رنگ زمینه مد نظر است و اگر font بود رنگ قلم.
· نام ورودی اول MyRange و از نوع Range است
· نام ورودی دوم Mode و از نوع String است
· اگر ورودی دوم داده نشده بود و یا مقادیری غیر fill و font بود ، خروجی تابع یک خطا به شکل #Mistake باشد .
برای نوشتن این تابع از دستور شرطی IF به صورت زیر استفاده میکنیم :
Public Function Colorindex(MyRange As Range, Mode As String)
Application.Volatile True
If Mode = "font" Then
Colorindex = MyRange.Font.Colorindex
ElseIf Mode = "fill" Then
Colorindex = MyRange.Interior.Colorindex
Else
Colorindex = "#Mistake"
End If
End Function
عبارت As Range بیان میکند که ورودی اول یک خانه است.
عبارت String As بیان میکند که ورودی دوم یک رشته (متن – غیر عدد) است .
دستور Application.Volatile True به اکسل میگوید که هر وقت هر خانهای را مجدد محاسبه کرد، باید تابع ما را نیز مجدد محاسبه کند . ( این حالت مانند تابع now() خود اکسل است که زمان را مرتب محاسبه و نشان میدهد.) زدن کلید F9 نیز باعث میشود که این تابع مجدد محاسبه شود.
حال خانه A1 را به رنگ زرد و متن آنرا قرمز میکنیم و تابع را روی آن آزمایش میکنیم.
فرمولهای بکار رفته در خانه B1 و B2 را به ترتیب در D1 و D2 مشاهده میکنید.
|
|
A |
B |
C |
D |
|
1 |
far |
13 |
|
=colorindex(A1,"font") |
|
2 |
|
6 |
|
=colorindex(A1,"fill") |
بهتر است از مثال قبل یک استفاده کاربردی کنیم. مثلا در یک محدوده میخواهیم سلولهای قرمز رنگ را با هم جمع بزنیم. (این سلولها میتوانند با Conditional Formationg قرمز شده باشند.)
Public Function SumByColor(InRange As Range, WhatColorIndex As Integer) As Double
Application.Volatile True
For Each C In InRange.Cells
If C.Interior.Colorindex = WhatColorIndex Then
SumByColor = SumByColor + C.Value
End If
آقای امین حیدرپور مولف محترم کتاب مرجع کامل اکسل لطف کردند و عناوین این کتاب را برای بنده ارسال کردند.من هم برای اینکه دوستان نیز از این کتاب اطلاع یابند این عناوین را در وبلاگ قرار می دهم.امیدوارم که شاهد کارهای بهتر و بهتری از این مولف کشورمان باشیم.
آقای علی محمدزاده سوال کرده اند که :
سوال :من میخوام برای یک سلول مثلا F1 بصورت زير بنويسم بطوری که جواب آن در خانه مجاور باشد
مثلاً اگر F1 عدد کمتر از 10 باشد ضعیف
اگر F1 عدد بین 10 و 12 باشد متوسط
اگر F1 عدد بین 12 تا 16 باشد خوب
اگر F1 عدد بین 16 تا 20 باشد عالی
مشکل این است که شرط تو در تو همراه عملگر & , Orجواب نمی دهد.
لطفا مرا راهنمایی کنید.
جواب:برای این کار می توانید از فرمول IF استفاده کنید.به این صورت که در سلول G1 فرمول زیر را وارد کنید.
=IF(F1<,"ضعیف",10IF(F1<,"متوسط",12IF(F1<,"خوب",16IF(F1<=20,"عالی"عدد را درست وارد کنید"))))
می توانید این فرمول را به اکسل کپی کنید و استفاده کنید.اما منطق فرمول به این صورت است که:
ابتدا عدد چک می شود اگر <10 آنگاه ضعیف و اگر بزرگتر از 10 باشد به قسمت False می رود چون آنجا نیز یک فرمول IF هست پس در این جا نیز عدد چک می شود. چون عدد بزرگتر از 10 بوده که ما به این قسمت آمده ایم پس نیازی نیست که شرط را 10
به چنین فرمولهایی فرمول IF در IF می گویند.البته تا آنجایی که من می دانم تعداد این IF های تو در تو محدود می باشد .
آرایه ها
آرایه ها می توانند چندین محاسبه را با یک فرمول انجام دهند یا به جای دریافت یک داده گروهی از داده ها را دریافت کنند.بهترین راه برای فهم چگونگی عملکرد آرایه ها حل چند مثال است.
فرض کنیم که دو ردیف عدد داشته باشیم.
می خواهیم مجموع هر ستون را تنها با یک فرمول بدست بیاوریم.برای این کار:
=A1:E1+A2:E2


شکل مقابل نتیجه را نشان می دهد.همان طوری که می بینید یک فرمول آرایه ای مجموع هر گروه از داده ها را محاسبه می کند.این تک فرمول در هر پنج سلول یکسان دیده می شود.اکسل فرمولهای آرایه ای را در آکولاد قرار می دهد.در این مثال نواحی A1:E1 و A2:E2 آرگومان های آرایه بودند.(پارامتر)
مثالی که زدیم یک فرمول آرایه بود که به صورت افقی محاسبه می کرد.حال مثالی برای آرایه عمودی می آوریم:

=A1:A6*B1:B6
حال تابع دیگری را با آرایه ترکیب می کنیم.فرض کنیم که می خواهیم میانگین حاصل ضرب های بالا را یکجا بدست بیاوریم.برای این کار :
=AVERAGE(A1:A6*B1:B6)
با این فرمول ابتدا دو سطر د رهم ضرب می شوند و سپس از آنها میانگین گرفته می شود.
آرایه های دو بعدی
مثالهایی که در بالا آوردیم مثالهایی از آرایه های تک بعدی بودند.یعنی سطر یا ستون پارامتر آنها بود اما آرایه هایی وجود دارند که در آنها هم سطر و هم ستون پارامتر هستند.به مثال زیر توجه کنید.فرض کنید می خواهیم جزء صحیح اعداد مثال بالا را پیدا کنیم.برای این کار
=INT(A1:C7)
همانطور که می بینید اکسل جزء صحیح هر سلول را توسط آرایه محاسبه کرده است.
برای درج یک فرمول آرایه ای باید ابتدا سلول یا سلولهایی را که نتیجه در آنها درج می شود انتخاب کرد.اگر آرایه نتایج ضربی را ارائه می دهد باید ناحیه جواب مطابق با ناحیه داده ها باشد تا محاسبات به درستی انجام شوند.
برای قفل شدن فرمول آرایه باید سه کلید Ctrl + Shift + Enter را با هم فشار دهید.با این کار اکسل دو آکولاد به اول و آخر فرمول اضافه می کند.نمی توان این آکولادها را دستی تایپ کرد چون در آن صورت اکسل فرمول را به عنوان آرایه قبول نمی کنید.بلکه آنرا به عنوان یک داده و یا یک برچسب در نظر می گیرد.
نمی توان یک سلول از آرایه را به تنهایی ویرایش کرد یا پاک کرد و یا جابجا نمود.برای ادیت یا هر کار دیگری باید همه آرایه را با هم انتخاب کنیم و در نوار فرمول به تغییر فرمول بپردازیم.در این هنگام دو آکولاد ناپدید می شوند در انتها باید دوباره آن سه کلید را با هم فشار دهیم.
می توان به بخشی از آرایه فرمت خاصی اعمال کرد .یا می توان بخشی را کپی کرد و در جای دیگر Paste کرد.
آرایه برای اعداد ثابت
مقادیر ثابتی که در آرایه می توان استفاده کرد عبارتند از عدد ، متن یا مقادیر منطقی.در این حالت باید به صورت دستی اطراف مقادیر ثابت آرایه آکولاد درج کنیم.مقادیر ثابت در درون فرمول آرایه با ویرگول و سمی کولن جدا می شوند.ویرگول برای نشان دادن نتیجه در ستون های مجزا و سمی کولن برای نشان دادن نتیجه در سطرهای مجزا بکار می رود.به مثالهای زیر توجه کنید:
می خواهیم جزء صحیح اعداد 3.5 و 1.75 و 5.2 را پیدا کنیم.برای این کار:

=INT({3.5,1.75,5.2})
اگر بخواهیم آرایه را به صورت عمودی داشته باشیم باید بین پارامترها از سمی کولن استفاده کنیم.مثال زیر مبیّن این مطلب است:
جذر اعداد زیر را با آرایه پیدا کنید. 4،9،16،25،36،49،64،81،100،121،144،169
تعداد داده ها 12 تا است پس می توان یک محدوده 6در 2 یا 3 در 4 را انتخاب کرد فرض کنیم 3 در 4 محدوده انتخابی باشد.در فرمول آرایه تایپ می کنیم:
=SQRT({4,9,16,25;36,49,64,81;100,121,144,169})

Data Tables
یک جدول داده ها یا جدول حساس بر اساس یک یا چند فرمول و چند داده محاسبات را برای آن فرمول ها انجام می دهد.همان طور که گفتیم این جدول می تواند یک یا چندین متغیر ورودی داشته باشد .مثالهای بعدی مطلب را روشن تر می کنند.
Data Table بر اساس یک متغیر ورودی

6, 6.5, 7, 7.5, 8, 8.5 درصد
=PMT(A2/12,360,200000)
A2/12 نرخ بهره به صورت ماهانه است.360 تعداد اقساط و 200000 هم که قیمت خانه می باشد.چون سلول A2 خالی است پس این فرمول بدون بهره محاسبه می شود


{=Table(,A2)}
چون این مثال سلول مرجع سطری ندارد بنابراین جای آن در فرمول خالی گذاشته شده است.
خریدار خانه تصمیم می گیرد که فقط 185000 دلار را قسطی پرداخت کند و کمی را نقد بپردازد.برای محاسبه اقساط این وام باید فرمول را تغییر دهیم.یعنی در فرمول سلول C2 عدد 185000 را به جای 200000 وارد کنیم.محاسبات به طور خودکار دوباره انجام می شوند.
جدول تک متغیر با بیش از یک فرمول
می توان بر اساس یک سری داده فرمولهای زیادی را محاسبه کرد.اگر داده ها را به صورت ستون وارد کنیم باید فرمولها را در ستونهای بعدی وارد کنیم.مثال زیر را ببینید.
فرض کنیم که شخص خریدار می خواهد که مقایسه ای بین اقساط وام 200000 و 180000 انجام دهد.برای این کار اینگونه عمل می کنیم:
1. مثال وام 200000 را که به خاطر دارید.حال در سلولD2 فرمول زیر را وارد می کنیم:=PMT(A2/12,360,180000)
اگر دقت کنید می بینید که این فرمول نیز به همان سلول A2 رجوع می کند.

Data Table بر اساس دو متغیر ورودی
جدول یک متغیره با دو فرمول را دیدیم حال می خواهیم جدول دو متغیره را با یک فرمول بررسی کنیم.همان مثال قبلی را ادامه می دهیم.فرض کنیم شخص خریدار می خواهد که علاوه بر اقساط وام به ازای هر بهره مقدار قسط را به ازای تعداد اقساط جدول بندی کند.طوری که یک جدول متقاطع را تشکیل دهد.یعنی به ازای نرخ بهره های گفته شده و تعداد اقساط 180 و240 و 300 و یا 360 ماهه.برای ساختن این جدول مراحل زیر را طی می کنیم:

همان طور که می بیند در این مثال چون هر دو متغیر سطر و ستون را داشتیم بنابراین در فرمول جدول داریم :
{=TABLE(B1,A2)}
نکته
- نمی توان بخشی از جدول را بصورت جداگانه ادیت کرد چون جدول دارای ساختار آرایه است.
- می توان اعداد و نتایج را کپی کرد و در جای دیگر Paste کرد.به این ترتیب با تغییر فرمول جدول داده ها تغییر نمی کنند و می توان فرمول های دیگر را نیز امتحان کرد.
شکلبندی با Style
برای اعمال چندین شکلبندی به یک فایل بهتر است که از Style استفاده کنیم .برای دسترسی به این دستور مسیر زیر را طی کنید:Format à Style
در کادر باز شده نام style به کار رفته در فایل فعلی را می بینیم .و در پایین آن چندین گزینه تیک دار وجود دارد که مربوط به فرمت عدد و حفاظت و ... می باشد.برای اینکه یک Style را اعمال کنیم باید نام آنرا از لیست باز شدنی موجود در پنجره Style پیدا کرده و آنرا انتخاب کنیم و OK را فشار دهیم.
می توان style جدیدی را تعریف کرد و از آن برای فرمت سریع فایل استفاده کرد.برای این کار مراحل زیر را طی می کنیم:
چون اینجا یک سلول را ابتدا انتخاب کرده بودیم پس style ما بعد از این برای یک سلول اعمال خواهد شد.این امکانی مفید است چون شاید بخواهیم که برای یک سلول style خاص و برای سلول دیگر style دیگری را در نظر بگیریم.
تغییر دادن یک style
شاید به جای اینکه یک style جدید تعریف کنید بهتر باشد که style موجود را اصلاح کنید برای این کار :
ترکیب style از فایل دیگر
برای کپی کردن یک style از فایل دیگر به فایل جاری مراحل زیر را طی می کنیم:
حذف Style
برای حذف style ابتدا آنرا از پنجره style انتخاب کرده سپس روی Delete کلیک کنید.البته نمی توان style نرمال را حذف کرد.
نام گذاری سلولها و نواحی
برای راحتی در انتخاب ، فرمول نویسی و ارجاع به نواحی از نام گذاری سلولها استفاده می شود.در این شیوه نامی را برای یک یا چند سلول در نظر می گیرند.
تعریف نام ها با استفاده از Name Box
راحت ترین راه برای تعریف یک نام برای سلول مثلا C5 به این صورت است که:
1.
2.
3. نامی را تایپ می کنیم به عنوان مثال تایپ کنید Test و سپس اینتر را بزنید.
حال هر وقت سلول C5 انتخاب شود در Name Box نام آن یعنی test دیده خواهد شد.
حرکت به نواحی نام گذاری شده
حال فرض کنیم که چندین ناحیه را تعریف کرده ایم نواحی تک سلولی یا چند سلولی.برای حرکت به این نواحی در مواقع نیاز دو راه ساده موجود است.اول اینکه با استفاده از ماوس لیست باز شدنی Name Box را باز کرده و از آن ناحیه مورد نظر را انتخاب می کنیم.راه دیگر تایپ نام در Name Box است در هر دو راه شما یک راست به ناحیه مورد نظر برده می شوید.
تعریف نام ها با استفاده از دستور Name
با استفاده از دستور Name که در منوی Insert موجود است می توان نواحی را نامگذاری کرد و حتی نامهای قبلی را دوباره تعریف نمود.فرض کنیم که در بالای یک ستون در سلول A1 وارد کرده ایم "کالاهای موجود " و در زیر آن نام کالاها در سلولهای A2:A10 درج خواهند شد.می خواهیم که این ناحیه را مطابق نام بالای ستون آن نامگذاری کنیم.برای این کار مراحل زیر را طی می کنیم:

نکته: شما می توانید با فشار دادن کلیدهای Ctrl+F3 به سرعت پنجره Define Name را باز کنید.
تعریف Sheet-Level Names
اگر توجه کرده باشید نامهایی که تعیین می کنید در هر شیتی که باشند از شیت های دیگر قابل دسترسی هستند.یعنی اگر در شیت یک ناحیه test را نامگذاری کرده باشیم در شیت دو نیز در name box این نام موجود خواهد بود.اما اسامی را می توان طوری تعریف کرد که فقط در همان شیت قابل دسترسی باشند به این گونه اسامی Sheet-Level Names می گویند.برای تعریف این گونه اسامی مانند دیگر اسامی عمل می کنیم منتها در هنگام تعیین نام در ابتدای نام تایپ می کنیم sheet1! مثلا برای تعریف نام exc در شیت اول باید در فیلد نام تایپ کنیم Sheet1!exc به این ترتیب نام exc فقط در شیت یک قابل رویت خواهد بود.
قوانین نامگذاری

می خواهیم سطر و ستون این جدول را نامگذاری کنیم اما هر سطر و ستون را با توجه به سلول موجود در آن سطر و ستون نامگذاری کنیم.برای این کار
1. سلولهایA2:E2 را انتخاب می کنیم.
2. از منویInsert گزینه name و Create را انتخاب می کنیم .در کادر create name باز شده چون سلول متنی در سمت چپ ناحیه انتخابی قرار دارد پس گزینه Left Column را تغییر نمی دهیم.
3. OK را می زنیم.
به این ترتیب سطر اول جدول به نام محصول 1 نامگذاری شد.در مورد سطرهای دیگر نیز به همین ترتیب عمل می کنیم.در مورد نامگذاری ستونی ابتدا سلولها را با سلول متنی موجود در بالای آنها انتخاب می کنیم( مثلا برای بهار سلولهای B1:B5 را انتخاب می کنیم.) این بار چون سلول متنی در بالا قرار دارد در پنجره Create Name گزینه Top Row را انتخاب می کنیم. به این ترتیب می توان هشت نام برای جدول داده شده در این مثال اختصاص داد.
نکته: می توان با نگه داشتن کلید Ctrl و با استفاده از Name Box چندین ناحیه نامگذاری شده را با هم انتخاب کرد.
نامگذاری اعداد ثابت و فرمولها
می توان اعداد ثابت را یکبار در یک شیت با یک نام تعریف کرد و از آن در جاهای دیگر استفاده کرد.مثلا در امور حسابداری نرخ تورم را به عنوان یک ثابت ابتدا وارد می کنیم و سپس در سرتاسر فایل از مقدار آن استفاده می کنیم.حال بیایید به یک عدد ثابت اسم بدهیم.مثلا فرض کنیم می خواهیم به عدد 9.8 اسم g را اختصاص دهیم.برای این کار:
1. از منویInsert گزینه Name و Define را انتخاب می کنیم.
2. در پنجره باز شده در کادر نام وارد می کنیمg و در Refer to عدد 9.8 را وارد می کنیم .
3. Ok را می زنیم.
با این عمل عدد مذکور تحت اسم g ذخیره می شود.حال اگر در جای دیگری و یا در فرمولی اسم g مطرح شود عدد 9.8 وارد خواهد شد.مثلا در یک سلول خالی تایپ کنید =g نتیجه عدد 9.8 خواهد بود.
نکته ای که باید به آن توجه کنیم این است که این گونه نام ها (اعداد ثابت و فرمول) در name Box دیده نمی شوند اما در پنجره Define Name دیده می شوند.
فرمول را نیز می توان نامگذاری کرد.برای مثال فرض کنیم که بخواهیم حاصل جمع دو سلول A1 و A2 را تحت نام S نامگذاری کنیم.برای این کار پنجره Define Name را باز کرده و S را به عنوان نام وارد می کنیم.در کادر Refer to ابتدا در سلول A1 با ماوس کلیک می کنیم سپس + را وارد کرده و سلول دوم را اضافه می کنیم.در پایان OK را می زنیم.به این ترتیب اگر در سلولی تایپ کنیم :=S نتیجه برابر حاصل جمع دو سلول گفته شده خواهد بود.
استفاده از مراجع نسبی در نامگذاری فرمول ها
می توان به جای آدرس دهی مطلقی که اکسل برای نامگذاری بکار می برد از آدرس دهی نسبی استفاده کرد.مثلا فرض کنیم که می خواهیم فرمولی را نامگذاری کنیم که در آن مقدار سلول کناری +2درصد سلول کناری را محاسبه کند.برای این کار اسمی را در نظر می گیریم.مثلا test.سپس سلول A1 را انتخاب می کنیم.حال در کادر Refer to از پنجره Define Name فرمول زیر را وارد می کنیم:
=Sheet1!B1+(.02*Sheet1!B1)
به این ترتیب با این کار هنگامی که =test را تایپ کنیم اکسل فرمول بالا را برای آن سلول و بر حسب سلول کناری آن محاسبه می کند.همان طور که می بینید فرمول نوشته شده علامت دلار ندارد که این باعث نسبی شدن این آدرس شده است.
نامگذاری سه بعدی
مفهوم این که بتوان به صورت سه بعدی نامگذاری کرد این است که در آدرس دهی از شیت های مختلفی استفاده کرده به یک شیت بسنده نکنیم.مثلا مجموع سلولهای B5 موجود در شیتهای 2 تا 10 را می توان از طریق فرمول نویسی به صورت زیر بدست آورد :
=SUM(Sheet10:Sheet2!B5)
حال بیایید با نامگذاری این سلولها این مسئله را حل کنیم:
نام را three بگذارید و در refer to تایپ کنید =sheet2:sheet10!B5
حال برای یافتن جمع این سلولها تایپ کنید =sum(three) نتیجه همان عدد روش قبلی خواهد بود.توجه کنید که آدرس را نسبی دادیم یعنی اگر در سلول A1 قرار بگیریم و از این فرمول استفاده کنیم مجموع سلولهای A1 شیت ها را خواهیم داشت.
وارد کردن اسامی به فرمولها
حال که اسامی را تعریف کرده ایم هنگام درج فرمول می توانیم با وارد کردن نام ها خود را از آدرس دهی به سلولها و نواحی بی نیاز کنیم.برای وارد کردن نامها به فرمول می توانید هنگام نیاز از منوی Insert گزینه Name و paste را انتخاب کرده نام مورد نظر را انتخاب و در فرمول وارد کنیم.راه سریعتر برای باز کردن این پنجره استفاده از کلید F3 است.
گزینه Apply از منوی Name
فرض کنیم که سلول B1 دارای فرمول زیر باشد =A1+A2 و ما به این دو سلول نامی را اختصاص داده باشیم (بعد از درج فرمول) و حال می خواهیم که فرمول موجود در سلول B1 را با توجه با نام سلول ها تغییر دهیم یا به اصطلاح UPDATE کنیم.برای این کار سلول B1 را انتخاب می کنیم.گزینه Apply را از منوی Insert àName انتخاب کرده و از لیست باز شده از نامها ،نامهای سلول A1 و A2 را به حالت انتخاب در می آوریم.حال ok را می زنیم.به این ترتیب فرمول بازنویسی شده و در آن از اسامی سلول ها استفاده شده است.
حالتهای کیبورد - Keyboard mode
هنوز که هنوز است کیبورد مهم ترین وسیله ورودی محسوب می شود پس دانستن نکات ریز و درشت مربوط به این وسیله ورودی نباید چندان عجیب به نظر آید.
در سمت راست نوار وضعیت (همان نوار کوچک پایین اکسل) علایمی دیده می شود که نشانگر فعال بودن یکی از حالتهای کیبورد به شرح زیر است:
|
EXT |
Extend Mode:با فشار دادن کلید F8 این حالت فعال می شود در این حالت می توان به گسترش ناحیه انتخابی پرداخت.در واقع این حالت همان حالت انتخاب به وسیله ماوس و کلید Shift می باشد. |
|
ADD |
Add Mode: کلیدهای Shift+F8 را فشار دهید تا این حالت فعال شود.در این حالت می توانید به وسیله ماوس و بدون نگه داشتن کلید Ctrl اقدام به انتخاب سلولهای غیر همجوار کنید. |
|
NUM |
Num Lock Mode:این حالت به طور پیش فرض فعال است و بیانگر این است که می توان با قسمت ماشین حسابی کیبورد اقدام به وارد کردن اعداد نمود.برای غیر فعال کردن این قابلیت کلید Num Lock را فشار دهید. |
|
FIX |
Fixed Decimal Mode: این قابلیت از منوی Tools àOptions àEdit àFixed Decimalقابل دسترسی است که در این حالت تمام اعداد ورودی به اندازه تعیین شده رقم اعشاری خواهند داشت.مثلا اگر دو رقم تعیین کرده باشیم عدد 314 را بصورت 3.14 وارد خواهد کرد. |
|
CAPS |
Caps Lock Mode: در این حالت تمام حروف وارد شده لاتین به صورت حروف بزرگ وارد می شوند.برای دسترسی به این حالت کلید Caps Lock را از کیبورد فشار دهید. |
|
SCRL |
Scroll Lock Mode: در حالت عادی وقتی شما صفحه را با کلیدهای جهت دار و یا با Page Down/ up اسکرول می کنید سلول فعال نیز تغییر مکان می دهد اما اگر کیبورد را با زدن کلید Scroll Lock در این حالت قرار دهیم سلول فعال موجود دیگر با اسکرول کردن تغییر نمی کند. |
|
OVR |
Overwrite Mode: به طور معمول وقتی فرمول یا داده ای را ادیت می کنیم کارکترهای وارد شده در بین کارکترهای قبلی قرار می گیرند اما با زدن کلید insert در حین ادیت کردن سلول یا فرمول کارکترهای وارد شده به جای کارکترهای قبلی خواهند نشست و آنها حذف خواهند شد. |
|
END |
End mode: با فشار دادن کلید End کیبورد در این حالت قرار می گیرد .در این حالت با زدن یکی از کلیدهای چهارگانه به انتهای آن ناحیه از داده ها یا به انتهای سطر یا ستون می رسیم.راهی مناسب برای رسیدن به انتهای ستونی با داده های بسیار زیاد. |
1- چطور میشود لیست های بر پا کرد که بمحض ورود اطلاعات جدید در آن و افزایش رکورد ها دامنه protection نیز بطور اتوماتیک گسترده شود و تا آخرین ردیف پیش رود هدف از این کار اینست که اطلاعات ورودی دستخوش تغییرات خواسته یا ناخواسته نشود .
نمی دانم چگونه می توان protection را گسترش داد validation شاید اما protection را ممکن نمی دانم.
2- ماکروهای شرطی را چطور می شود اجرا کرد ؟
اگر منظورتان این است که چگونه می توان ایجاد کرد باید عرض کنم خیلی راحت
مثلا فرض کنیم ماکرویی را ضبط کرده ایم که در آن سلول انتخابی را ایتالیک می کند.حال می خواهیم شرط بگذاریم که اگر بیش از 20 بود ایتالیک و اگر کمتر از 20 بود bold کند.با استفاده از تابع if در تغییر ماکرو به صورت زیر عمل می کنیم
Sub Macro1()
'
' Macro1 Macro
' Macro recorded 2006/08/16 by X
'
'
If Selection.Value < 20 Then
Selection.Font.Bold = True
End If
If Selection.Value > 20 Then
Selection.Font.Italic = True
End If
End Sub
در واقع خط آبی ماکروی اولیه است و بقیه را اضافه کرده ام.در موارد دیگر نیز به همین ترتیب.در ضمن تعداد شروط هم می تواند بیش از یکی باشد کافی است در شرط if
آنها را بگنجانیم
3- آیا می توان محدوده عددی در scroll bar و spinner را افزایش داد ؟
در حال حاضر حداقل از 0 و حداکثر 30000 است که با این دامنه مثلا شماره چک ها را بر روی کنترلهای مزبور نمی توان بکار برد .
- دو حالت را می توان در نظر گرفت
1- اگر همه شماره از عددی بزرگ شروع می شوند مثلا از 40000 در این صورت می توان سلول نهایی را از جمع این عدد با عدد سلول مقصد scroll bar بدست آورد.
2- اگر شماره دامنه زیادی داشته باشند مثلا از صفر تا صد هزار در این صورت شاید راحت ترین راه استفاده از دو scroll bar باشد.
4- آیا می توان در اکسل شیت هایی از یک کتابچه را HIDE کرد ؟
بلی .در حالی که فایل باز است ویژوال بیسیک را باز کنید و از سمت چپ نام فایل را انتخاب و آنرا باز کنید نام شیت ها را خواهید دید.حال F4 را بزنید تا پنجره دیگری باز شود.در این پنجره در آخرین ردیف visible را پیدا کرده و آنرا از 1- به صفر یا دو تغییر دهید.با این کار آن شیت hide خواهد شد.
5- چگونه می توان کنترل های فرم را در اکسل ثابت کرد ؟ بعبارتی فرم پس از آن قابلیت جابجائی بر روی شیت را نداشته باشد ؟
خیلی ساده کافی است که آنها را از lock بودن خارج نکنیم و شیت را protection کنیم البته با از کار انداختن امکان انتخاب اشیاء قفل شده.
Solver - 2
حال بهتر است به بررسی option در کادر solver بپردازیم.
Max Time: مشخص می کند که اکسل برای حل مسئله نهایتا چند ثانیه در نظر بگیرد به طور پیش فرض 100 ثانیه انتخاب شده است.اگر محاسبه بیش از این طول بکشد آخرین نتیجه در پایان 100 ثانیه جواب خواهد بود.
Iterations: تعداد دفعات محاسبه را مشخص می کند.اکسل برای حل مسئله از تکرار استفاده می کند تا بهترین جواب را بیابد با این گزینه می توان تعداد این تکرارها را تعیین کرد.
Precision: دقت عمل محاسبه را مشخص می کند هر چه عدد وارد شده در این کادر کوچکتر باشد دقت جواب ارائه شده زیادتر خواهد بود.
Tolerance: درصدی از جواب است که مقدار یافته شده فعلی این مقدار با جواب واقعی می تواند اختلاف داشته باشد در واقع همان فاصله اطمینان آماری ها است.
Convergence: در عمل تکرار با هر تکرار جواب ممکن است دقیقتر شود اما اگر در هر تکرار مقدار تغییری که در جواب حاصل می شود کمتر از مقدار درج شده در این کادر باشد آنگاه اکسل محاسبه را متوقف کرده و جواب را اعلام می کند.
در پایین چهار گزینه می بینم که عبارتند از :
Assume Linear Model: معادله را خطی در نظر می گیرد
Assume Non-Negative: جوابهای غیر منفی را ارائه می دهد.می دانیم ممکن است معادله دو جواب داشته باشد یا یک جواب یا هیچ جواب.
Use Automatic Scaling: از این روش مدل سازی زمانی استفاده می شود که مقادیر ورودی و مقادیر خروجی با هم تفاوت بسیار زیادی داشته باشند.
Show Iteration Results: مراحل یافتن جواب را مرحله به مرحله نشان می دهد.
Solver
برای اینکه به این ابزار در اکسل دسترسی داشته باشید ابتدا باید آنرا فعال کنید.برای این کار از مسیر زیر اقدام کنید: Tools à Add–Ins در کادر باز شده گزینه Solver را تیک بزنید. با این کار این قابلیت در اکسل فعال می شود.برای دسترسی به این قابلیت از منوی Tools گزینه Solver را که به تازگی اضافه شده است انتخاب کنید.این ابزار اکسل مانند قابلیت Goal Seek عمل می کند با این تفاوت که در اینجا سلولهایی که می توانند تغییر کنند بیش از یکی هستند و قابلیتهای بسیار بیشتری نیز دارند.
ابتدا مثالی را طرح و بعد آنرا با این ابزار حل می کنیم.
مثال 1:معادله درجه دو زیر را در نظر بگیرید:X2+4X+4=0
می خواهیم این معادله را توسط اکسل محاسبه کنیم.برای این کار در اکسل به صورت زیر عمل می کنیم:
|
|
A |
B |
|
1 |
X |
Y |
|
2 |
|
=A2^2+4*A2+4 |
همان گونه که مشاهده می شود متغیر x مجهول ماست.فرمول را در سلول زیر y وارد کرده ایم.حال گزینه Solver را انتخاب می کنیم تا این معادله را برای ما حل کند.
در کادر باز شده ابتدا در مقابل عبارت Set Target cell خانه ای را که قصد داریم برابر مقداری خاص باشد را انتخاب می کنیم.برای مثال ما سلول B2 در این کادر وارد می شود.در زیر آن برای عبارت Equal to از سه دکمه رادیویی مقابل آن گزینه Value of را انتخاب کرده در کادر مقابل آن عدد صفر را درج می کنیم. در کادر بعدی برای عبارت By changing cells خانه هایی را که باید تغییر کنند تا مقدار صفر برای سلول B2 بدست آید را تعیین می کنیم در این مثال منظور خانه A1 است که همان x ما را تشکیل می دهد.حال دکمه solve را کلیک کنید تا نتیجه را در سلول مشاهده کنید.جواب این معدل -2 می باشد.در پایان حل اکسل می پرسد که آیا این جواب را اعمال کند یا نه به حالت قبل از حل برگردد .در همین کادر پایانی می توانید تعیین کنید که چه نوع گزارش هایی از این روند ارائه شود.Answer ،Sensitivity و Limits .بعدها با این گزارشها بیشتر آشنا خواهیم شد.نکته دیگر اینکه می توانید این جواب را به عنوان یک سناریو ذخیره کنید.
مثال 2 :معادله زیر را در نظر بگیرید: aX2+bX+c=Y می خواهیم ضرایب این معادله را برای X و Y خاصی بدست بیاوریم. فرض کنیم که X=5 و Y=121 می خواهیم بدانیم ضرایب X چه اعدادی باشند تا این معادله برقرار باشد در واقع تلاش برای یافتن معادله زیر هست: a(5)2+b(5)+c=121
داده ها را در اکسل وارد می کنیم:
|
|
A |
B |
C |
D |
E |
F |
|
1 |
a |
X2 |
b |
X |
c |
Y |
|
2 |
|
25 |
|
5 |
|
121 |
Solver را اجرا می کنیم در کادر باز شده مقدار Y را به عنوان سلول هدف انتخاب می کنیم.مقدار آنرا برابر 121 درج می کنیم حال در کادر سلولهای متغیر سه سلول A2, C2, E2 را با گرفتن کلید Ctrl انتخاب می کنیم .حالSolve را بزنید تا معادله حل شود.
با اینکه ممکن است معادله جوابهای روند داشته باشد اما لزوما همواره جواب ارائه شده همان جواب روند نیست.برای اینکه جوابها چنین اعشاری نباشند روی جوابها Limit اعمال می کنیم.دوباره Solve را اجرا کنید در قسمت Subject to the Constraints روی کلید Add کلیک می کنیم.در کادر کوچک باز شده ابتدا سلولی را که می خواهیم محدود شود انتخاب می کنیم نوع محدودیت را مشخص کرده سپس مقدار آنرا وارد می کنیم (البته برخی محدودیت ها نیازی به وارد کردن مقدار ندارند)
پس شروع می کنیم اگر بخواهیم همه جوابها اعداد صحیح باشند نه اعشاری (البته در صورت وجود چنین جوابهایی) باید ابتدا سلول A2 را در قسمت Cell Reference وارد کنیم سپس از منوی باز شدنی گزینه int را به مفهوم integer انتخاب کنیم.این محدودیت نیازی به مقدار دهی ندارد کلید Add را می زنیم تا این محدودیت اضافه شده آماده وارد کردن محدودیت بعدی می شویم .برای سلولهای C2و E2نیز همین طور عمل می کنیم.حال شروطی را که تعیین کرده ایم در کادر یک جا می بینیم.Solve را کلیک کنید تا معادله حل شود.معادله باز هم یک جواب اعشاری دارد.برای آنکه امتحان کنیم ببینیم که آیا می شود ضریب سوم را نیز به صورت صحیح بدست آورد یا نه کادر solve را باز می کنیم.چون شروط تغییر نکرده اند پس نیازی به وارد کردن مجدد آنها نیست فقط شرط سوم را کمی اصلاح می کنیم.برای همین روی شرط مربوط به سلول E2 کلیک کرده و Change را می زنیم.شرط را از int به bin تغییر می دهیم یعنی binary (صفر و یک) دوباره معادله را solve می کنیم جوابهای بدست آمده بسیار مناسبتر از اعداد اولین مرحله حل هستند.جوابها عبارتند از :a=3 b=9 c=1
البته باز هم متذکر می شوم معادله همواره دارای جواب صحیح نیست اما اگر باشد می توان با چنین ترفندهایی آنرا بدست آورد.
Go To
برای انتخاب سلولی در اعماق تاریک و نا شناخته کاربرگ راههای مختلفی وجود دارد .مثلا اگر بخواهیم سلول C302 را انتخاب کنیم یک راه این است که در name box آدرس سلول را تایپ کنیم تا یک راست به آن سلول منتقل شویم.(Name box همان کادر کوچکی است که روی سلول A1 قرار دارد) راه دیگر استفاده کردن از ابزار Go To در منوی Edit است.شاید بگویید که این راه که مشکل تر از راه قبلی است.اما این دستور اکسل در مواقع دیگری هنر نمایی می کند.فرض کنیم بخواهیم که همه سلولهای حاوی فرمول را با هم انتخاب کنیم تا مثلا رنگ آنها را تغییر دهیم.یا مثلا سلولهای حاوی متن و... را با هم انتخاب کنیم.در چنین مواقعی است که Go To به کار می آید.ابتدا از مسیر زیر کادر آنرا باز می کنیم:Edit à Go To
در کادر باز شده روی دکمه special کلیک کنید تا کادر بعدی باز شود.اینجا می توان مشخص کرد که چه سلولهایی انتخاب شوند.شرح هر مورد را در زیر می بینید:
Comments: برخی سلولها ممکن است که متن پیام داشته باشند با این گزینه می توان این سلولها را انتخاب کرد.
Constants: برای انتخاب مقادیر ثابت به کار می رود.با انتخاب این گزینه می توان تعیین کرد که چه نوع ثابتی انتخاب شود.اعداد ثابت (Number) ،متن (Text) ، روابط منطقی (Logical) و خطاها (Errors).
Formulas: سلولهای حاوی فرمول را انتخاب می کند.اما همه فرمولها نتیجه عددی ندارند.برای همین 4 حالت را می توانیم انتخاب کنیم.
اعداد (Number) که برای فرمولهای با نتیجه عددی به کار می رود.
متن (Text) برای فرمولهای با نتیجه متن به کار می رود.مثلا تابع CONCATENATE از سری توابع text نتیجه متنی دارد.
روابط منطقی (Logical):سلولهایی را که حاوی فرمولهایی با نتایجی مانند True و False هستند را انتخاب می کند
خطاها (Errors):اگر در نتیجه فرمول خطا (#) دریافت کنیم این گزینه این سلولها را انتخاب می کند.
Blanks: برای انتخاب سلولهای خالی به کار می رود.البته همه سلولها خالی محسوب نمی شوند.بلکه سلولهای خالی که بین دورترین داده تا سلول A1 قرار دارند انتخاب می شوند.مثلا اگر در یک شیت خالی در سلول C20 یک داده وارد کنید اکسل سلولهای A1 تا C20 را در نظر می گیرد.
Current Region: در سلول منتخب فعلی ، انتخاب را به سلولهای اطراف گسترش می دهد تا جایی که سطر و یا ستونی خالی عمل گسترش را محدود کند.
Current array: برای انتخاب همه سلولهایی است که توسط یک فرمول آرایه ای ایجاد شده اند.
Objects: برای انتخاب همه نمودارهای موجود در صفحه فعلی به کار می رود.
Row difference: اگر یک سطر داده داشته باشیم عدد یا متن فرقی نمی کند با این گزینه می توان سلولهایی را که داده غیر مشابه با اولین داده سطر دارند را انتخاب کرد.
مثال:در زیر سه سطر را می بینیم:
|
E |
D |
C |
B |
A |
|
|
13 |
14 |
15 |
13 |
15 |
1 |
|
Word |
Word |
Excel |
Word |
Excel |
2 |
|
13 |
14 |
15 |
15 |
13 |
3 |
اگر تعداد سطرها بیش از یکی باشد هر سطر با سلول ابتدای خود سطر مقایسه می شود.اگر در این مثال از سلول A1 شروع به انتخاب سلول ها کنیم تا به سلول E3 سلول های ستون A مبنای مقایسه خواهند بود چون انتخاب را از آنجا شروع کردیم.
حال گزینه Row Difference را انتخاب می کنیم.در سطر اول عدد 15 مبنا است.پس سلول B1، D1و E1 چون متفاوت با سلول مبنا هستند انتخاب خواهند شد.در سطر دوم هم کلمه Excel مبنا است پس سلولهای B2،D2 وE2 انتخاب خواهند شد.
در مورد سطر سوم نیز به همین ترتیب.
اما اگر انتخاب این سه سطر را از ستون E شروع کنیم سلولهای این ستون مبنا خواهند بود در نتیجه نتایج انتخاب متفاوت خواهد بود.
Column Difference:مانند گزینه قبل عمل می کند با این تفاوت که این بار ستون به ستون مقایسه انجام می گیرد.بر اساس مثال قبل اگر از سطر اول شروع به انتخاب کنیم سلولهای سطر اول برای ستونها مبنا خواهند بود.پس سلولهای زیر انتخاب خواهند شد.
|
E |
D |
C |
B |
A |
|
|
13 |
14 |
15 |
13 |
15 |
1 |
|
Word |
Word |
Excel |
Word |
Excel |
2 |
|
13 |
14 |
15 |
15 |
13 |
3 |
اینجا نیز انتخاب سلولها از سطر اول با انتخاب از سطر آخر فرق دارد.
Precedent: سلولی را که حاوی یک عدد است انتخاب می کنیم.اگر این سلول از روی سلولهای دیگری محاسبه شده باشد این گزینه آن سلولها را که در واقع مولد این سلول هستند را انتخاب می کند.در دو حالت:
Direct only: تنها یک مرحله از سلسله مراتب ارجاع سلولی را طی می کند.یعنی اگر سلول مورد نظر ما از روی سلول دیگری محاسبه شود که آن سلول خودش نیز از روی سلول دیگر بدست آید این گزینه فقط آخرین سلول مولد را انتخاب می کند.
All levels: این گزینه تمامی سلولهای مولد را انتخاب می کنید.البته برای یک سلول خاص مورد نظر.
مثال:
|
A |
|
|
15 |
1 |
|
=A1+1 |
2 |
|
=A2+1 |
3 |
|
=A3+1 |
4 |
اگر روی سلول A4 قرار بگیریم و گزینه Precedent را در حالت
Direct only انتخاب کنیم فقط سلول A3 انتخاب خواهد شد
ولی در حالت ALL LEVELS سه خانه مولد یعنی A1,A2,A3
انتخاب خواهند شد.
Dependence: مشابه گزینه قبلی است با این تفاوت که عکس آن عمل می کند یعنی سلولهایی را که این سلول مورد نظر ما آنها را تغذیه می کند انتخاب می شوند مانند گزینه قبلی در دو حالت مستقیم و همه سطوح می توان این انتخاب را انجام داد.
Last Cell: آخرین سلول را با توجه به سطر و ستون انتخاب می کند.می توان این کار را با کلیدهای Ctrl + End نیز انجام داد.
Visible cells only: اگر در شیت سطر یا ستونی را مخفی کرده باشید این گزینه فقط سلولهایی را که دیده می شوند انتخاب می کند.البته می دانیم که وقتی یک سطر یا ستونی را مخفی می کنیم این سلول ها در فرمت و محاسبات نیز اعمال می شوند.اما با این گزینه می توان از انتخاب این سلول های مخفی جلوگیری کرد.
Conditional formats: ابتدا باید یک سلول حاوی فرمت شرطی را انتخاب کرد سپس با این گزینه می توان سلولهایی که دارای فرمت شرطی هستند را انتخاب کرد.البته دو حالت دارد:
All: یعنی همه سلولهای با فرمت شرطی انتخاب شوند.
Same: فقط سلولهایی که فرمت شرطی مشابه سلول انتخابی دارند انتخاب خواهند شد.
Data validation: مانند گزینه قبلی است با این تفاوت که در مورد validation به کار می رود.
Goal Seek
یکی از ابزارهای جالب اکسل در کنار سناریو همین ابزار می باشد.منطق این ابزار این است که همه عوامل و فاکتورها را ثابت نگه می دارد و بعد یکی از سلولها را بر حسب این سلولها محاسبه می کند.به مثال ساده زیر توجه کنید:
دانشجویی سه درس دارد که دو درس آنرا امتحان داده است:
|
ریاضی |
16 |
|
فیزیک |
16 |
|
هندسه |
|
|
معدل |
16 |
همان طور که مشاهده می کنیم هنوز امتحان درس هندسه برگزار نشده است.اگر این دانشجو بخواهد معدل الف داشته باشد(یعنی حداقل 17) آنگاه باید در درس هندسه چه نمره ای را بدست بیاورد؟
جدول را در اکسل وارد کنید.در قسمت عدد معدل فرمول میانگین سه درس را وارد کنید.معدل فعلی با این دو نمره 16 است.حال از منوی Tools گزینه Goal Seek را انتخاب کنید.در پنجره باز شده سه کادر وجود دارد در کادر اول سلول حاوی معدل را به عنوان سلول مورد نظر انتخاب می کنیم در کادر دوم مقدار مطلوب را برای سلول مورد نظر وارد می کنیم در این مثال ما می خواهیم که معدل حداقل 17 شود پس 17 را وارد می کنیم.در کادر سوم تعیین می کنیم که کدام سلول باید تغییر کند تا این 17 بدست آید سلول خالی هندسه را انتخاب می کنیم.بعد از اینتر اکسل مقدار مورد نیاز را محاسبه می کند این دانشجو باید در هندسه 19 بگیرد.این روند را می توان در هر موردی با n پارامتر که n-1 پارامتر آن مشخص شده اند برای محاسبه پارامتر nام بکار برد.
پاسخ به دو سوال:
1- آقای علی اطمینان سوال فرموده اند که آیا می توان اکسل را طوری تنظیم کرد که ممیز را به جای نقطه با / نشان دهد؟
پاسخ:بلی .برای این کار مسیر زیر را طی کنید: Tools àoption.در کادر باز شده سربرگ international را باز کرده در کادر کوچک decimal separator نقطه را پاک کرده به جای آن / را تایپ کنید.بعد از این ممیزها را با علامت / نشان خواهد داد که البته قابلیت محاسباتی نیز دارد.
2- آقای زرینچه سوال فرموده اند که آیا می توان مثلا کاربرگی را به صورت زیر طراحی کرد که در شیت 2 موجودی انبار قرار داشته باشد و ما با وارد کردن اطلاعات فروش در شیت 1 از این موجودی انبار کاسته شود؟
پاسخ:بلی.ابتدا فرض کنیم که دو محصول قند و شکر در انبار موجود است.در شیت 2 در عناوین ستون قند و شکر را وارد می کنیم .موجودی فعلی آنها را نیز در زیر آنها ثبت می کنیم.حال در شیت 1 پس از وارد نمودن قند و شکر در بالای ستون ها آنرا تبدیل به یک لیست می کنیم.این لیست همان فاکتور فروش ما خواهد بود.حال باید مجموع هر محصول را از موجودی کم کنیم.برای این منظور در لیست کلیک می کنیم از مسیر زیر مجموع هر ستون را در لیست بدست می آوریم.
Data àList àTotal Row
به این ترتیب مجموع فروش هر محصول را داریم .موجودی اولیه را نیز داریم.می رسیم به کم کردن این دو از هم.اگر بخواهیم در شیت یک موجودی انبار پس از کم کردن نشان داده شود در دو ستون دیگر قند و شکر را وارد می کنیم و در زیر آنها برای درج فرمول = را می زنیم.بعد به شیت 2 رفته موجودی قند را انتخاب می کنیم منها را می زنیم در شیت 1 مجموع فروش قند را انتخاب می کنیم.به این ترتیب در این خانه موجودی فعلی انبار برای قند نشان داده خواهد شد.این عمل را برای شکر نیز انجام می دهیم.حال چند داده را به لیست اضافه کنید تا ببینید که چگونه موجودی انبار کم و زیاد می شود.
Scenario - 2 (سناریو)
بحث مربوط به سناریو را انجام دادیم حال به چند نکته کوچک راجع به نحوه کار با این سناریوها توجه کنید.
1- می توانید از امکان Merge برای وارد کردن سناریوهای موجود در شیت های دیگر یا حتی فایل های دیگر به مجموعه سناریو های شیت فعلی استفاده کنید .
2- امکان دیگر summary می باشد برای رویت یک جای سناریوها برای بررسی تفاوت ها می توان از آن استفاده کرد.در آن دو نوع گزارش وجود دارد معمولی و pivot table هر کدام را که خواستید می توانید انتخاب کنید.خانه هایی را که دوست دارید وضعیت و مقدار فعلی آنها در گزارش ذکر شود در کادر وارد کنید به این ترتیب یک لیست کامل از سناریوها را خواهید دید و مقدار فعلی برای یک سلول (یا سلولها) خاص را نیز در گزارش خواهید داشت.در گزارش نواحی خاکستری رنگ مقادیری هستند که می توانند تغییر کنند در واقع متغیر هستند.
علی آقا سوالی فرموده اند با این مضمون.برای ساخت یک فاکتور فروش که بعد از وارد نمودن داده ها در آن فاکتور بدون تغییر بماند تا داده های دیگر را نیز در آن وارد کنیم چه باید کرد؟
بهترین راه استفاده از یک لیست و ایجاد فرم مربوط به آن لیست می باشد.مراحل کار بسیار ساده است.شما عناوین را در بالای هر ستون درج می کنید.مانند نام ،محصول قیمت و...سپس از منوی data گزینه list و سپسcreate list را انتخاب می کنیم. عناوین ستون را به عنوان header معرفی کنید.به این ترتیب شما لیست را ساخته اید.حال از همان منوی data گزینه فرم را انتخاب کنید.فاکتور فروش به صورت فرمی در اختیار شما قرار می گیرد که می توانید داده ها را در آن وارد کنید با وارد کردن هر داده آن داده به لیست اضافه می شود اما تغییری در فرم داده نمی شود.در ضمن با این روش از مزایای بسیار زیاد لیست بودن داده ها استفاده می کنید.می توانید برای مطالعه بیشتر در مورد این مزایا به لینک زیر مراجعه کنید.
http://amar80.blogfa.com/post-91.aspx
امیدوارم این راه حل مفید باشد.
مقاله زیر به قلم استاد گرانقدر جناب آقای فرشید میدانی نگاشته شده است که با کسب اجازه از ایشان در وبلاگ این حقیر قرار داده می شود.
Excel Custom Format Cell
الف) # : یعنی عدد، اما صفرها را نشان نخواهد داد، قبل از ممیز یعنی کل قسمت صحیح عدد اما بعد از ممیز هر کدامش به اندازه یک رقم ارزش دارد.
|
نمایش |
ورودی |
مثال |
|
123 |
123.123 |
# |
|
123.12 |
123.123 |
##.# |
ب) 0 : دقیقاً مانند # عمل می کند با این تفاوت که صفر را نشان می دهد!
|
نمایش |
ورودی |
مثال |
|
123 |
123.123 |
0 |
|
123.12 |
123.123 |
0.000 |
|
123.100 |
123.1 |
0.000 |
توجه کنید که فرمت سطر سوم همان فرمت Number با دقت چهار رقم اعشار است.
ج) ؟ : همانند 0 و # است اما بجای هر عدد خالی و صفر یک Space قرار می دهد! وقتی استفاده می شود که بخواهیم ممیزها زیر هم قرار بگیرند. (و Align Right را هم می زنیم )
سمت راست خانه 12. (حالت راست چین) ؟؟؟.# ( یعنی اگر صفر آمد، نشان نده! )
12.2
123.45
د) , : علامت کاما ، یعنی هزار- اگر فرمت به صورت و# باشد، یعنی به جای هزارتای اول یک و آمده و آنها را نشان نده و بقیه را نشان بده، بنابراین اعداد کمتراز1000 را نشان نخواهد داد.
|
نمایش |
ورودی |
مثال |
|
1 |
1000 |
#, |
|
123 |
123000 | |
|
0000 |
200 | |
|
1 |
100000 |
#,, |
|
000 |
2000 | |
|
1 میلیون |
1000000 |
#,,"میلیون" |
برای اینکه اعداد سه رقمی، سه رقمی جدا شوند از فرمت # ,# می کنیم
N همیشه صفرها را تحت کنترل داشته باشید مانند 0 # , # یعنی اگر 0 بود 0 بگذار که البته این دستور دقیقاً معادل فرمت Number است یا فرمت 0 # # ,# همین نتیجه را دارد
ه) @ : معادل Text است که دارای موضوع همراه با علامت ; مفهوم پیدا خواهد کرد!
و) * : همراه با کاراکتر بعدیش کل فضای خالی سلول را پر می کند، مانند:
یعنی متن را بنویس و بقیه جای خالی سلول را با علامت ------- پر کن
ز) علامت – (under line ) : عجیباً غریبا ! باعث می شود که اندازه عرض کاراکتری که بعدش می آید فضای خالی در نظر گرفته می شود و معمولاً برای همترازی اعداد مثبت و اعداد منفی که داخل پرانتز نشان داده می شوند بکار می رود و در خانه ها به شکل (- نوشته می شود!
|
همتراز |
(120) |
|
120 | |
|
حالت عادی |
120 |
کار کردن با اعداد منفی – مثبت - متن - صفر
علامت Semicolon یا