ناحیه چاپ هوشمند.

فرض کنید دارای جدولی از داده های فروش هستید و این جدول روزانه تغییر می کند و فروش های جدیدی به آن اضافه می شود.

و شما باید هر روز گزارشی از کل فروش ها را برای مدیر خود آماده و چاپ کنید.

اطلاعات جدول هم ممکن است سطری و هم ستونی تغییر داشته باشند و دارای یک محدوده ثابت نیستند.

شما دقیقاً قصد دارید که فقط ناحیه داده ها را چاپ کنید و هر بار مجبور به تنظیم ناحیه چاپ نباشید.

همانطور که در گیف بالا می بینید با اضافه کردن سطر و ستون جدید ناحیه چاپ گسترش یافته

و اطلاعات جدید را در بر می گیرد.

خطوط خاکستری اطراف داده ها محدوده چاپ را مشخص می کند

جدول زیر را در نظر بگیرید:

جدول فروش محصولات

تنظیم دینامیک ناحیه پرینت

برای آنکه فقط ناحیه اطلاعات وارد شده را بتوانبم برای چاپ به صورت هوشمند تنظیم کنیم باید دو گام را طی کنیم

گام های لازم

در گام اول باید یک ناحیه پویا (دینامیک) از اطلاعات ایجاد کنیم که با تغییر ردیف یا ستون، آنها را به ناحیه چاپ اضافه کند

و در گام دوم باید ناحیه فعلی داده ها را به صورت ناحیه چاپ تعیین کنیم

برای ساخت ناحیه قابل گسترش (دینامیک) از توابع ترکیبی OFFSET و COUNTA استفاده می کنیم

با استفاده از تابع OFFSET می توانیم با مشخص کردن فاصله سطری و ستونی به محدوده و یا یک سلول خاص برسیم.

ساختار کلی تابع OFFSET به شرح زیر است

OFFSET(reference,rows,cols,[height],[width])

آرگومان reference یک آرگومان اجباری (باید حتماً وارد شود) محل شروع انتقال را مشخص می کند.

آرگومان row تعداد ردیفی است که باید جابجا شود

آرگومان cols تعداد ستونی که باید جابجا شود

آرگومان های height , width طول و عرض ناحیه انتخابی هستند و آرگومان های اختیاری می باشند.

(یعنی می توانیم مقدار آنها را وارد نکنیم)

تابع COUNTA همه مقادیر عددی و غیر عددی را شمارش می کند

برای دیدن آموزش های بیشتر تابع OFFSET به لینک های زیر مراجعه فرمایید:

ایجاد محدوده های دینامیک در اکسل

تابع OFFSET و کاربردهای آن

برای ساخت فرمول دینامیک در گام 1 ، ابتدا فرض می کنیم که محدوده داده ها برای چاپ از ردیف A1 تا A200 و ستون ها   از A1 تا H200 بیشتر نخواهند شد

تذکر مهم: اگر ناحیه چاپ بیشتر از محدوده فرضی ما باشند اطلاعات آنها به ناحیه چاپ اضافه نخواهند شد

فرمول ترکیبی ایجاد محدوده دینامیک

=OFFSET($A$1,0,0,COUNTA($A$1:$A$200),COUNTA($A$1:$H$1))

در این فرمول مقدار reference برابر $A$1 قرار داده شده. مقادیر row , cols برابر صفر در نظر گرفته شده اند.

(یعنی مقدار جابجایی سطر و ستون برابر صفر است)

مقدار height برابر تعداد کل سطرهای اطلاعات و مقدار width برابر تعداد کل ستون های اطلاعات قرار داده شده اند

تذکر: در صورتی که پیش بینی می کنید ناحیه چاپ بیستر از 200 ردیف و 8 ستون باشد(ستون Hستون هشتم می باشد)

می توانید مقدار آنها را به دلخواه در فرمول افزایش دهید

فرمول را کجا بنویسیم؟

برای نوشتن فرمول دینامیک از سربرگ Formulas بر روی Name Manager کلیک کنید و از پنجره ظاهر شده New… را انتخاب نمایید .

سپس برای فرمول نام دلخواهی را انتخاب کرده و در کادر مقابل Refers To فرمول ترکیبی را قرار دهید

شکل های زیر را ببینید:

مدیریت نام گذاری نواحی

ساخت نام جدید

نامگذاری ناحیه دینامیک

 

پس ار انجام مراحل فوق برای انجام گام دوم به شرح زیر عمل می کنیم:

ناحیه فعلی داده ها را انتخاب کرده و از سربرگ page Layout عبارت Print Area و سپس Set Print Area را انتخاب می کنیم

تنظیم محدوده چاپ

با این کار ناحیه فعلی داده ها به صورت محدوده چاپ انتخاب شده و فقط همین ناحیه در خروجی چاپ ظاهر می شود.

برای آنکه با ورود اطلاعات جدید و گسترش سطر و ستون، ناحیه چاپ نیز گسترش یابد به صورت زیر عمل می کنیم

پس از تنظیم set print area یک نام محدوده به صورت خودکار و با نامPrint_Area  در پنجره Name Manager ایجاد می شود.

این نام را انتخاب کرده و بر روی دکمه Edit… کلیک می کنیم

ویرایش ناحیه پرینت

از پنجره ظاهر شده و در مقابل عبارت :Refers to که هم اکنون عبارت sheet1!$A$1:$D$6 قرار دارد

نام فرمول دینامیک یعنی auto_print_area را جایگزین کرده و بر روی دکمه OK کلیک می کنیم

ناحیه چاپ

اکنون اگر به جدول داده های فروش برگردیم و یک آیتم جدید را اضافه کنیم ناحیه چاپ، داده جدید را نیز شامل می شود.