سلام
خدا را شکر که به من این موهبت را ارزانی داشت تا دوباره با کتابی دیگر در خدمت دوستانم باشم. بسیار دلم می خواست که این کتاب را مانند دیگر کتابهایم بر روی وبلاگ قرار دهم تا همه کس از همه جا قادر به دانلود آن باشد اما به دلایل زیر این امر میسر نشد:
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 یا ; برای اینکار استفاده میشود و حالت کلی آن از قرارداد زیر است :
حالت متن ; حالت صفر ; حالت عدد منفی ; حالت عدد مثبت
منظور من از کلمه حالت همان Format یا شکل ظاهری است.
@0;; -0; یعنی قسمت صحیح اعداد مثبت و منفی را نشان بده، صفر را نشان نمی دهد و هر متنی که تایپ شد را نشان بده.
0 ; - 0 ; * - یعنی قسمت صحیح اعداد مثبت و منفی را نشان بده، و چه صفر بود و چه یک متن، کل فضای سلول را با ------- پرکن
! یک روش برای مخفی کردن محتویات یک خانه: ; ; ;
0.0 "ریال" ; [red] "Error!" ; 0 ; [color 13] "Error!"
تفسیر: یعنی اعداد مثبت را تا یک رقم اعشار، اگر هم نداشت 0 بگذار و به جای اعداد منفی کلمه Error! را با رنگ قرمز و به جای صفر همان 0 بگذار و به جای متن کلمه Error! را با رنگ شمار 13 بنویس( مثلاً در فاکتورها.......)
0 "dollars" and.00 "Cents"
عدد را به صورت واحدی از 100 نشان می دهد! à 0 "." 00
IF- EISEIF- EISE
می توان برای یک خانه در Format آن حداکثر، دو شرط گذاشت.
"Average" * … 0 ; 0* ... "High" [4=<] ; 0 ...* "Low" [2=>]
تفسیر: اگر عدد کمتر یا مساوی 2 بود کلمه Low را بنویس و خود را عدد را و بین آنها به اندازه عرض خانه Space قرار بده ، اگر عدد بزرگتر یا مساوی 4 بود کلمه High را بنویس و خود را عدد را و بین آنها به اندازه عرض خانه Space قرار بده، هر عدد که بود بجز دو شرط بالا کلمه Average را بنویس و خود را عدد را و بین آنها به اندازه عرض خانه Space قرار بده .
0000- 000 ; 0000- 000 (000) [99999999>] شماره تلفن
البته فرمت های دیگری برای تاریخ و زمان موجود است که دوستان با کمی دقت می توانند آنها را تفسیر کنند،
فرشید میدانی farshid_mi@yahoo.com
در مورد اکسل 41 باید بگم که اگر سطح امنیتی اکسل شما بسیار بالا باشد این ماکرو اجرا نخواهد شد .آنرا به medium تغییر دهید.در ضمن ماکرو را خودتان ضبط کنید و بعداً آنرا تغییر دهید و به یک باره از سایت کپی نکنید.فقط قسمتهای قرمز را خودتان تغییر دهید و اضافه کنید. امیدوارم این طوری این ماکرو اجرا شود.اگر باز هم مشکلی بود بگید فعلا زنده ام.
برای اینکه بتوانیم در اکسل فقط یک صفحه خاص را از بین چندین صفحه چاپ کنیم باید در کادر print شماره صفحه را وارد کنیم.برای دفعات متعدد این کار کمی خسته کننده به نظر می رسد.می خواهیم با یافتن راهی گره از این مشکل برداریم. چه کنیم ؟ چون کار تکرار دارد پس ماکروها می توانند بسیار مفید باشند.پس ابتدا یک صفحه بزرگ پر از داده را باز کنید.سپس گزینه ضبط ماکرو را فعال کنید
Toolsà Macroà Record new macro
حال شروع می کنیم به ضبط ماکرو.یعنی منوی file را باز می کنیم و Print را انتخاب می کنیم و در Page مثلا صفحه 3 را می خواهیم چاپ کنیم برای همین وارد می کنیم از 3 تا 3.به این ترتیب پرینت انجام می شود.ضبط ماکرو را متوقف می کنیم.ماکروی ما آماده است.منتها با هر بار اجرا صفحه 3 را چاپ می کند.می خواهیم شماره صفحه را هنگام اجرا از ما بپرسد.با این عمل در واقع قدم به دنیای ماکرو نویسی گذاشته ایم .لیست ماکروها را باز کنید.ماکروی ضبط شده را انتخاب کرده و edit می کنیم.ویژوال بیسیک باز می شود.در آن ماکرویی را که ضبط کرده ایم می بینیم.حال باید یک متغیر تعریف کنیم که همان شماره صفحه باشد.برای این کار از دستور زیر استفاده میکنیم:
Inputbox("Message",["Title"],[Default],[Xpos],[Ypos],[Helpfile],[Context])
گزینه های داخل براکت اختیاری هستند.جواب این سوال را در report ذخیره می کنم و شماره صفحه چاپی را برابر این Report قرار می دهم.من پس از ضبط ماکرو آنرا به این صورت تغییر دادم:
Sub Macro1()
'
' Macro1 Macro
' Macro recorded 2006/07/21 by بهرام صمديان
'
' Keyboard Shortcut: Ctrl+s
'
report = InputBox("شماره صفحه ای را که می خواهید چاپ شود وارد کنید")
ActiveWindow.SelectedSheets.PrintOut From:=report, to:=report, Copies:=1, Collate _
:=True
End Sub
جایی را که تغییر دادم را به رنگ قرمز مشخص کرده ام.اگر بتوانید این ماکرو را در ماکروهای شخصی خودتان (Personal) ذخیره کنید همواره می توانید از این ماکرو استفاده کنید.حال ویژوال بیسیک را ببندید و ماکرو را اجرا کنید.به سوال پاسخ دهید تا صفحه مورد نظر شما چاپ شود.
http://support.microsoft.com/default.aspx?scid=KB;EN-US;213360
امیدوارم که به بزرگواری خود ببخشید.
خانم مرجان سوالی فرموده اند به این صورت که برای محاسبه میانگین اعداد با ضرایب مختلف چه کنیم.مثلا برای میانگین گرفتن دروس زیر با تعداد واحدهای مختلف:
|
B |
A |
|
|
تعداد واحد |
نمره درس |
1 |
|
4 |
16 |
2 |
|
3 |
17 |
3 |
|
2 |
19 |
4 |
در خانه ای فرمول زیر را وارد کنید:
=SUMPRODUCT(A2:A4;B2:B4)/SUM(B2:B4)
اما توضیح فرمول:قسمتی که با رنگ قرمز مشخص شده است یک تابع آماده اکسل می باشد که می توانید از قسمت Math & Trig به تابع Sumproduct دسترسی داشته باشید.در کادر این تابع نمرات را به عنوان آرایه 1 و واحدها را به عنوان آرایه 2 وارد می کنیم.با این کار مجموع حاصل ضرب نمرات در واحدها بدست می آید.اما برای میانگین گرفتن باید تغییراتی در این تابع بدهیم.پس در حالت ادیت فرمول بقیه فرمول را تایپ می کنیم.به این ترتیب عدد بدست آمده بر مجموع تعداد واحدها تقسیم می شود.و میانگین بدست می آید.البته این سریع ترین راه بود .امیدوارم مفید بوده باشد.
Filter
باید بدانیم که بانکهای اطلاعاتی امروزه جزء لاینفک هر اداره و شرکتی شده است.مثلا داده های مربوط به کارمندان و حقوق و مواردی از این قبیل می تواند مثال خوبی برای یک بانک اطلاعاتی باشد.بانک اطلاعاتی یعنی اطلاعات را در آن قرار بده تا در موارد ضروری بتوانی اطلاعات درخواستی خود را به سرعت بدست بیاوری.
داده های زیر را در نظر بگیرید تا روی آنها کار کنیم:
|
نام |
شغل |
حقوق |
بیمه |
جنس |
|
نسیم |
معلم |
90,000 |
P |
زن |
|
نسرین |
کارمند |
190,000 |
P |
زن |
|
ندا |
کارمند |
300,000 |
P |
زن |
|
محمود |
معلم |
150,000 |
P |
مرد |
|
محمد |
کارمند |
320,000 |
× |
مرد |
|
علی |
راننده |
200,000 |
P |
مرد |
|
زهرا |
معلم |
70,000 |
P |
زن |
|
رضا |
راننده |
150,000 |
P |
مرد |
|
خلیل |
معلم |
280,000 |
× |
مرد |
|
حسین |
معلم |
100,000 |
P |
مرد |
|
حسام |
معلم |
320,000 |
P |
مرد |
|
حامد |
کارمند |
100,000 |
P |
مرد |
|
بهنام |
کارمند |
80,000 |
× |
مرد |
|
احمد |
معلم |
180,000 |
P |
مرد |
برای وارد کردن یک لیست مثل جدول روبرو یا باید ابتدا لیست را ایجاد کنیم بعد اطلاعات را وارد کنیم یا اینکه ابتدا اطلاعات را وارد کنیم و بعد آنرا به عنوان لیست معرفی کنیم .دو روش هیچ تفاوتی با هم ندارند.حال که ما جدول را در اکسل وارد کرده ایم آنرا به عنوان لیست معرفی می کنیم برای این کار از منوی زیر عمل می کنیم:
Dataà List à Create list
در کادر باز شده باید منطقه لیست خود را مشخص کنیم.البته اگر سلول فعال در یکی از خانه های همین داده ها باشد اکسل فورا متوجه منطقه لیست شده و اطراف داده ها را خط متحرک قرار می دهد.حتی گزینه My list has Headers را تیک می زند برای اینکه در سطر اول ما نام فیلدها را وارد کرده ایم.به این ترتیب ما لیست خود را ساخته ایم.اطراف لیست یک کادر آبی مشاهده می شود.که محدوده لیست را مشخص می کند.حال می رسیم به مسئله فیلتر کردن.برای فیلتر کردن اطلاعات بر اساس هر فیلدی که بخواهیم باید روی مثلث کوچک کنار همان فیلد کلیک کنیم.و از گزینه های باز شده یک را برای فیلتر کردن انتخاب کنیم.مثلا اگر بخواهیم افرادی را که حقوقی کمتر از 100000 دریافت می کنند را نشان دهیم باید روی فیلد حقوق فیلتر را انجام دهیم.برای این منظور روی مثلث مربوط به فیلد حقوق کلیک می کنیم.از آنجایی که یک شرط خاص را ما می خواهیم اعمال کنیم که در گزینه ها موجود نمی باشد پس گزینه Custom را انتخاب می کنیم.در کادر باز شده ابتدا نوع نامساوی را اعم از مساوی ،کمتر ،بیشتر ،مخالف و... را تعیین می کنیم.برای مورد ما گزینه is less than مناسب است.در کادر کناری آن عدد 100000 را وارد می کنیم.و اینتر.به این ترتیب لیست ما تنها افرادی را نشان می دهد که حقوق کمتر از 100000 را دریافت می کنند.حال روی همین لیست فیلتر شده دوباره یک فیلتر دیگر را اعمال می کنیم و آن هم اینکه فقط زن ها را نشان دهد.برای همین روی فیلد جنس کلیک کرده از گزینه های باز شده گزینه زن را انتخاب می کنیم.اگر توجه کرده باشد می بینید که هر گاه یک فیلتر را اعمال می کنیم رنگ مثلث آن فیلد آبی می شود که نشانگر این است که لیست بر اساس آن فیلد فیلتر شده است و این اطلاعات نمایش داده شده تمام اطلاعات نیست.در مثال ما فیلدهای حقوق و جنس آبی رنگ شده اند.برای دیدن همه داده ها یا باید روی تک تک فیلدهای فیلتر شده کلیک کرده از گزینه های باز شده show all را انتخاب کنیم یا از منوی Data àFilter àshow all همه اطلاعات را ظاهر سازیم.در حالت عادی یک لیست در حالت Auto filter قرار دارد.می توان این حالت را غیر فعال کرد که مسیر آن عبارت است از:DataàFilter àAuto Filter
با غیر فعال کردن این گزینه مثلث های کوچک کنار فیلدها از بین می روند و انجام فیلتر به این راحتی ها نخواهد بود.البته Auto Filter یک امکان جالبی را که به ما می دهد این است که ما می توانیم داده ها را بدون لیست کردن فیلتر کنیم.برای این که این خاصیت را ببینیم ابتدا داده ها را از حالت لیست خارج می کنیم.برای این کار روی یک سلول لیست کلیک می کنیم و از مسیر زیر لیست را به یک محدوده معمولی تبدیل می کنیم.DataàListàConvert to Range عمل را تائید کنید تا لیست از حالت لیست بودن خارج شود.حالا Auto Filter را روی آن اعمال کنید.یعنی یک سلول را از محدوده داده ها انتخاب کنید و DataàFilterà Auto Filter به این ترتیب بدون اینکه داده ها لیست شوند می توان از امکان فیلتر کردن داده ها استفاده کرد.
حالا که تا این جا پیش آمده ایم بهتر است که گزینه Advanced Filter را نیز بررسی کنیم.گزینه Auto Filter جستجوها پیچیده را نمی تواند انجام دهد .مثلا اگر بخواهیم لیست مردهایی را که حقوق بیش از 200000 و زن هایی را که حقوق بیش از 150000 را دریافت می کنند داشته باشیم گزینه Auto Filter کمکی به ما نمی کند اینجاست که مجبوریم از Advanced Filter استفاده کنیم.برای این کار باید ابتدا شرط ها را ایجاد کنیم.برای این کار چون ما یک محدوده 5 فیلدی داریم (نام ، شغل ،حقوق ،بیمه و جنس) برای همین یک ناحیه 5 ستونی را در نظر می گیریم .باید عناوین فیلدهای 5 گانه را در این ستونها وارد کنیم.بهتر است که آنها را از روی محدوده داده ها کپی کنید تا هیچ فرقی با هم نداشته باشند.حالا که عناوین را در یک محدوده جدید کپی کرده اید شروع می کنیم به وارد کردن شرط ها در این ناحیه جدید.این ناحیه به ناحیه شرط معروف است.در اولین سطر فیلد حقوق وارد کنید 200000< در اولین سطر فیلد جنس هم وارد کنید مرد.اولین شرط تمام شد یعنی مردهایی که بیش از 200000 حقوق می گیرند.در دومین سطر فیلد حقوق 150000< را وارد می کنیم و در روبروی آن در فیلد جنس زن را تایپ می کنیم.به این ترتیب دومین شرط هم اعمال شد یعنی زن هایی که بیش از 150000 حقوق می گیرند.حال که ساخت ناحیه شرط تمام شد گزینه Advanced Filter را از مسیر زیر فعال می کنیم:
Dataà Filter àAdvanced Filter
در کادر باز شده ناحیه داده ها را به همراه عناوین فیلدها به عنوان List Range وارد می کنیم.در کادر پایین آن ناحیه شرط را به همراه عناوین فیلدها وارد می کنیم.اینتر را بزنید تا داده ها بر حسب دو شرط فیلتر شوند.نتیجه را در همان محدوده داده ها مشاهده می کنید.
چند نکته:اگر بین ناحیه شرط سطر خالی باشد نتایج درست نخواهد بود.
اگر بخواهیم که داده های فیلتر شده در یک ناحیه جدید نشان داده شود باید در کادر Advanced Filter گزینه Copy to another location را انتخاب کرده و در کادر Copy to یک ناحیه شامل 5 ستون را انتخاب کنیم.به این ترتیب داده های فیلتر شده در این ناحیه نشان داده می شود.
نکته مهم دیگر اینکه چندی پیش آقای علی دما سوال کرده بودند که چگونه داده های تکراری را از بین لیست فیلتر کنیم تا فقط داده های منحصر بفرد باقی بمانند. در کادر Advanced Filter در پایین گزینه ای هست (Unique records only) که با تیک زدن آن داده های منحصر به فرد را در لیست داده ها نشان می دهد.
Scenario - 1 (سناریو)
برخی مواقع می خواهیم که حالتهای مختلفی را برای یک مورد از قبل پیش بینی کنیم تا در صورت نیاز آنها را اعمال کنیم.برای مثال فرض کنیم که می خواهیم که میزان فروش و خرید و سود یک کارخانه را برای حالتهای مختلفی از قبل پیش بینی کنیم .به این صورت که در جدول زیر می بینیم:
|
فروش |
خرید |
سود |
|
100 |
75 |
25 |
|
125 |
90 |
35 |
اما ما می خواهیم که یکی از ردیفهای فوق در شیت وارد شوند و ارائه شوند اما سری دوم نیز در انتظار باشد تا اگر نیاز شد از آن نیز استفاده کنیم .برای این کار شیت را تنظیم می کنیم و در ستون A تایپ می کنیم فروش ، خرید ، سود.
در مقابل هر یک مقدارشان را درج می کنیم.یعنی 100،75 و 25.حال از منوی Tools گزینه scenario را انتخاب می کنیم.چون هنوز هیچ سناریویی را تعریف نکرده ایم پس در کادر باز شده روی Add کلیک کنید تا کادر بعدی باز شود.نامی را برای سناریوی خود انتخاب کنید.می توانید فارسی نیز تایپ کنید.مثلا اگر داده های ردیف اول جدول را وارد کرده اید می توانید نامش را بدترین سود بگذارید.حال سلولهایی را که می خواهیم با تغییر سناریو تغییر کنند را انتخاب می کنیم.فرض کنیم بخواهیم روی خرید و فروش مانور انجام دهیم.سلولهای مربوط به 100و75 را انتخاب می کنیم.اگر نواحی شما مجاور هم نباشند می توانید با استفاده از کلیدCtrl و نگه داشتن این کلید این نواحی را انتخاب کنید.در مثال ما خانه های B1و B2 را انتخاب می کنیم.
در پایین در قسمت protection می توانید تنظیمات دلخواه را اعمال کنید.البته این تنظیمات در حالت عادی اثری ندارند مگر اینکه شما کاربرگ را حفاظت کنید. (طریقه آن Toolsàprotectionàprotect sheet)
پس از زدن OK کادری باز می شود که از ما می خواهد که اعداد دو سلول متغیر را وارد کنیم.چون ما قبلا در شیت این کار را کرده ایم پس اکسل در این کادر این اعداد را نشان خواهد داد.پس کافی است که OK را بزنیم .
حالا ما یک سناریو تعریف کرده ایم برای تعریف سناریوی دوم در مورد همان دو سلول در کادری که سناریوهای موجود را نشان می دهد دوباره روی Add کلیک کنید دوباره نام را وارد کنید.این بار چون سناریوی جدیدی را وارد می کنیم نام بهترین سود را برای آن در نظر می گیریم.بعد از اینتر در کادر باز شده مقادیر را وارد کنید.یعنی 125 و 90.بعد هم که اینتر.حال ما دو سناریو تعریف کرده ایم که از هر کدام که بخواهیم می توانیم به راحتی استفاده کنیم.چون سناریوی بدترین سود در شیت دیده می شود ما می خواهیم که سناریوی بهترین سود را برای کسانی که در جلسه هستند و به گزارش ما گوش می کنند ارائه دهیم.در کادر سناریو روی بهتری سود کلیک کنید و سپس روی Show کلیک کنید.دو سلول مورد نظر با هم تغییر می کنند.محاسبات دوباره انجام می شوند.دیگر لازم نیست که در آن لحظه حساس در اتاق رئیس دو ساعت داده وارد کنید .کافی است که شما قبلا این موارد را پیش بینی کرده باشید.
البته این مثال بسیار کوچک و ساده بود تا نحوه کار مشخص شود.در موارد واقعی تعداد سلولهای متغیر بیش از اینها خواهد بود.
این قصه ادامه دارد....
آقای علی دما سوال فرموده اند که اگر بخواهیم در یک ستون اعداد که برخی از آنها تکرار شده اند اعداد منحصر به فرد را جدا کنیم چه کاری باید انجام دهیم.قبلا به این مورد پاسخ دادیم که چگونه از ورود داده های تکراری جلوگیری کنیم.اما این جا داده ها وارد شده اند و ما فقط می خواهیم آنها را به نوعی فیلتر کنیم.برای این کار فرض کنیم داده های ما در ستون A وارد شده اند کل ستون را انتخاب و از منوی data گزینه Sort را انتخاب می کنیم .اینتر را بزنید تا داده ها مرتب شوند.حال در اولین خانه ستون B وارد کنید=A1 با این فرمول مقدار موجود در سلول مجاور به این سلول کپی می شود.در سلول B2 فرمول زیر را وارد کنید.=IF(A2-A1=0;"";A2)
این فرمول بیان می کند که اگر مقدار موجود در سلول A2 با سلول A1 برابر بود در آن صورت نتیجه فرمول خالی خواهد بود در غیر این صورت همان مقدار موجود در سلول A2 خواهد بود این فرمول را به روش AUTOFILL به سلول های زیرین نیز کپی کنید.به این ترتیب در ستون B تنها اعداد منحصر به فرد قابل مشاهده خواهند بود.
Pivot Chart 4
در مورد Pivot Table ها کمی بحث کردیم کمی هم راجع به Pivot Chart بحث کنیم.همواره نمودار از جدول گویا تر است و سریع به ذهن منتقل می شود برای همین داشتن یک نمودار در کنار یک جدول بسیار قوی در ارائه آمار و اطلاعات مفید خواهد بود.راه های مختلفی برای رسم یک نمودار Pivot Chart هست.راه اول اینکه هنگام تهیه و تنظیم جدول در کادر باز شده گزینه جدول و نمودار را انتخاب کنیم.راه دیگر این است که اگر جدول را آماده کرده باشیم روی جدول راست کلیک کرده و از آن گزینه Pivot Chart را انتخاب می کنیم.راه سریع تر دیگر استفاده از Toolbar Pivot Table و کلیک روی آیکون نمودار است.با هر راهی که نمودار را رسم کنیم در هر صورت یک نمودار Pivot Chart را خواهیم داشت که با Pivot Table در ارتباط است یعنی اگر Pivot Chart را تغییر بدهیم جدول نیز تغییر خواهد کرد و بالعکس.این امر در مورد کم و زیاد کردن فاکتورها و حتی فیلتر کردن یک فاکتور نیز صدق می کند.
دوست عزیزی سوال کرده بودند که چگونه می توان از ورود داده های تکراری به یک محدوده خاص جلوگیری کرد.برای این کار فرض کنیم می خواهیم این فشار را روی ستون A اعمال کنیم.کل ستون را انتخاب می کنیم و از منوی DATA گزینه Validation را انتخاب می کنیم.در کادر باز شده در قسمت setting گزینه custom را انتخاب می کنیم و فرمول زیر را وارد می کنیم.
=COUNTIF(A:A;A1)=1
حال باید نوع اخطار را در برگه مربوطه تعیین هشداری را تایپ و نوع اخطار را بر حسب سخت گیری تعیین کنید.بعد از این عمل داده تکراری وارد نخواهد شد و اگر چنین اتفاقی بیفتد اکسل با توجه به پیام خطای تایپ شده و نوع خطا شما را از این کار مطلع خواهد کرد.
برای یک محدوده خاص می توانید از علامت دلار و آدرس دهی خانه ها استفاده کنید.
=COUNTIF($A$2:$A$50;A1)=1
منبع این مطلب:روزنامه جام جم-ویژه نامه کلیک شماره 100 یکشنبه 18 تیر 1385 صفحه 10
Pivot Table 3
در دو قسمت قبلی دو جدول را طراحی و رسم کردیم.حال می خواهیم به آخرین جدولی که طراحی کرده ایم نکاتی را اضافه کنیم.آخرین جدول شامل درصد دارندگان بیمه و بدون بیمه ها به تفکیک شغل شان بود.حال فرض کنیم می خواهیم جدول زیر را طراحی کنیم:جدولی که تعداد افراد را به تفکیک شغلی و جنسیت و بیمه محاسبه کند.برای این کار شغل را در سطر،بیمه را در ستون و جنس را در سطر قرار می دهیم .حقوق را هم که در قسمت داده ها وارد می کنیم .به این ترتیب سطر دو لایه می شود.حال پس از تغییر نوع محاسبه جدول به تعداد ، می توان این گونه از جدول برداشت کرد.مثلا:10 نفر از کارمندان مرد بیمه دارند و 6 نفر از کارمندان مرد بیمه ندارند.و به این صورت می توان به طراحی جداولی اقدام کرد که سطر و ستون آنها بیش از یک فاکتور دارند.البته برای اینک جدول زیاد شلوغ نشود می توان فاکتور جنسیت را به قسمت Page وارد کرد.به این ترتیب در این حالت به تفکیک حالت قبلی نخواهد بود اما می توان در موارد ضروری یکی از گزینه های مرد یا زن را انتخاب کرد.
نکته دیگر در باب Pivot Table این است که اگر مثلا خواستیم بدانیم که مثلا 20 نفر معلم مرد که بیمه دارند چه کسانی هستند کافی است که روی عدد 20 دوبل کلیک کنیم.به این ترتیب اکسل تمام آن افراد را با ذکر کامل جزئیات دیگر در یک شیت جدید ارائه می کند.یا مثلا فرض کنید بخواهیم جزئیات مربوط به افراد فاقد بیمه را داشته باشیم با دوبل کلیک روی عدد 15 که معرف Grand total بیمه نشده ه است به این اطلاعات دست می یابیم.