جستجو هوشمند و پویا بین دو ستون

Collapse
این تاپیک قفل است.
X
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • aziz
    • 2014/10/08
    • 3

    [حل شده] جستجو هوشمند و پویا بین دو ستون

    با سلام بنده دو تا ستون دارم که ستون a نام کالا و ستون b شرح کالا می باشد حال میخواهم زمانی که کد کالایی را در آخرین سلول ستون a (مثلا a20)وارد کنم بیاید از سلول های بالاتر از خودش جستجو کند که اگر کد کالای مذکور موجود بود ، شرح کالای آن را در سلول متناظر آن در ستون b20 وارد کند و اگر کد کالا موجود نبود در سلول متناظر آن در ستون b20 پیغامی بدهد تا متوجه بشویم تا ما یک کد کالای جدید با شرح کالای جدید در ردیف20 ایجاد کنیم و از طرفی میخواهیم این عمل را بصورت پویا انجام بدهد و ما مجبور نباشیم بصورت دستی محدوده را زیاد کنیم
    باتشکر
  • khakzad

    • 2010/03/17
    • 2034
    • 85.00

    #2
    سلام
    دوست عزیز، شما باید محدوده جستجو table array موجود در فرمول vlookup رو پویا کنید.
    به این شکل که، فرض کنید در ردیف 20 قرار دارید و تیبل شما باید از A1:B19 رو شامل بشه.

    پس موقع نوشتن فرمول، وقتی vlookup رو نوشتید تیبل رو اینطوری دلار بذارید:
    کد:
    $A$1:$B19
    بقیه فرمول هم وی لوکاپ ساده هست.

    حالا برای اینکه اگر وجود نداشت بتونید پیغام بدید هم یک iferror می نویسید و کل فرمول vlookup نوشته شده رو می ذارید برای آرگومان اول فرمول.آرگومان دوم همون پیغام یهست که می خواید نمایش داده بشه

    کامنت

    • aziz
      • 2014/10/08
      • 3

      #3
      جناب خاکزاد از اینکه عنایت فرمودید متشکرم اما روش شما مشکل ما را حل نکرد به همین خاطر بنده به طور مفصل دوباره سوال را مطرح میکنم
      در جدول زیر که شامل کد کالا (ستونa)و شرح کالا (ستون b)می باشد .حال قصد داریم در آخرین سلول خالی ستون کد کالا(مثلا a10) ، شماره کد کالایی را وارد کنیم و در (b10)سلول متناظر آن که ستون شرح کالا می باشد به صورت پویا (هوشمند) ،بیاید از سلول های بالاتر از خودش کد کالای مورد نظر را جستجو کند که اگر یافت در سلولb10 شرح کد کالای وارده را بنویسد و اگر هم پیدا نکرد یک پیغام خطا به ما بدهد.و به همین شکل این عمل بصورت اتوماتیک برای سلول های ردیف پایین تر با اضافه کردن کد جدیدی انجام شود.در اینجا این نکته لازم به ذکر است که این جدول شامل کدهای تکراری با شرح کالای تکراری بوده و از آنجایی که اطلاعات وارده در آن در حال گسترش می باشد ما میخواهیم بصورد پویا عمل جستجو را انجام بدهد و مجور نباشیم بعد از آن که اطلاعات وارد بیش از محدوده تعریف شده شد به صورت دستی محدوده سلول ها را گسترش بدهیم.
      لطفا اگر مقدور است فایل اکسل آن را ضمیمه فرمایید تا به جواب سریع تر برسیم
      باتشکر
      a b
      1 کد کالا شرح کالا
      2 101 میز
      3 102 صندلی
      4 103 لب تاب
      5 104 پرینتر
      6 101 میز
      7 105 تلویزیون
      8 103 لب تاب
      9 106 مانیتور
      10 وارد کردن کد جستجو در سلول های بالاتر
      11

      کامنت

      • حسام بحرانی

        • 2013/09/29
        • 2065
        • 72.00

        #4
        نوشته اصلی توسط aziz
        جناب خاکزاد از اینکه عنایت فرمودید متشکرم اما روش شما مشکل ما را حل نکرد به همین خاطر بنده به طور مفصل دوباره سوال را مطرح میکنم
        در جدول زیر که شامل کد کالا (ستونa)و شرح کالا (ستون b)می باشد .حال قصد داریم در آخرین سلول خالی ستون کد کالا(مثلا a10) ، شماره کد کالایی را وارد کنیم و در (b10)سلول متناظر آن که ستون شرح کالا می باشد به صورت پویا (هوشمند) ،بیاید از سلول های بالاتر از خودش کد کالای مورد نظر را جستجو کند که اگر یافت در سلولb10 شرح کد کالای وارده را بنویسد و اگر هم پیدا نکرد یک پیغام خطا به ما بدهد.و به همین شکل این عمل بصورت اتوماتیک برای سلول های ردیف پایین تر با اضافه کردن کد جدیدی انجام شود.در اینجا این نکته لازم به ذکر است که این جدول شامل کدهای تکراری با شرح کالای تکراری بوده و از آنجایی که اطلاعات وارده در آن در حال گسترش می باشد ما میخواهیم بصورد پویا عمل جستجو را انجام بدهد و مجور نباشیم بعد از آن که اطلاعات وارد بیش از محدوده تعریف شده شد به صورت دستی محدوده سلول ها را گسترش بدهیم.
        لطفا اگر مقدور است فایل اکسل آن را ضمیمه فرمایید تا به جواب سریع تر برسیم
        باتشکر
        a b
        1 کد کالا شرح کالا
        2 101 میز
        3 102 صندلی
        4 103 لب تاب
        5 104 پرینتر
        6 101 میز
        7 105 تلویزیون
        8 103 لب تاب
        9 106 مانیتور
        10 وارد کردن کد جستجو در سلول های بالاتر
        11
        سلام و عرض خیرمقدم به شما دوست عزیز،
        در سلول B10 فرمول زیر را بصورت آرایه ای بنویسید و به اندازه دلخواه در همان ستون کپی نمایید؛
        نکته:
        برای ثبت فرمول بصورت آرایه ای می بایست پس از نوشتن فرمول، به جای Enter از کلیدهای ترکیبی Ctrl و Shift و Enter استفاده کنید.
        کد PHP:
        =IFERROR(IF(A10<>$A$2:A9;VLOOKUP(A10;$A$2:B9;2;FALSE);"");""
        * با فرمول بالا اگر در خانه های a10 و a11 و ... کدی وارد شود، در صورتی که کد وارده در داده های ردیف بالای آن موجود بود، شرح کالا را در مقابل کد می آورد و در غیر اینصورت شرح کالا را خالی
        می گذارد تا برای آن، کالای جدید ثبت شود.
        * اگر هم منظور شما این است که از ورود کدهای تکراری جلوگیری کنید، می توانید به تاپیک زیر مراجعه نمایید.
        جلوگیری از ورود داده های تکراری
        موفق باشید.

        !With God all things are possible



        کامنت

        • khakzad

          • 2010/03/17
          • 2034
          • 85.00

          #5
          دوست عزیز بنده درست راهنمایی کردم!!!
          با فرض اینکه با فرمول vlookup اشنا هستید فقط مشکل اصلیتون رو توضیح دادم .(بقیش فرمول ساده بود)
          ضمن تشکر از جناب بحرانی،
          نیازی به فرمول ارایه ای نیست. این فرمول هم ج میده:
          کد:
          [FONT=Courier New][COLOR=#007700]=[/COLOR][COLOR=#0000BB]IFERROR[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]VLOOKUP[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]A10[/COLOR][COLOR=#007700];[/COLOR][COLOR=#0000BB]$A[/COLOR][COLOR=#007700]$[/COLOR][COLOR=#0000BB]2[/COLOR][COLOR=#007700]:[/COLOR][COLOR=#0000BB]B9[/COLOR][COLOR=#007700];[/COLOR][COLOR=#0000BB]2[/COLOR][COLOR=#007700];[/COLOR][COLOR=#0000BB]FALSE[/COLOR][COLOR=#007700])[/COLOR][COLOR=#007700];[/COLOR][COLOR=#DD0000]"پیغام مورد نظر"[/COLOR][COLOR=#007700]) [/COLOR][/FONT]

          کامنت

          • aziz
            • 2014/10/08
            • 3

            #6
            کمال تشکر و قدردانی را از جناب خاکزاد و جناب بحرانی خواستارم و بخاطر آن که با صبر و شکیبایی خودتان بنده را راهنمایی فرمودید سپاس گذارم

            کامنت

            چند لحظه..