ماکسیمم یابی چند متغیره

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • Alireza392

    • 2015/02/24
    • 13

    ماکسیمم یابی چند متغیره

    با سلام خدمت دوستان و اساتید
    توی فایل پیوست میخوام به نحوی عمل بشه که اگه تو سلول F2 حرف a وارد بشه بزرگترین مقدار a در سلول مجاورش نشون داده بشه درستش عدد 4 هست و یا اگه b وارد بشه هم مثل قبل ماکزیممش که عدد 30 هست نشون داده بشه.
    حقیقتش خودم با چندتا تابع dmax , max تست کردم ولی نشد. اگه میشه دوستان راهنمایی کنن.
    ممنون
    فایل های پیوست شده
  • Ali Parsaei
    مدير تالارتوابع اکسل

    • 2013/11/18
    • 1522
    • 71.67

    #2
    سلام،
    شما بايد فرمول زير را به صورت آرايه اي وارد نماييد:
    کد:
    =max(if(a2:a8=$f$2;1;0)*b2:b8)
    يعني بايد فرمول را در خانه مورد نظر تايپ کرده و در انتها به جاي فشردن کليد enter کليدهاي ctrl+shift+enter را به طور همزمان فشار دهيد.
    اگر کار نکرد عبارت ";" در فرمول فوق را با عبارت "," عوض کنيد
    [SIGPIC][/SIGPIC]

    کامنت

    • Alireza392

      • 2015/02/24
      • 13

      #3
      نوشته اصلی توسط علي پارسا
      سلام،
      شما بايد فرمول زير را به صورت آرايه اي وارد نماييد:
      کد:
      =max(if(a2:a8=$f$2;1;0)*b2:b8)
      يعني بايد فرمول را در خانه مورد نظر تايپ کرده و در انتها به جاي فشردن کليد enter کليدهاي ctrl+shift+enter را به طور همزمان فشار دهيد.
      اگر کار نکرد عبارت ";" در فرمول فوق را با عبارت "," عوض کنيد


      بسیار عالی. ممنونم
      درست شد اما اگر امکان داره یه کم درباره اینکه اون علامت ضرب چه نقشی بین جواب IF و آرایه داره توضیح بدید ممنون میشم
      و اینکه آیا a2:a8=$f$2 به معنی مقایسه تک تک سلولهای آرایه با F2 هست؟

      بسیار سپاسگذارم

      کامنت

      • khakzad

        • 2010/03/17
        • 2034
        • 85.00

        #4
        با اجازه جناب پارسا
        چون خروجی if 0 یا 1 هست، پس میاد در ستون B ضرب میشه و هرچی که صفر بوده میشه صفر و هرجا 1 بوده در ستون b ضرب میشه و همون عدد بدست میاد. بعد بین چندتا عدد باقیمانده max حساب میشه.
        برای مشاهده نحوه محاسبه، از evaluate formula استفاده کنید
        [CENTER][B][COLOR=#008000][SIZE=3]محصولات و جزوات آموزش تخصصی [URL="https://excelpedia.net/"]اکسل[/URL] در:

        [URL="https://excelpedia.net/category/excel-functions/"]برترین مرجع تخصصی پارسی اکسل[/URL]
        [URL="http://www.exceliran.com/shop/"]جامعه اكسل ايرانيان: فروشگاه[/URL][/SIZE][/COLOR][/B]
        :wcom:

        [B][URL="https://excelpedia.net/"]آموزش اکسل تخصصی[/URL] و [URL="https://excelpedia.net/excel-ninja/"]پیشرفته[/URL] - [URL="https://excelpedia.net/"]تهران[/URL][/B]
        [EMAIL="h.khakzad@yahoo.com"]h.khakzad@yahoo.com[/EMAIL]
        [/CENTER]

        کامنت

        • hadi1366210

          • 2015/07/08
          • 5

          #5
          نوشته اصلی توسط علي پارسا
          سلام،
          شما بايد فرمول زير را به صورت آرايه اي وارد نماييد:
          کد:
          =max(if(a2:a8=$f$2;1;0)*b2:b8)
          يعني بايد فرمول را در خانه مورد نظر تايپ کرده و در انتها به جاي فشردن کليد enter کليدهاي ctrl+shift+enter را به طور همزمان فشار دهيد.
          اگر کار نکرد عبارت ";" در فرمول فوق را با عبارت "," عوض کنيد


          سلام
          آیا به غیر از استفاده از کليدهاي ctrl+shift+enter را به طور همزمان روش دیگه ای هست.

          کامنت

          • mohammad_ashooryan

            • 2014/08/13
            • 480
            • 80.00

            #6
            سلام
            اگه بخواهيد بدون آرايه به جواب برسيد بايد از فرمول زير استفاده كنيد.

            کد PHP:
            =large(index((a2:a8=f2)*(b2:b8);;);1
            فایل های پیوست شده

            کامنت

            چند لحظه..