نمایش نتایج: از شماره 1 تا 6 , از مجموع 6

موضوع: کمک برای ساخت فایل اکسل، فراخوانی اطلاعات چند جدول

  1. #1


    آخرین بازدید
    2023/06/08
    تاریخ عضویت
    June 2014
    نوشته ها
    17
    امتیاز
    14
    سپاس
    12
    سپاس شده
    4 در 4 پست
    تعیین سطح نشده است

    کمک برای ساخت فایل اکسل، فراخوانی اطلاعات چند جدول

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

    دنبال راهی هستم که اگر در دو سلول پشت سر هم کدهای دو جدول رو وارد کنم اونوقت اطلاعات جداول برام فراخوانی بشه. بصورتی که در قسمت وسط فایل ضمیمه اشاره کردم.
    و در صورت امکان از ماکرو استفاده نشود.
    خودم با توابع جستجو مثل vlookup و index-match به نتیجه نرسیدم. و راه دیگه ای هم متاسفانه بلد نیستم.

    لطفا اساتید راهنمایی بفرمایند. با تشکر
    اخطار: این یک موضوع قدیمی است
    به دلیل قدیمی بودن موضوع، ممکن است برخی فایل های ضمیمه به درستی کار نکنند. لطفا در صورت عدم ضرورت، از بالا آوردن موضوعات قدیمی خودداری نمایید.
    فايل هاي پيوست شده فايل هاي پيوست شده
    • نوع فایل: xlsx mesal.xlsx اطلاعات (18.3 کیلو بایت, 11 نمایش)
    پاسخ مورد نظر براي اين تاپيك ارسال شده است.

  2.  

  3. #2


    آخرین بازدید
    2023/08/17
    تاریخ عضویت
    March 2015
    محل سکونت
    آمل
    نوشته ها
    3,343
    امتیاز
    11575
    سپاس
    1,885
    سپاس شده
    8,165 در 3,011 پست
    تعیین سطح نشده است

    با سلام

    ساده ترین روش یکپارچه سازی دیتای شما در یک جدول بوده و سپس با پیوت تیبل براحتی میتوانید گزارشگیری نمایید
    فايل هاي پيوست شده فايل هاي پيوست شده
    • نوع فایل: xlsx mesal.xlsx اطلاعات (23.4 کیلو بایت, 22 نمایش)

  4. سپاس ها (2)


  5. #3


    آخرین بازدید
    2023/06/08
    تاریخ عضویت
    June 2014
    نوشته ها
    17
    امتیاز
    14
    سپاس
    12
    سپاس شده
    4 در 4 پست
    تعیین سطح نشده است

    ممنون از لطفتون

    آیا راه دیگه ای هم وجود داره که لازم به انتخاب گزینه ها بصورت دستی از فیلتر نباشه؟

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

  6. #4


    آخرین بازدید
    2024/01/21
    تاریخ عضویت
    November 2013
    محل سکونت
    تهران
    نوشته ها
    1,519
    امتیاز
    6121
    سپاس
    2,884
    سپاس شده
    4,889 در 1,381 پست
    سطح اکسل
    71.67 %

    سلام،
    با دو تا ستون کمکي ميشه، ببينيد اين خوبه:
    فايل هاي پيوست شده فايل هاي پيوست شده

  7. سپاس ها (2)


  8. #5


    آخرین بازدید
    2023/06/08
    تاریخ عضویت
    June 2014
    نوشته ها
    17
    امتیاز
    14
    سپاس
    12
    سپاس شده
    4 در 4 پست
    تعیین سطح نشده است

    نقل قول نوشته اصلی توسط ali parsaei نمایش پست ها
    سلام،
    با دو تا ستون کمکي ميشه، ببينيد اين خوبه:
    با تشکر فراوان از لطف شما
    تا حد خیلی زیادی نزدیک به چیزی هست که مدنظرمه
    میشه خواهش کنم طرز کار این روشتون رو مقداری توضیح بدید ؟
    کدهای ستون های a و b دقیقا چه کاری انجام میدن؟ و آیا وجود ستون d (گروه) الزامیست ؟ با تشکر

  9. #6


    آخرین بازدید
    2024/01/21
    تاریخ عضویت
    November 2013
    محل سکونت
    تهران
    نوشته ها
    1,519
    امتیاز
    6121
    سپاس
    2,884
    سپاس شده
    4,889 در 1,381 پست
    سطح اکسل
    71.67 %

    فرض بر اين گرفتم که کدهاي مورد نظرتان جهت ايجاد جدول دوم را در ستون j از سل اول تا سل نهم درج مي کنيد.
    حال در ستون b با تابع countif بررسي کرده ام که آيا کد نوشته شده در خانه هم ارز در ستون c در محدوده ياد شده فوق (j1 تا j9) وجود دارد يا خير (و اگر وجود دارد چند بار تکرار شده، که البته شما نبايد کد تکراري در محدوده مورد نظر بنويسيد)
    به عبارتي مثلا":
    در خانه b2 تابع counif بررسي مي کند که کد درج شده در خانه c2 در محدوده j1 تا j9 چند بار تکرار شده
    در خانه b3 تابع counif بررسي مي کند که کد درج شده در خانه c3 در محدوده j1 تا j9 چند بار تکرار شده
    الي آخر ....
    در نتيجه براي هر کد در ستون c که در محدوده j1 تا j9 وجود داشته باشد در ستون b عدد يک درج مي گردد، البته اگر کد را دو يا چند بار در محدوده j1 تا j9 درج کرده باشيد در ستون b تعداد تکرار آن درج مي گردد ولي از آنجايي که نبايد کد تکراري وارد گردد لذا هميشه در ستون b براي کدهاي يافت شده بايد عدد يک نوشته شده باشد.
    در ستون a يک تابع if نوشته شده و اين تابع به ازاي هر خانه در ستون a اگر خانه هم ارز آن در ستون b صفر باشد عدد صفر را نشان مي دهد و اگر يک باشد مقدار محاسبه شده با يک تابع counif را نشان مي دهد.
    ولي اين تابع counif که داخل تابع if نوشته شده چه کاري انجام مي دهد؟
    اين تابع countif تعداد "يک" هاي ستون b را مي شمارد، به اين طريق:
    در خانه a2 تعداد "يک" هاي خانه b2 تا خانه b2 شمارش مي گردد (يعني يک سل که همان سل b2 است)
    در خانه a3 تعداد "يک" هاي خانه b2 تا خانه b3 شمارش مي گردد
    در خانه a4 تعداد "يک" هاي خانه b2 تا خانه b4 شمارش مي گردد
    به عبارتي اول محدوده شمارش که خانه b2 است هميشه ثابت است ولي آخر محدوده شمارش سطر به سطر زياد مي شود و اين امر به کمک علامت هاي "$" درج شده در آدرسها در فرمول انجام مي گردد (براي اطلاع بيشتر به مبحث آدرس دهي مطلق و نسبي در اکسل مراجعه نماييد)
    حال يک نگاه کلي به ستون a بياندازيد
    آن کدهاي درج شده در ستون c که در محدوده j1 تا j9 وجود داشته اند به ترتيب: 1 و 2 و 3 و 4 و ..... شماره گذاري شده اند.
    تمام اين کارها را انجام داده ايم تا از اعداد 1 و2 و3 و... ايجاد شده در ستون a در تابع vlookup استفاده کنيم.
    حال با تابع vlookup عدد يک را در ستون a جستجو کرده و هم ارز آن را در ستون e به دست مي آوريم، فرمولش مي شود اين:
    کد PHP:
    =VLOOKUP(1;$A$2:$F$23;5;FALSE
    من فرمولش را در خانه m1 نوشته ام.
    ولي .....
    فرمولي که در خانه m1 نوشته ام مقداري با فرمول فوق فرق مي کند .... چرا؟
    اولا" که به جاي عدد 1 در فرمول نوشته ام ()ROW !!!!!!!
    تابع ROW شماره رديف يک سل را برمي گرداند، پس وقتي در خانه M1 نوشته شود نتيجه اش همان 1 مي شود
    من به اين خاطر از ROW به جاي يک استفاده کرده ام که وقتي فرمول VLOOKUP را در خانه هاي پايين کپي مي کنيد بايد عدد 1 در تابع را به صورت دستي به ترتيب به 2 و 3 و ... تغيير دهيد ولي اگر ROW نوشته باشيد اتوماتيک خودش تغيير خواهد کرد.
    و تفاوت ديگر اينکه به تابع VLOOKUP يک تابع IFERROR اضافه کرده ام تا جدول يک کم زيبا تر شود، چون اگر تابع VLOOKUP مقداري براي جواب پيدا نکند خطاي N/A# خواهد داد براي درج نشدن خطا در سل از تابع IFERROR استفاده مي کنيم.
    براي بقيه مقادير هم به همين ترتيب با تابع vlookup فرمول نويسي شده.


    - - - Updated - - -

    ضمنا" وجود ستون d الزامي نيست و مي تواند حذف گردد

  10. سپاس ها (2)



اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

بازدید کنندگان با جستجو های زیر این صفحه را پیدا کرده اند

ساحت اکسل با فراخوانی اطلاعات

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  
  • BB code ها فعال هستند
  • شکلک ها فعال هستند
  • کد [IMG] فعال است
  • کد [VIDEO] فعال است
  • کد HTML غیر فعال است
با ما در تماس باشيد