سبد خرید
0

محصولی در سبد خرید نیست.

بازگشت به فروشگاه

لینک فایل اکسل به خارج از شیت

ارتباط دو شیت در اکسل
۴.۴/۵ - (۱۹ امتیاز)

ارتباط دو شیت در اکسل

وقتی داریم فایلی درست میکنیم و محاسباتی انجام میدیم، گاهی اوقات لازمه که اطلاعاتی رو از شیتها و فایل های دیگه فراخوانی کنیم و یا در واقع باید ارتباط دو شیت در اکسل (ارتباط بین شیتها در اکسل) رو ایجاد کنیم. برای اینکه بتونیم اینکار رو انجام بدیم باید یک بین مقصد و مبدا مورد نظر لینک برقرار کنیم. در این مقاله حالت های ارجاع دادن به منابع خارج از شیت جاری می پردازیم که بهش میگن لینک خارجی.

در واقع این لینک خارجی چیزی نیست جز ارجاع دادن به سلول یا محدوده ای غیر از شیت فعلی (شیت دیگه یا فایل دیگه). مهم ترین ویژگی این مسئله اینه که با تغییر داده های شیت یا فایل مرجع، نتیجه در فایل مقصد تغییر میکنه.

آدرس دهی به خارج از شیت جاری خیلی شبیه آدرس دهی معمولی هست، فقط یک سری نکات خیلی مهم وجود داره که اونها رو باید رعایت کنیم. در ادامه این مقاله، نحوه لینک دادن به شیت یا فایل دیگه رو شرح خواهیم داد:

  • ارجاع به شیت دیگر ( ارتباط دو شیت در اکسل )
  • ارجاع به فایل دیگر
  • ارجاع به یک محدوده نامگذاری شده
  1. چگونگی ارتباط دو شیت در اکسل

برای ارجاع دادن به یک سلول یا یک محدوده از یک شیت دیگه از همون فایل اکسل باید الگوی زیر رو رعیات کنیم. یعنی بعد از اسم شیت، علامت تعجب (!) و سپس آدرس سلول گذاشته میشه. یعنی:

لینک به یک سلول از شیت دیگه:

Sheet_name!Cell_address

نمونه : =Sheet1!A1

لینک به یک محدوده از شیت دیگه:

Sheet_name!First_cell:Last_cell

نمونه : =Sheet1!A1:A10

نکته خیلی مهم
اگر اسم شیت مورد نظر Space یا کاراکترهای غیر حروف الفبا داشته باشه، باید اسم شیت داخل یک سینگل کوتیشن ‘ گذاشته بشه مطابق با نمونه:   Project Milestones’!A1*10′

 

موقعی که میخوایم به سلول های یک شیت دیگه ارجاع بدیم، تایپ کردن آدرس محدوده کار مشکل و پر خطایی ممکنه باشه. یک راه ساده تر اینه که در حین نوشتن فرمول مورد نظر، سلول های شیت مقصد رو انتخاب کنیم. فرض کنید میخواهیم در شیت income، محدوده A1:B5 از شیت expense رو جمع بزنیم. برای این کار مراحل زیر رو طی میکنیم:

  • تابع مورد نظر رو نوشته و پرانتز رو باز میکنیم.
  • موقع انتخاب محدوده، روی تب اسم شیت مورد نظر کلیک کرده و محدوده دلخواه رو انتخاب میکنیم.
  • پرانتز رو بسته و Enter را میزنیم. به تصویر زیر دقت کنید:

ارتباط دو شیت در اکسل - لینک به سایر شیت ها

  1. چطور به یک سلول یا محدوده از فایل دیگر، لینک برقرار کنیم

ارجاع دادن به یک فایل اکسل دیگه به دو روش انجام میشه و بستگی به این داره که فایل مورد نظر باز هست یا بسته

  • ارجاع دادن به یک فایل اکسل باز

وقتی که فایل مرجعی که قراره اطلاعات از آن فراخوانی بشه، باز باشه، آدرس لینک شامل نام فایل (workbook) به همراه پسوند داخل براکت [ ]، به همراه نام شیت و نام سلول (با الگوی بالا) هست. به الگوی نمایش داده شده دقت کنید:

[Workbook_name]Sheet_name!Cell_address

مثلا فرض کنید میخوایم جمع محدوده B2:D50 در شیت farvardin از فایلی به نام sale حساب کنیم. الگو بصورت زیر خواهد بود:

=SUM( [Sale.xlsx]Farvardin! $B$2:$D$50 )

