سبد خرید
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 لیسانس بودم، به توصیه استاد مشاورم شروع به خوندن اکسل بصورت حرفه ای کردم و همچنان در حال مطالعه و یادگیری و البته آموزش به بقیه هستم.

دیدگاه کاربران
  • حسین شایسته ۱ تیر ۱۳۹۸ / ۱۲:۲۹ ب٫ظ

    سلام
    فایل اکسلی دارم که حدود ۱۰۰۰ سلول به ۱۰۰۰ فایل PDF لینک شده ولی بعد از جابه جایی فولدر PDF ها فایل اکسل هنگام باز کردن لینک ها ارور میده آیا راهی وجود داره که به صورت یکجا و سریع آدرس لینک ها رو تغییر بدیم و جایگزین کنیم یا باید دوباره تک به تک لینک کنیم

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

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

      Sub Change_HyperLink_Address()
      Dim link As Hyperlink
      For Each link In Sheet1.Hyperlinks
          link.Address = "New Address" & "File Name"
      Next link
      End Sub
      

      در کد بالا آدرس جدید رو به جای New Address بذارید و در قسمت File Name هم اسم فایل رو با استفاده از توابع بدست بیارید.

      • حسین شایسته ۲ تیر ۱۳۹۸ / ۹:۳۴ ق٫ظ

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

  • تهمین ۲۲ خرداد ۱۳۹۸ / ۹:۱۲ ق٫ظ

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

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

      درود بر شما
      باید لینک ها رو ادیت کنید
      مثلا اسم فایل رو از داخل لینک ها حذف کنید
      هم از قسمت edit link میتونید عوض کنید
      هم اینکه در ویرایش فرمول
      یعنی در ابزار Find/Replace اسم فایل ها رو با هیچی جایگزین کنید

  • علی ۸ اردیبهشت ۱۳۹۸ / ۱۰:۴۲ ب٫ظ

    سلام اگر بخواهیم لیست اسامی و مشخصات افراد را که در اکسل مورد استفاده قرار دهیم به این شکل که با وارد کردن کد ملی فرد کل اطلاعات فرد در محل‌های تعریف شده درج شوند چه باید کرد؟ شبیه میاینج در ورد
    با سپاس

    • آواتار
      حسنا خاکزاد ۹ اردیبهشت ۱۳۹۸ / ۹:۳۴ ق٫ظ

      درود بر شما تابع Vlookup این کار رو انجام میده

  • محمد مختاری ۲۰ فروردین ۱۳۹۸ / ۱:۱۳ ب٫ظ

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

    • سامان چراغی ۲۳ فروردین ۱۳۹۸ / ۱۲:۱۳ ب٫ظ

      سلام، با استفاده از تابع Cell اسم شیتی که درونش فرمول نوشتید بدست بیارید (که در اینجا باید یک شماره باشه. دقت کنید حتما از تابع Value برای تبدیل متن بدست اومده به عدد استفاده کنید). زمانیکه اسم شیت جاری رو بدست آوردید کافیه ازش یکی کم کنید و با استفاده از تابع Indirect به شیت قبلی ارجاع بدید و اطلاعاتی که لازم دارید رو فراخوانی کنید.

  • طاهره ۱۶ فروردین ۱۳۹۸ / ۳:۱۳ ب٫ظ

    سلام
    من تو اکسلم دو تا شیت دارم میخوام یه ستون از شیت ۱ را در شیت ۲ هم داشته باشم
    و هر تغییری در شیت ۱ روی اون ستون انجام بشه در شیت ۲ هم اتفاق بیوفته حتی اگه در شیت یک ردیف اضافه شه یا اطلاعات تغییر کنه در شیت ۲ هم همون اتفاق بیوفته
    باید چیکار کنم عجله دارم

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

      درود بر شما
      انجام حرکات فیزیکی مثل اضافه کردن و کم کردن سطر و سلول و … باید کد نویسی VBA انجام بدید

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

    با سلام و احترام
    من یک فایل اکسل با سه شیت دارم . در شیت اول فروش چند محصول به چند خریدار را در تاریخ های جداگانه دارم ( مثلا مشتری ۱ کالای ۱ و ۲ را در تاریخ ۱ می خرد و مشتری ۲ کالای ۱ و ۳ را در همان تاریخ می خرد ) ؛ در شیت دوم می خواهم تعداد فروش هر محصول را در یک تاریخ مشخص نمایم ( مثلا در تاریخ ۱ از محصول ۱ و ۲ و ۳ جداگانه چه تعدادی فروختم ).
    میشه کمک کنید ؟ ممنونم
    اگه میشه جوابم را در همین صفحه بدید .

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

      درود بر شما
      از تابع countifs استفاده کنید، یک شرط تاریخ و یک شرط محصول هست
      برای اطلاعات بیشتر، این مقاله رو مطالعه کنید:
      https://excelpedia.net/countifs-function/

      • قدیری ۲۸ فروردین ۱۳۹۸ / ۹:۱۰ ق٫ظ

        با سلام و احترام
        سرکارخانم خاکزاد ممنون از لطف شما .
        من راه حل جنابعالی را امتحان کردم ولی به جواب نرسیدم . منظور سئوال من به شکل زیر هست .
        یعنی می خواهم در تاریخ ۹۷۱۰۱۱ از سند های چند عدد فروش رفته است .
        سند۱/سند۲/سند۳/سند۴/تاریخ خرید/خریدار
        ۳ ۰ ۰ ۱۰ ۹۷۱۰۱۱ ۱
        ۰ ۲ ۵ ۲۵ ۹۷۱۰۱۱ ۲
        ۰ ۵ ۲ ۷ ۹۷۱۰۱۲ ۳
        ۶ ۰ ۲ ۰ ۹۷۱۰۱۵ ۱
        ۰ ۲ ۱ ۰ ۹۷۱۰۱۵ ۴
        ۵ ۸ ۰ ۲ ۹۷۱۰۱۸ ۵

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

          درود بر شما
          کدوم راه حل و امتحان کردید؟ چون سوالتون با مقاله ای که کامنت گذشتید ارتباطی نداره!

          در هر صورت اگر جمع شرطی میخواید انجام بدید، از تابع sumif باید استفاده کنید. لینک زی ررو به دفت مطالعه کنید

          https://excelpedia.net/sumif-function/

  • مینو ۶ فروردین ۱۳۹۸ / ۷:۱۱ ق٫ظ

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

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

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

      http://excelpedia.net/cell-address/

  • هدایت ۲ فروردین ۱۳۹۸ / ۴:۰۸ ب٫ظ

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

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

      درود بر شما
      بصورت کلی این مسائل شدنی هست و لی بسته به ساختار و توانایی شما در فمرول نویسی میشه کارهای مختلفی رو انجام داد.
      میتنید مسئله رو به اجزا کوچک تبدیل کنید و در گروه پرسش و پاسخ سوال رو مطرح کنید تا راهنمایی بشید.
      لینک در فوتر سایت هست

  • ابولفضل ۲۶ اسفند ۱۳۹۷ / ۵:۱۶ ب٫ظ

    سلام وقت بخیر
    من میخواستم برای لیست داداه های اغضا عکس اضافه کنم و در شیت دیگه عکس به همراه مشخصات اعضارو فراخوان کنم اما عکسا رو نمیتونم فراخوان کنم و بخشی از فرم خالی میمونه چگونه میتونم این کارو انجام بدم

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

      درود بر شما
      با name manager و تابع index میتونید اینکار و بکنید. ولی عکس ها باید داخل خود فایل اکسل باشن که ممکنه حجم رو بالا ببره.
      بسته به شرایط، شاید بهتر باشه کدنویسی کنید

  • محسن ۲۰ اسفند ۱۳۹۷ / ۱۱:۴۴ ق٫ظ

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

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

      درود بر شما
      مشکلی نباید باشه. بعد از زدن مساوی و انتخاب سلول اول، علامت + رو بزنید و به شیت بعدی برید و سلول رو انتخاب کنید و enter. درنهایت فرمولی مشابه زیر خواهید داشت:

      =D15+Sheet1!D11
ارسال دیدگاه

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

توسط
تومان