
چرا آدرس دهی بسیار مهم است؟
همانطور که قبلا گفتم فرمول نویسی حرفه ای اصول و قوانینی داره که یکی از مهم ترین موضوعات، بحث مطلق/نسبی (Absolute/Relative) بودن آدرس محدوده هاست. این موضوع وقتی مطرح میشه که بخوایم فرمولی که نوشتیم رو Drag کنیم. اگر به این مسئله تسلط عالی نداشته باشیم، هیچ وقت نمیتونیم به فرمولی که می نویسیم و درگ می کنیم اعتماد کنیم و مجبوریم تک تک نتایج رو بررسی کنیم که این کار در مقیاس های بزرگ بسیار وقتگیر خواهد بود. برای درک بهتر این موضوع (آدرس دهی) اول باید با نحوه ارجاع به یک سلول و یا فراخوانی یک سلول در اکسل آشنا بشیم که به دو روش صورت میگیره:
- مدل A1
- مدل R1C1 یا (Row1Column1~ ردیف۱ستون۱)
هر دوی این آدرس ها به سل A1 اشاره می کنند که پیش فرض اکسل، همون حالت اول یعنی A1 است. فقط یک نکته اینکه درصورتی که بخواهیم از حالت دوم استفاده کنیم، باید تیک گزینه R1C1 reference style در شکل ۱ را بزنیم تا سرستون های اکسل از A, B, C… به ۱,۲,۳… و در نتیجه نوع آدرس دهی از A1 به R1C1 تغییرکند.

شکل۱- آدرس دهی – تغییر نوع آدرس دهی دراکسل
حالا با حل یک مثال، بحث نسبی و مطلق بودن آدرس در فرمول نویسی رو شرح میدم:
محدوده ای از اعداد داریم که میخواهیم همه رو در یک سل به خصوص ضرب کنیم. طبق شکل ۱، در سل C2 می نویسیم A2*C1= و درگ می کنیم. مسئله ای که پیش میاد این هست که همه سل ها در حین درگ کردن، با هم حرکت میکنند (مطابق شکل ۱).

شکل ۲- آدرس دهی – درگ کردن فرمول (نتیجه غلط)
در حالیکه ما میخواهیم سل C1 ثابت باشه و فقط سل های ستون A تغییر کنند. یعنی چیزی مطابق با شکل ۲٫
من این فرمول رو بصورت دستی برای هر سل تایپ کردم. اما اگر حجم داده ها زیاد بود هم امکان این کار وجود داشت؟ پس باید راهی وجود داشته باشه تا بتونیم تصمیم بگیریم در حین درگ کردن، کدام سل ها تغییر کنند و کدام ها تغییر نکنند.

شکل۳- آدرس دهی – فرمول مد نظر بعد از درگ کردن
درگ کردن در اکسل به دو صورت هست. در لحظه یا در ستون حرکت میکنیم (به سمت بالا و پایین) و یا در سطر(به سمت چپ و راست).
وقتی در ستون حرکت میکنیم (بالا یا پایین) فقط ردیف سل حرکت کننده تغییر می کند و وقتی در ردیف حرکت میکنیم (چپ یا راست) فقط ستون سل حرکت کننده تغییر میکند.
پس برای مطلق/نسبی کردن آدرس سل ها در فرمول ها:
- اول باید ببینیم در کدام مسیر داریم حرکت میکنیم (سطر یا ستون) و چه چیزی در حال تغییر است (شماره ردیف یا نام ستون)؟
- بعد تصمیم بگیریم که آیا میخواهیم تغییر کند یا ثابت بماند؟
وقتی میخواهیم سطر یا ستون رو فیکس کنیم، باید یک علامت $ پشت شماره ردیف یا نام ستون بذاریم. با این تفاسیر، چهار حالت برای آدرس دهی داریم:
| سطر آزاد-ستون آزاد | A1 | با درگ کردن در ستون، شماره ردیف تغییر میکند |
| سطر مطلق-ستون مطلق | $A$1 | با درگ کردن در ستون، شماره ردیف تغییر نمیکند |
| سطر آزاد-ستون مطلق | $A1 | با درگ کردن در ستون، شماره ردیف تغییر میکند |
| سطر مطلق-ستون آزاد | A$1 | با درگ کردن در ستون، شماره ردیف تغییر نمیکند |
حالا برگردیم به همان سوال اول. میخواهیم $ را برای فرمول A2*C1= تنظیم کنیم که با درگ کردن، بدرستی عمل کند. چون در ستون داریم حرکت میکنیم، پس فقط شماره ردیف تغییرمیکنه. حالاما باید تصمیم بگیریم کدوم شماره ردیف تغییر کنده و کدوم ثابت بمونه. چون میخواهیم سل C1 ثابت بمونه و در همه سل ها تکرار بشه (شکل۳)، پس مطابق شکل ۴، $ را پشت ۱ در C1 میگذاریم. اما میخواهیم A2 درسل های بعدی به A3 و A4 و… تغییر کند.پس $ نیازی ندارد.