نکته:
وقتی به یک شیت از فایل جاری ارجاع میدیم، سلول ها بصورت کاملا آزاد (بدون $) ثبت میشن. اما وقتی به یک شیت از یک فایل جدا ارجاع میدیم، سلول ها بصورت کاملا مطلق (با علامت $) ثبت میشن. که این مسئله پیش فرض نرم افزار هست و ما میتونیم هر دو حالت رو با توجه به نیازمون تغییر بدیم.

 

  • ارجاع دادن به یک فایل بسته

وقتی که فایل مرجعی که قراره اطلاعات از آن فراخوانی بشه، نیازی نباشه که باز بمونه و بسته باشه، باید آدرس کامل مسیر ذخیره فایل رو داخل لینک بیاریم. به الگوی نمایش داده شده دقت کنید:

Drive:\ folder\ [Workbook_name]Sheet_name!Cell_address

مثلا فرض کنید میخوایم جمع محدوده B2:D50 در شیت Farvardin از فایلی به نام sale حساب کنیم که فایل sale بسته است. الگو بصورت زیر خواهد بود:

=SUM(‘D:\reports\[Sale.xlsx]Farvardin’!$B$2:$B$50)

در واقع اجزای این لینک مشابه لینک در حالت بسته هست، فقط مسیر ذخیره فایل هم بهش اضافه میشه. در این صورت حتی اگر فایل مرجع بسته باشه و ما فرمول رو تغییر بدیم، نتیجه آپدیت خواهد شد.

نکته:
محدودیتی برای تایپ نامها به زبان پارسی وجود نداره و میتونید هم اسم شیت و هم اسم فایل رو بصورت فارسی در قالب این الگوها استفاده کنید. ولی پیشنهاد میشه که نام ها همه انگلیسی باشن، چون بعضی مواقع استفاده از نام پارسی باعث به هم ریخته شدن فرمول و مشکل شدن بررسی فرمول ها میشه.

 

  1. چطور به یک محدوده نامگذاری شده، لینک برقرار کنیم

علاوه بر ارجاع به یک سلول یا محدوده (Range) میتونیم به محدوده های نامگذاری شده هم ارجاع بدیم. برای این کار کافیه بجای اسم سلول یا محدوده مورد نظر، نام تعیین شده رو تایپ کنیم.

فرض کنید محدوده B2:B50 شیت farvardin از فایل Sale رو گذاشتیم Sale_Farvardin مطابق شکل ۱.

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

شکل ۱- ارتباط بین شیتها در اکسل – نامگذاری محدوده

نکته:
بصورت پیش فرض، همه محدود های نامگذاری شده در اکسل در محدوده Workbook تعیین میشن، مگر اینکه از قسمت Scope یک شیت دیگه انتخاب کنیم. پیشنهاد ما استفاده از حالت workbook هست (مگر اینکه دلیلی مشخصی برای استفاده از worksheet داشته باشید). توجه کنید که محدوده اهمیت خیلی زیادی داره چون کمک میکنه به نرم افزار که نام تعیین شده رو تشخیص بده.

 

حالا برای اینکه از این نام در شیت یا فایل دیگه بتونیم استفاده کنیم، الگوی کلی بصورت زیر خواهد بود:

=Function(name)

اما باید به یک نکته توجه داشته باشیم. اگر محدوده (Scope) نام مورد نظر Workbook هست، که فقط کافیه نام محدوده رو داخل تابع تایپ کنیم.

=SUM(Sale_Farvardin)

اما اگر محدوده در سطح شیت هست (یکی از شیت های فایل مورد نظر)، باید نام شیت رو هم در فرمول بیاریم:

=SUM(Farvardin!Sale_Farvardin)

اگر هم بخوایم به یک فایل خارج از این فایل ارجاع بدیم، بصورت زیر خواهد بود:

=Function(Workbook_name!name)

همه مواردی که در قسمت workbook تشریح شد برای ارجاع به محدوده نامگذاری نیز برقرار هست و فقط کافیه بجای آدرس سلول یا محدوده (Range) از نام مورد نظر استفاده کرد.

زمانی که فایلی که حاوی لینک هست رو باز میکنیم، پنجره ای ظاهر میشه که آیا میخواید لینک ها بروز شوند یا خیر؟ (مطابق شکل ۲)

با زدن گزینه Update نتایج سلول هایی که حاوی لینک هستن بروز خواهد شد.

ارتباط دو شیت در اکسل - پیغام بروزرسانی لینک ها

شکل ۲- ارتباط بین شیتها در اکسل – پیغام بروزرسانی لینک ها

