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

دیدگاه کاربران
  • اردلان ۲۴ اردیبهشت ۱۳۹۹ / ۱۰:۵۹ ق٫ظ

    ممنون از پیگیرتون و راهنمایی عالی شما
    حقیقتش مقاله عالی بود فقط ۲ سوال برام بوجود اومد
    ۱. در قسمت FROM WEB برای من اون دو گزینه رو نداره (ورژن اکسل ۲۰۱۶ هست)
    ۲. مثال قیمت طلا و سکه رو طبق روال گفته شده در مقاله انجام دادم درست بود مشکلی نداشتم ولی چرا تو سایت tsetmc.com که میرم و میخوام قیمت سهم یک شرکت که هر دقیقه تغییر میکنه رو لینک کنم به شیت اکسل خودم نمیشه ؟
    بازم ممنون از لطفتون.

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

      درود
      ۱- کدوم دو گزینه؟ در ورژن ۲۰۱۶ پاورکوئری مووجود هست و مشکلی نیست
      ۲- همونطور که توضیح داده شده، بستگی به ساختار سایت داره. باید سایتی پیدا کنید که اطلاعات بورس رو به شکلی که لازمه ارائه بده.

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

        تشکر از شما
        فقط اینکه باید دنبال چه نوع قالبی بگردم که اطلاعات رو وارد اکسل کنه ؟

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

    سلام یک سوال داشتم
    من در شیت یک تعدادی فاکتور به مشتری های مختلف وارد میکنم شاید در روز به ۷۰۰یا۸۰۰ فاکتور بشه به نامهای و جنسهای مختلف
    و هر مشتری یک کد مشتری دارد
    حالا میخوام همه فاکتورهای یک مشتری با نام و کد مشخص رو که تو روزهای مختلف خرید کرده …همان فاکتور با تمام جزییاتش وارد شیت دو بشه ..چکار کنم
    ممنون میشم
    سایت خیلی خوبی دارید استفاده کردم ازش

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

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

  • اردلان ۲۳ اردیبهشت ۱۳۹۹ / ۱۰:۲۲ ق٫ظ

    سلام و درود خدمت شما
    یه سوال داشتم از خدمتتون آیا میشود اعداد متغییر روزانه یه سایت را به یک سلول اکسل لینک شود ؟
    ممنون از سایت خوبتون

  • علی اصغر رحیمیان ۲۰ اردیبهشت ۱۳۹۹ / ۱۱:۲۳ ب٫ظ

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

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

    باسلام و تشکر از آموزشهای روان شما در اکسل
    من در اکسل فایلی دارم که در آن فایل هر روز یک شیت جدید با داده های آن روز اضافه می کنم و مثلا بصورت ۹۹۰۲۲۴ که تاریخ همان روز است ذخیره می کنم و آن را بعد از ۹۹۰۲۲۳ می گذارم. حال در پایین هر روز فرمول ثابتی دارم که اعداد هر روز را با همان اعداد روز قبل مقایسه کند.
    تا کنون برای هر روز جدید، در فرمول اسم شیت روز قبل را درست می کردم. می خواهم ببینم می توان در همین فرمول برای نام شیت هم فرمول نوشت که اتوماتیک هر روز نام شیت روز قبل را بیاورد و از آن بخواند؟

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

      درود
      اگر منظورتون استخراج نام شیت هست، از این مقاله استفاده کنید
      اگر منظورتون دخیل کردن نام شیت در ادرس هست از این مقاله استفاده کنید

  • فواد ۱۲ اردیبهشت ۱۳۹۹ / ۱:۵۳ ق٫ظ

    مهندس سلام

    من دو تا شیت دارم که توی اولی بارکد کالا و نام و توی شیت دومی بارکد کالا و قیمتش درج شده
    میخوام توی شیت اولی یه ستون قیمت اضافه کنم که قیمت رو از شیت دومی بخونه و برای همه سطرها درج کنه
    از چه طریقی باید جلو برم ؟
    باتشکر

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

      درود
      با تابع vlookup میتونید انجام بدید

  • reza ۱۱ اردیبهشت ۱۳۹۹ / ۹:۲۷ ق٫ظ

    با سلام
    چندتا شیت دارم که داخل هر کدومشون ۳ تا ستون مشخص دارم تاریخ و ۲ تا ستون عددی
    چجور میتونم تو یه شیت جدا به صورت جدول اگه یه تاریخ مشخص وارد کردم بتونه به ترتیب نام شیت و ۲ عدد متناظرش رو وارد کنه

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

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

  • آواتار
    اسماعیل ۶ اردیبهشت ۱۳۹۹ / ۷:۴۶ ق٫ظ

    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = “$A$1” Then
    Range(“E1:E9”).Copy Range(“B1:B9”)
    Else
    Range(“F1:F8”).Copy Range(“B1:B8”)
    End If
    End Sub
    سلام وقت بخیر ماتواین vbaدر شیتمون با دیتا ولدیشن دوتا شیفت درست کردیم بانام های a,bوقتی که میخواهیم aراانتخاب کنیم ساعت های شیفت a را در محدوده b1:b9کپی کنه ووقتی ذ راانتخاب کنیم b1:b8کپی کنه این درست عمل میکنه ولی یه خطایی میده اگه امکانش است کمک کنید باتشکرmethod copy of object range failed

    • سامان چراغی ۲۴ اردیبهشت ۱۳۹۹ / ۹:۰۶ ب٫ظ

      سلام
      در ظاهر کدتون ایرادی نداره، اما باید بررسی بشه که در زمان خطا دقیقا چه چیزی انتخاب شده و خطای ایجاد شده روی کدام خط هست که دقیقتر بررسی بشه.
      میتونید با دکمه F8 خط به خط کد رو Debug کنید و متوجه بشید کدام خط داره خطا ایجاد میکنه.

  • فرید ۳ اردیبهشت ۱۳۹۹ / ۱:۳۹ ق٫ظ

    سلام خسته نباشید
    برای لینک یک سلول از یک فایل یه یک سلول از فایل دیگر ، آیا روشی هست که بعد از تغییر آدرس یا نام فایل همچنان لینک درست کار کند؟

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

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

  • رضا ۱ اردیبهشت ۱۳۹۹ / ۹:۴۶ ق٫ظ

    سلام و تشکر از مصالب مفیدتون
    سوالی در مورد جمع و تفریق و گزارش گیری در اکسل داشتم .
    فایل اکسلی طراحی کردم برای حساب و کتاب خودم .
    در یک شیت مخارج خودم رو یادداشت می کنم، مثلا در ستون B عنوان خرج و در ستونH مبلغ هزینه شده و در ستون P که از کدام حساب بانکی( ملی، رسالت، تجارت، دی) (Data Validation) ، پولش را پرداخت کردم.
    در یک شیت دیگه درآمد و مخارج کل رو ثبت میکنم.
    سوالم این هست که آیا فرمولی یا راهی وجود داره زمانی که در ستونP شیت مخارج، وقتی مثلا پول را از بانک ملی انتخاب کردم، در شیت درآمد و مخارج کل، از ستون B که اختصاص به جمع درآمدهای بانک ملیم داره کسر کنه؟ یا مثلا اگر از بانک تجارت انتخاب کردم ، از شیت درآمد و مخارج کل از ستون D که اختصاص به این بانک داره کسر کنه؟ و همچنین سایر بانک ها.
    تشکر

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

      درود
      میتونید sumif مخارج بانک ملی رو از درامدش کم کنید. تجمعی باشه که هربار با قبلی ها جمع بشه
      برای تجمعی هم باید روی $ تمرکز کنید

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

ارسال دیدگاه

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

توسط
تومان