استفاده از vlookup جهت چند گزينه

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • محمد علي كارگر
    • 2015/03/06
    • 16

    استفاده از vlookup جهت چند گزينه

    استفاده از vlookup جهت چند گزينه
    فایل های پیوست شده
  • generalsamad
    مدير تالار توابع

    • 2014/06/22
    • 1496

    #2
    با سلام
    لطفا طبق قوانین سایت موقعی که سوالتون رو بیان میکنید فایلی که ضمیمه میکنید توضیحی هم در موردش توی سایت قرار دهید
    [CENTER]
    [SIGPIC][/SIGPIC]
    [/CENTER]

    کامنت

    • iranweld

      • 2015/03/29
      • 3341

      #3
      با سلام
      ببخشید اشتباه شد
      Last edited by iranweld; 2015/07/13, 20:54.

      کامنت

      • mohammad_ashooryan

        • 2014/08/13
        • 480
        • 80.00

        #4
        سلام
        فايل پيوست رو ببينيد.
        البته من چون از اكسل 2007 استفاده ميكنم در قسمت data validation نمي تونستم توي فرمول offset از داده هاي شيت هاي ديگه استفاده كنم.
        چنانچه ميخواهيد از همان فرمت قبلي خود (شيت هاي جداگانه) استفاده كنيد.
        فكر كنم از نسخه 2010 به بالا اين امكان وجود دارد كه در قسمت data validation از داده هاي شيت هاي ديگه استفاده كنيد و از فرمول زير با همون فايل قبلي استفاده كنيد.

        کد PHP:
        =OFFSET(INDIRECT("Sheet2!"&ADDRESS(MATCH(H1;Sheet2!A:A;0);1));0;1;1;COUNTA(INDIRECT("Sheet2!"&MATCH(H1;Sheet2!A:A;0)&":"&MATCH(H1;Sheet2!A:A;0)))-1
        data_list_with_offset.xlsx

        کامنت

        • محمد علي كارگر
          • 2015/03/06
          • 16

          #5
          نوشته اصلی توسط mohammad2060
          سلام
          فايل پيوست رو ببينيد.
          البته من چون از اكسل 2007 استفاده ميكنم در قسمت data validation نمي تونستم توي فرمول offset از داده هاي شيت هاي ديگه استفاده كنم.
          چنانچه ميخواهيد از همان فرمت قبلي خود (شيت هاي جداگانه) استفاده كنيد.
          فكر كنم از نسخه 2010 به بالا اين امكان وجود دارد كه در قسمت data validation از داده هاي شيت هاي ديگه استفاده كنيد و از فرمول زير با همون فايل قبلي استفاده كنيد.

          کد PHP:
          =offset(indirect("sheet2!"&address(match(h1;sheet2!a:a;0);1));0;1;1;counta(indirect("sheet2!"&match(h1;sheet2!a:a;0)&":"&match(h1;sheet2!a:a;0)))-1
          [ATTACH]7779[/ATTACH]

          با سلام بنده اين فرمول رو بايد كدوم سلول از همون فايل قديم بزارم كه درست كار كنه چون الان كه ميذارم خطاي n/a ميده ممنون

          کامنت

          • mohammad_ashooryan

            • 2014/08/13
            • 480
            • 80.00

            #6
            سلام
            گفتم كه اگه وژن اكسلتون بالاتر از 2010 هست ميتونيد پس از انتخاب سلول a1 شيت1 و انتخاب data validation و از قسمت allow گزينه list را انتخاب نموده و فرمول رو در قسمت source بنويسيد.

            کامنت

            • iranweld

              • 2015/03/29
              • 3341

              #7
              با سلام

              با استفاده از تعریف لیست برای هر ردیف و data validition تهیه گردید
              فایل های پیوست شده
              Last edited by iranweld; 2015/07/17, 12:44.

              کامنت

              • محمد علي كارگر
                • 2015/03/06
                • 16

                #8
                نوشته اصلی توسط iranweld
                با سلام

                با استفاده از تعریف لیست برای هر ردیف و data validition تهیه گردید
                با سلام اگه خواسته باشم همچنان فرمول جديد شايد تا سقف 100 فرمول اضافه كنم چيكار بايد بكنم الان تا ستون i رفته شايد تا حد اقل به مرور زمان تا صد ستون ديگه ادامه پيدا بكنه و سطر ها هم تا 60 مورد اضافه ميشه ممنون ميشم راهنمايي بكنين تشكر

                کامنت

                • iranweld

                  • 2015/03/29
                  • 3341

                  #9
                  نوشته اصلی توسط محمد علي كارگر
                  با سلام اگه خواسته باشم همچنان فرمول جديد شايد تا سقف 100 فرمول اضافه كنم چيكار بايد بكنم الان تا ستون i رفته شايد تا حد اقل به مرور زمان تا صد ستون ديگه ادامه پيدا بكنه و سطر ها هم تا 60 مورد اضافه ميشه ممنون ميشم راهنمايي بكنين تشكر
                  با سلام
                  ستون a در شیت دوم بصورت دینامیک تعریف شده و مشکلی در اضافه شدن آیتم ندارد فقط در جلوی آیتم جدید نام لیستی که بایستی به آن ارجاع شود قید شودولی برای مواردی که جلوی آنها قرار میگیرد باید یک لیست جدید تعریف شود





                  Click image for larger version

Name:	Untitled.png
Views:	1
Size:	182.5 کیلو بایت
ID:	126686
                  فایل های پیوست شده
                  Last edited by iranweld; 2015/07/18, 10:37.

                  کامنت

                  • محمد علي كارگر
                    • 2015/03/06
                    • 16

                    #10
                    خيلي ممنون از پاسختون


                    موفق باشيد

                    کامنت

                    • محمد علي كارگر
                      • 2015/03/06
                      • 16

                      #11
                      با سلام اين جواب فقط واسه يك شيت(فقط شيت دو) كار ميكنه تعداد شيت ها هر روز زياد ميشه فايل نمونه رو ميفرستم اگه لازم باشه ويرايش كنيد.
                      فایل های پیوست شده

                      کامنت

                      • Ali Parsaei
                        مدير تالارتوابع اکسل

                        • 2013/11/18
                        • 1522
                        • 71.67

                        #12
                        سلام،
                        شما کافي است ديتا وليديشن خانه H3 هر شيت جديد که تشکيل مي دهيد را همانطور که فعلا" انجام داده ايد در حالت ليست تعيين کرده و مرجع آن را هم ستون A شيت يک قرار دهيد
                        (تا اينجا را درست انجام داده ايد)
                        بعد در شيت يک در ستون اول تمام نوع محصولات را ليست کنيد
                        در ستون دوم به بعد هم فرمولها را به ترتيب بنويسيد (هيچ ستون اضافي مورد نياز نيست)
                        بعد براي خانه هاي A3 هر شيت جديد يک ديتا وليديشن در حالت ليست تعيين کرده و در قسمت مرجع (SOURCE) آن فرمول زير را بنويسيد:
                        کد PHP:
                        =OFFSET(INDIRECT(ADDRESS(MATCH(H3;Sheet1!A:A;0);1;;;"SHEET1"));0;1;1;60
                        پس تنها کاري که لازم است انجام دهيد تعيين دو تا ديتا وليديشن براي هر شيت جديد است.
                        در مورد فرمول هم يک توضيح بدهم:
                        تابع MATCH جستجو مي کند که متن موجود در خانه H3 شيت فعال، در ستون اول شيت يک در کدام رديف يافت مي شود و شماره رديف را برمي گرداند
                        تابع ADDRESS شماره رديفي که از تابع MATCH دريافت مي کند را به عنوان شماره سطر و شماره 1 (که در آرگومان دوم به آن گفته ايم) را به عنوان ستون فرض کرده و آدرس اين شماره سطر و ستون را در شيت يک بر مي گرداند
                        تابع INDIRECT به آدرس سلي که از تابع ADDRESS دريافت کرده رجوع نموده و مقداري که در آن سل نوشته را برمي گرداند
                        دست آخر تابع OFFSET سل مورد نظر را دريافت و به اندازه 0 سطر و يک ستون از آن جابجا مي شود، سپس سل انتخابي را به اندازه 1 سطر و 60 ستون گسترش مي دهد
                        60 را به اين خاطر نوشتم که در فايل نمونه شما محدوده فرمولها از ستون B تا BI بود که مي شود 60 ستون، اگر محدوده را تغيير دهيد بايد اين عدد را هم به فراخور آن تصحيح کنيد.
                        فايل اصلاحي را هم ضميمه مي کنم:
                        فایل های پیوست شده
                        [SIGPIC][/SIGPIC]

                        کامنت

                        • iranweld

                          • 2015/03/29
                          • 3341

                          #13
                          با سلام
                          با کسب اجازه از مهندس پارسا
                          به روش فایل قبلی ،دستور VLOOUP به شیت جدید و سلول M1 انتقال یافت
                          لینک دریافت

                          کامنت

                          • محمد علي كارگر
                            • 2015/03/06
                            • 16

                            #14
                            با سلام ادامه فايل قبلي ميخواستم يكسري تغييرات انجام بدم ممنون ميشم اگه كمكم كنين ميخوام موقعي كه شماره فرمول رو در سلول a3 انتخاب كردم بصورت خودكار مواد اوليه ودرصد مواد اون فرمول در اون شيت سر جاش بشينه ممنون
                            فایل های پیوست شده

                            کامنت

                            چند لحظه..