برای مشاهده همه لینک هایی که در یک فایل وجود داره، از مسیر زیر روی Edit Link کلیک میکنیم. از پنجره نمایش داده شده در شکل ۳ همه لینک های موجود در فایل قابل مشاهده هستند.

Data/ Connections/ Edit links

پنجره نمایش لینک های استفاده شده در یک فایل

شکل ۳- پنجره نمایش لینک های استفاده شده در یک فایل

خب در این آموزش با استفاده از سه روش ارجاع دادن به سلول ها و محدوده های مختلف خارج/داخل فایل، و ایجاد ارتباط بین قسمت های مختلف یک شیت ( ارتباط دو شیت در اکسل ) یا فایل رو تشریح کردیم. این موضوع کاربرد زیادی میتونه داشته باشه برای زمانی که داده ها در فایل های جداگانه ذخیره میشن و بخش گزارش یا نرم افزار خروجی، در فایلی جداگانه. حتما سعی کنید فایلی رو با این شرایط تهیه کنید و کاربرد مطالب ارائه شده رو بررسی کنید.

در انتها حتما مقاله مدیریت لینک ها در اکسل رو نگاه کنید.

کلیدواژه : نام گذاری محدوده
آواتار
145

فارغ التحصیل لیسانس مهندسی صنایع، ارشد مدیریت صنعتی از دانشگاه تربیت مدرس و عاشق اکسل هستم. از سال 1388 که ترم 2 لیسانس بودم، به توصیه استاد مشاورم شروع به خوندن اکسل بصورت حرفه ای کردم و همچنان در حال مطالعه و یادگیری و البته آموزش به بقیه هستم.