شکل ۴- آدرس دهی – درگ کردن فرمول (نتیجه درست)
علامت $ را هم میتونیم مستقیما تایپ کنیم. هم اینکه از کلید F4 استفاد کنیم. وقتی روی آدرس مورد نظر قرار بگیریم، با هر بار F4 زدن، یکی از ۴ حالت آدرس دهی ظاهر میشه.
مثال دوم:
میخواهیم یک جدول ضرب ایجاد کنیم. فرمول خیلی ساده هست، A2*B1=. حالا باید طوری آدرس دهی کنیم که با انتقال آن به کل جدول، محاسبات به درستی انجام شود. به شکل ۵ دقت کنید. علامت $ پشت نام A و ردیف ۱ قرار گرفته. چرا؟

شکل ۵- آدرس دهی در جدول ضرب
A2*B1= رو در نظر بگیرید. وقتی در ستون حرکت میکنیم، همواره میخواهیم اعداد موجود در ردیف ۱ در بقیه اعداد که در ستون A هستن، ضرب بشن. پس ردیف ۱ را فیکس میکنیم. وقتی هم که در ردیف حرکت میکنیم، میخواهیم عدد موجود در ستون A در بقیه اعداد ردیف ۱ ضرب بشن. پس $ ها رو به این صورت اعمال میکنیم A2*B$۱ا$=. بعبارت کلی، هر جای این جدول ضرب هستیم، میخواهیم عددی در ردیف۱ ضرب در عددی در ستون A بشه. پس ردیف ۱ و ستون A در فرمول باید فیکس بشه.
مبحث آدرس دهی بسیار بسیار مهمه. کسی که میخواد فرمول نویس حرفه ای بشه، حتما باید به این موضوع تسلط کافی داشته باشه. پس علاوه بر تمرین و تکرار دو مثال تشریح شده، حتما مثال های مختلفی رو امتحان کنید تا کاملا ملکه ذهنتون بشه. هر موقع بحث درگ کردن و انتقال فرمول پیش میاد، اول از همه برید سراغ $ و آدرس دهی رو تنظیم کنید بعد شروع کنید به انتقال فرمول.
مشاهده ویدئو آدرس دهی در اکسل
در این ویدئو نحوه استفاده صحیح از $ جهت ایجاد فرمول های درست آموزش داده شده:
[jwp-video n=”1″]





سلام – ارادتمند
ممنونم از زمانی که برای درک اکسل توسط دیگران تخصیص میدید.
عنوان سوال : ایجاد COMBO BOX وابسته تا ۳ سطح
شرح :
در ۳ ستون اطلاعاتی دارم که به هم وابسته هستند.چگونه میتوان COMBO BOX وابسته ایجاد کرد؟؟؟
درود بر شما
پاینده باشید
این مقاله رو مطالعه کنید:
https://excelpedia.net/related-list/
با همین منطق برای سطح سوم هم انجام بدید
سلام دو سوال داشتم یک – من توی اکسل یک لیست کشویی دارم میخوام با انتخاب هر گزینه تو اون لیست سلولهای مربوط به اون باز بشن و مابقی سلولها بسته بمونن چکار باید بکنم ؟ —— دو – ۲۴ تا فایل دارم که پسورد دادم بعد همه لینک شدن تو یک فایل جامع حالا هر بار بخوام باز کنم فایل تجمیعمو از پسورد تک تک شونو میخواد چکار کنم تا پسوردها رو همواره نزنم و ذخیره بشن
درود بر شما
سوال اول، اگر منظورتون لیست وابسته هست این مقاله رو مطالعه کنید:
https://excelpedia.net/related-list/
سوال دوم.
بله خب پروتکت شده. بحث امنیته فایله. شاید بشه کدنویسی کنید و هر بار خودش بهر پسورد رو بزنه… ولی جستجو کنید ببینید میشه یا نه. بسته به ساختار فایل و نوع قفل گذاشتن و … هم داره
باسلام بنده نزدیک به۶۰۰۰ تا فاکتوردر داخل اکسل دارم که در داخل هر فاکتور یا ۱ قلم جنس یا۲ یا۳ ویا… میباشد و در داخل همین فاکتورها یک قلم ان همیشه گزینه توضیحات هست که بنده اگر توضیحی در مورد فاکتور باشد را در ان قسمت مینویسم و یاد اور میشوم چون این فاکتورها رو با نرم افزار حسابداری ثبت کرده ام توانسته ام به اکسل انتقال بدهم و خود نرم افزار برای تمام اقلام شماره خود فاکتور رو ثبت کرده وخاسته اینگونه نمایش بدهد که شماره هابی که مشترک هستند یعنی مربوط به یک فاکتور هستندبه همین علت برای تمام اقلام درون هر فاکتور شماره کلی همان فاکتور را قرار میدهد مثلا اگر ۳قلم جنس باشد و شماره فاکتور مثلا۱۲ باشد عدد ۱۲ را برای هر۳ قلم هم تایپ میکند حال میخاهم توضیحاتی را که برای هر فاکتور جداگانه ودر قسمت توضیحات در هرفاکتور نوشتم را در جلوی اقلام یا شماره های مشترک مثل۱۲ در هرفاکتور کپی شود .یاد اور میشوم که بدون درگ کردن وکپی کردن باشد چون این کار خیلی زمان بر وخطا را زیاد میکند. میخام فرمول یا روشی بگید که اینتوضیحاتی که در هر فاکتور از این۶۰۰۰ تا فاکتور که وجود دارد را در یک مرحله در شماره های مشترک خود فاکتور کپی شود.
یعنی توضیحات هر فاکتور را در شماره های مشترک کپی شوتد.
با تشکر
درود بر شما
بستگی به ساختار فایلتون داره. توضیح ندادید که این ۶ هزارتا به چه شکل در اکسل هستن… ساختار چی هست…
این موضوع خیلی اهمیت داره
سلام وقت بخیر
من دوتا فایل اکسل دارم که داده های زیادی داخلش هست که دوتا ستون از یک فایل و یک ستون از فایل دیگه رو میخوام کنار هم بیان با همون شماره ردیف کنار هم بشینن به این شکل که ستون اول شماره ردیف هست و ستون دوم مبلغ حالا میخوام این دوتا ستون دقیقا رو به روی ستون ردیف فایل دوم با همون شماره ردیف بشینه. اگه امکانش هست کمک کنید کارم خیلی گیر هست
درود بر شما
از تابع vlookup استفاده کنید
شماره ردیف رو lookup value بذارید، جدول هم که مشخصه…
https://excelpedia.net/vlookup-function/
روز همگی بخیر
آیا در اکسل این امکان وجود داره که فرمولی داده شود عکس ها با قراردادن در شیت اول همزمان در شیت دوم در مقابل ردیف مورد نظر قرار بگیرد .
من دوتاشیت دارم که یکی از شیتها مستر فایل من هست و در شیت دوم که شیت لیست قیمتهای من برای مشتریها می باشد فقط برخی از اقلام از شیت مستر فایل خوانده می شود و می خوام عکس ها رو هم از شیت مستر بخونه .
بسیار سپاسگزارم
درود بر شما
این لینک رو مطالعه کنید:
https://trumpexcel.com/picture-lookup/
با تشکر – مطالب If رو مطالعه کردم ولی نتونستم جواب بگیرم
توضیح بدم که :تمامی سلول ها فرمول دارن و با if هم نوشته شده
می نویسم (IF(Master!AB8>=0,Master!AB8,Master!AE8=
ولی وقتیAB8 عدد نداشته باشه توی سلول مورد نظر من جوابی قرار نمیده
سلام،
زمانیکه تو سلول AB8 چیزی نیست، تو قسمت اول IF به جای اون صفر در نظر گرفته میشه که در نتیجه چون شرط برقرار هست، قسمت دوم IF (که خالی هست) نمایش داده میشه.
اگر میخواید برای حالت خالی نتیجه خاصی نمایش داده بشه، میتونید از تابع ISBLANK برای بررسی خالی یا پر بودن سلول مورد نظر استفاده کنید.
سلام
دو تا شیت دارم که شیت اول درواقع شیت مستر من می باشد . در شیت دوم در یکی از ستونها می خوام که بره در شیت مستر و اگر مثلاٌ A1 من خالی بود یا صفر بود C1 رو اعدادش رو برام بیاره و در شیت دوم من بزاره و بنویسه
درود بر شما
if ساده جواب سوال شما رو میده
https://excelpedia.net/if-function/
سلام و متشکر از توضیحات جالب . یه نرم افزار مدرسه دارم نمیدونم چجوری یه شیت اضافه کنم که قابل اجرا باشه میشه بفرمایید چجوری نرم افزار رو برایتان ارسال کنم تا یه نگاهی بندازید
درود بر شما
شیت اضافه کردن از کلیک راست روی شیت و قسمت Insert انجام میشه. یا علامت + کنار شیتها
ولی اگر ققفل باشه نمیتونید
باید قفلش رو بشکنید
با سلام
اگر بخوایم بین سلولهای چند سطر جوری ارتباط برقرار کنیم که با انجام عمل sort روی ستونها ، سطرهای مرتبط با هم جابجا بشن چکار باید کرد >
درود بر شما
برای سورت کردن داده های به هم پیوسته باید کل داد هها انتخاب بشه
لینک زیر رو ببینید
https://excelpedia.net/sort/
با عرض سلام و خسته نباشید
جسارتا یه فرمولی دارم که در این حالت مشکلی ندارد:
sumif(A1:A15,”green”,B1:B15)
ولی حالا میخوام این را هم شرط کنم که ستون Bای که بزرگتر از ۲ باشد.
ممنون میشوم مرا راهنمایی بفرمایید
با تشکر
درود بر شما
وقتی بیش از یک شرط دارید
از تابع sumifs باید استفاده کنید.لینک زیر رو ببینید
https://excelpedia.net/sumifs-function/