دیدگاه کاربران
  • احمد ۲۸ فروردین ۱۳۹۹ / ۳:۱۱ ب٫ظ

    سلام وعرض ادب.
    در مورد فراخوانی فایل بسته:
    بنده یک لیست از شرکت ها در ستون اولم دارم، و اطلاعات این شرکت ها رو به صورت جداگانه در فایل اکسل های جداگانه دارم، برای فرخوانی اطلاعات از تابع VLOOKUP استفاده میکنم، میخواستم بدونم آیا برای فراخوانی اطلاعات میشه اسم فایل رو به صورت پویا نام سلول قرار داد؟
    به طور مثال:
    نام یک شرکت در سلول A1 هست. آیا میشه فراخوانی فایل رو به صورت A1.xls نوشت؟
    باتشکر

    • آواتار
      حسنا خاکزاد ۲۸ فروردین ۱۳۹۹ / ۷:۵۵ ب٫ظ

      درود
      بله میشه ولی الگو رو باید رعایت کنید. یعنی مثلا اگه الگو اینه که اسم فایل داخل براکت قرار میگیره یا ! و … داره، همه اینها رو باید بسازید. بعد از indirect استفاده کنید
      بعدا هر بار باز کنید فمرول ها اپدیت میشن

      • احمد ۲۹ فروردین ۱۳۹۹ / ۰:۳۵ ق٫ظ

        ممنون بابت وقتی که میزارید.
        آشنایی بنده با اکسل کم و خواسته هام زیاد هستن. اگر بتونید لینک آموزش نحوه رعایت الگو و اموزش indirect رو بزارید ممنونتون میشم.

  • علیرضا ۲۷ فروردین ۱۳۹۹ / ۹:۴۴ ب٫ظ

    سلام مثلا میخوای عدد سلول b1 داخل شیت دو سلول c3 به صورت خود کار بره اگر سلول b1 عددش تغییر کرد سلول c3 تغییر کن ممنون میشم جواب بدین

    • آواتار
      حسنا خاکزاد ۲۸ فروردین ۱۳۹۹ / ۱۰:۳۰ ق٫ظ

      درود، این قبیل سوال ها که روی تغییر محتوای یک سلول بخواید کاری بکنید، با VBA انجام شدنی هست

  • قاسم نژاد ۲۴ فروردین ۱۳۹۹ / ۱۱:۰۵ ق٫ظ

    سلام وقت بخیر
    من دارم لغات انگلیسی رو در دوستون A(کلمه) و B(معانی) دسته بندی میکنم.و هر شیت اکسل رو تا ۱۰۰۰ لغت بسط میدم.بعد از بررسی
    spelling , remove duplicate الان میخوام بدوم چه جوری میشه بفهمم لغتی که در شیت ۳ نوشتم توی شیت ۱ تکراری نیست؟

  • حسن ادهمی ۱۶ فروردین ۱۳۹۹ / ۲:۴۵ ب٫ظ

    سلام
    آیا اکسل این امکان را دارد که یک کپی از فایلی در یه شیت دیگه بگیریم و در داخل اصل یا کپی آن تغییراتی در اعداد و ارقام ثبت شده بدیم بعدش این تغییرات در طرف دیگر هم انجام بشه ؟
    ممنون میشم از راهنمایی هایتان و اگه جواب را لطف کرده به ایمیل بنده بفرستید محبت میفرمایید .

    • آواتار
      حسنا خاکزاد ۱۶ فروردین ۱۳۹۹ / ۳:۲۸ ب٫ظ

      درود
      با کپی کردن صرف، این اتفاق نمیفته
      باید خودتون شیت جدید رو مساوی شیت قبلی قرار بدید

  • آواتار
    حسنا خاکزاد ۱۲ فروردین ۱۳۹۹ / ۷:۴۹ ب٫ظ

    باید با همین منطق و استفاده از کمبوباکس این کار و انجام بدید
    نهایتا اگر این نشد، باید با کدنویسی وی بی ای انجام بدید که بره همه داده هاتون و سرچ کنید

  • روزگار ۱۰ فروردین ۱۳۹۹ / ۶:۱۳ ب٫ظ

    درود
    من دو تا شیت دارم که شیت دوم اسم کالا هست-میخوام داخل شیت اول وقتی داخل سلول اسم لوازم مثلا تایپ کردم کمربند،بیاد لیست کلی کمربندها رو نشون بده .بعد من انتخابش کنم..ممنون-لطف میکنید توضیحات رو برام ایمیل کنید

      • روزگار ۱۲ فروردین ۱۳۹۹ / ۳:۰۳ ب٫ظ

        جسارتا این مدلی به دردم نمیخوره-توضیح مجدد میدم-ببینید میخوام داخل سلول تایپ کنم مثلا پیراهن-و از موقعی که پ رو تایپ میکنم بره تمام چیزهای که اولشون با پ شروه میشه رو پیدا کنه-مثل اینکه میخواید داخل سایت دیجی کالا داخل جستجو تایپ کنی پیراهن-شما از تایپ اولین حرف اتومات شروع میکنه به نمایش لیستی که با پ شروع میشه

        • آواتار
          حسنا خاکزاد ۱۲ فروردین ۱۳۹۹ / ۷:۳۵ ب٫ظ

          باید با همین منطق و استفاده از کمبوباکس این کار و انجام بدید
          نهایتا اگر این نشد، باید با کدنویسی وی بی ای انجام بدید که بره همه داده هاتون و سرچ کنید

  • سیاوش ۵ فروردین ۱۳۹۹ / ۱۲:۱۷ ب٫ظ

    سلام
    یه سوال داشتم میخواستم توی اکسل در یه شیت فقط جدول انتخابی را نمایش بده سایر سطرها و ستونها را حذف کنه

  • صادق ۱۷ اسفند ۱۳۹۸ / ۱۰:۱۶ ب٫ظ

    با عرض سلام و خسته نباشید
    من یک شیت دارم که با یک ترتیب خاصی نام و نام خانوادگی و کد پرسنلی و یک مشخصه دیگر که جلوشون علامت تیک حاضر یا حروف ص و م و غ، در هر روز ثبت میشه
    حالا یک شیت دیگه دارم با همین مشخصات ولی ترتیب شیت قبلی رو نداره
    اگه بخوام مثلا هر اطلاعاتی که مثلا برای آقای الف ثبت میشه در شیتی که افراد براساس ترتیب خاصی نیست هم وارد و ثبت بشه برای آقای الف باید چیکار کنم؟؟؟
    با اسکر

    • آواتار
      حسنا خاکزاد ۱۹ اسفند ۱۳۹۸ / ۱۱:۳۵ ق٫ظ

      درود
      اگر تکررای نیست و لیست یونیکه اطلاعاتش، با تابع vlookup میتونید اینکار و انجام بدید

      • صادق ۱۹ اسفند ۱۳۹۸ / ۱۰:۰۸ ب٫ظ

        سلام با تشکر از پاسخگوییتون
        میشه یکم بیشتر توضیح بدید که باید چیکار کنم

        • آواتار
          حسنا خاکزاد ۲۰ اسفند ۱۳۹۸ / ۱۱:۰۵ ق٫ظ

          مقاله vlookup رو داخل سایت مطالعه کنید
          توضیح داده شده که چطور کار میکنه

          • صادق ۲۳ اسفند ۱۳۹۸ / ۱۲:۱۴ ب٫ظ

            با سلام
            اگه بخوام از یک شیت دیگر با فرمول vlookup فراخوانی کنم باید چطور فرمولش رو بنویسم

      • صادق ۲۵ اسفند ۱۳۹۸ / ۹:۴۱ ق٫ظ

        با عرض سلام و خداقوت
        وقتی با تابع vlookupفرخوانی میکنم در سلولی که علامت تیک هست وقتی فراخوانی می شود آن علامت تیک نمی آیدو علامت u به جاش میاد چطور مشکل رو حل کنم که همون علامت تیک بیاد؟؟؟

        • آواتار
          حسنا خاکزاد ۲۵ اسفند ۱۳۹۸ / ۱۱:۰۹ ق٫ظ

          درود
          اون تیک بخاطر فونت های گرافیکی مثل webding, winding و … هست
          باید مقصد، یعنی سلولی که u نشون میده رو روی فونت مورد نظر تنظیم کنید

          • صادق ۳ فروردین ۱۳۹۹ / ۱۱:۱۷ ب٫ظ

            با عرض سلام و خسته نباشید
            وقتی تابع را در یک سلول وارد می کنم و نتیجه بدست می آید,زمانی که می خوام فرمول سلول رو درگ کنم به سلول های بعدی,قسمت col_index_num تغییر نمیکنه,اگر بخوام به ترتیب مثلا از ۲به ۳ و … به صورت اتوماتیک در فرمول تغییر کند باید چکار کنم؟؟؟
            با تشکر

          • آواتار
            حسنا خاکزاد ۴ فروردین ۱۳۹۹ / ۶:۲۵ ب٫ظ

            درود
            بستگی داره به کدوم سمت درگ میکنید
            میتونید از توابع row/ column استفاده کنید
            این توابع کارشون تولید عدده و مشا میتونید در ارگومان هایی مثل col_index از این توابع استفاده کنید

  • علی میرشاهی ۱۷ اسفند ۱۳۹۸ / ۱:۱۸ ب٫ظ

    سلام
    وقتتون بخیر
    یک ستون دارم که اعدادی هستند نتیجه محاسبه سلول های تابع.. حال ممکن هست یک ردیف شود و چند ردیف بعد آن خالی بماند و یا ۲ یا ۳ ردیف پر و خالی و الی آخر.
    چیزی که من میخواهم یک خروخی از این ستونها با حذف ردیف های خالی هست و البته در شیت جدید.
    این کار میخوام اتوماتیک وار انجام بشه نه دستی.یعنی فیلتر نمیخوام کنم و …
    چگونه انجام بدم
    پیشاپیش ممنون از راهنماییتون

    • آواتار
      حسنا خاکزاد ۱۷ اسفند ۱۳۹۸ / ۳:۳۰ ب٫ظ

      درود
      یا باید ماکرو ضبط کنید از فیلتر کردن
      یا اینکه فرمول نویسی آرایه ای انجام بدید
      منطق فمرول نویسی آرایه ای هم بصورت زیر هست:
      https://excelpedia.net/search-duplicates/

      شرط جستجوی شما، پر بودن سلول خواهد بود

      • علی میرشاهی ۱۷ اسفند ۱۳۹۸ / ۶:۰۵ ب٫ظ

        سلامی مجدد
        من از این فرمول نویسی https://excelpedia.net/remove-blank-cell/ استفاده کردم که قسمت های خالی رو خذف کنم
        ولی راستش نه از فرمول فهمیدم و نه جواب داد.
        چکار باید کرد؟
        و چطوری میتونم فایلم رو واستون بفرستم ببینید مشکلم چیه؟

        • آواتار
          حسنا خاکزاد ۱۹ اسفند ۱۳۹۸ / ۱۱:۱۹ ق٫ظ

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

  • امیر محمودانی ۱۶ اسفند ۱۳۹۸ / ۱۱:۲۴ ق٫ظ

    سلام وقت بخیر
    من یک فایلی دارم که میخوام با advance filter جداسازی کنم تو یه فایل دیگه .ولی وقتی این کار رومیکنم تغییرات که در فایل اصلی اتفاق میوفته به فایل جداشده ام انتقال پیدا نمیکنه چکار باید بکنم راهنمایی میکنین ممنون.

    • آواتار
      حسنا خاکزاد ۱۶ اسفند ۱۳۹۸ / ۱۱:۳۲ ق٫ظ

      درود
      قسمت Copy to در ADvance filter فقط در ششیت فعال میتونه اجرا بشه
      نمیتونید ببرید یک شیت دیگه

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

توسط
تومان