درخواست راهنمایی در رابطه با رتبه بندی اعداد در یک لیست عددی

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • Ali_Sedaghat
    • 2014/12/06
    • 4

    درخواست راهنمایی در رابطه با رتبه بندی اعداد در یک لیست عددی

    با سلام خدمت کاربران محترم
    مدتیه که دنبال یک تابع یا ترکیبی از توابع می گردم تا رتبه ی اعداد رو از بین یک لیست عددی برام به نمایش بگذاره.
    چه طور میشه رتبه ی یک عدد را در بین مجموعه ای از اعداد به دست آورد؟
    من تمام توابعی را که در این فروم و سایت های دیگه مورد استفاده قرار گرفته رو با دقت نگاه کردم اما اون چیزی که می خوام نیست.
    فرض کنید که ما دارای یک سری اعداد هستیم:
    اعداد زیر در ستون a و از ردیف 1 تا 14 قرار دارند.
    کد PHP:
    22,11,33,11,22,55,66,22,11,33 

    وقتی که از دستور زیر در در ستون b1 نوشته و در ستون های بعدی پیست می کنیم یک سری اعداد به دست میان.
    دستور مورد استفاده در ستون a1:
    کد PHP:
    rank(a1;$a$1:$a$14;0)+countif($a$1:$a1;a1)-

    رتبه های به نمایش گذاشته شده:
    کد PHP:
    5,8,3,9,6,2,1,7,10,


    اگه به جواب ها دقت کرده باشید می بینید که برای عدد 33 دو تا رتبه نوشته شده یکی رتبه 3 و دیگری 4 و بعد برای عدد 22 هم دو تا رتبه نوشته شده یکی رتبه 5 و دیگری 6.
    در حالی که من می خوام برای عدد 33 فقط یک رتبه نوشته بشه و اون هم عدد 3 باشه و برای عدد 22 فقط رتبه 4 نوشته بشه نه رتبه 5.
    به نظر شما چه طور می تونم رتبه ی اعداد را به درستی در یک لیست عددی به دست بیارم؟
    با تقدیم احترام
    صداقت
  • Ali_Sedaghat
    • 2014/12/06
    • 4

    #2
    جوابش رو به دست آوردم.
    باز هم ممنون بابت بازدید از این تاپیک.

    کامنت

    • Amir Ghasemiyan

      • 2013/09/20
      • 4598
      • 100.00

      #3
      سلام دوست عزيز
      من فكر ميكنم اگه بخوايم با يك فرمول اين كار رو بكنيم كار پيچيده اي باشه
      شما ميتونين كليه اعدادتون رو يكجاي ديگه كپي كنيد و با ابزار remove duplicate تكراري ها رو حذف كنيد. بعد با تابع rank رتبشون رو پيدا كنيد
      حالا در ستون اصلي اعداد با دستور vloockup چيزي كه مد نظرتون هست رو بدست بيارين

      کامنت

      • Amir Ghasemiyan

        • 2013/09/20
        • 4598
        • 100.00

        #4
        نوشته اصلی توسط Ali_Sedaghat
        جوابش رو به دست آوردم.
        باز هم ممنون بابت بازدید از این تاپیک.
        اگر جوابي كه بدست آوردين رو به ما هم بگين ثواب داره ها

        کامنت

        • khakzad

          • 2010/03/17
          • 2034
          • 85.00

          #5
          اگر از تابع rank تنها استفاده کنید همون خروجی رو میده بهتون
          قبلا شما رنک های مساوی رو با تعدادشون جمع م یکردید برای همنی خروجی مثل بالا بود.
          اما اگر به تنهایی استفاده کنید به همه اعداد مساوی، یک رنک رو میده و اونم اولین رنک هست.
          مثلا اگر 3تا عدد 2 داشته باشد برای هم سه میده 1 و برای عدد بزرگتر بعدی میده 4
          [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]

          کامنت

          • Ali_Sedaghat
            • 2014/12/06
            • 4

            #6
            سلام دوستان
            من جواب رو از توی همین سایت به دست آوردم.
            قبل از هر چیز باید خدمت دوستان عزیز عرض کنم: فرض کنید در یک کلاس 40 نفره 8 نفر از دانش آموزان دارای معدل 20 باشند و برخی دیگر معدل های پایین تر.
            اگر ما بخواهیم رتبه ی دانش آموزان این کلاس را با تابع Rank به دست بیاریم برای افرادی که معدل شون 20 هست عدد 1 رو می نویسه و برای نفر بعدی عدد 9 که این کاملاً اشتباهه و باید برای نفر بعدی عدد یا رتبه 2 رو قرار بده تا نفر آخر.
            من فایل مورد نظر رو براتون قرار میدم. امیدوارم که عملکردش درست باشه.
            با تقدیم احترام
            صداقت

            من به ویرایش فایل دقت نکرده بودم. محدوده ی مورد نظر من از A3 تا A16 هست که در داخل فایل اکسل و در قسمت توضیحاتش نوشتم از A1 تا A14 که از این بابت عذرخواهی می کنم.
            فایل های پیوست شده
            Last edited by Ali_Sedaghat; 2014/12/06, 14:17.

            کامنت

            • khakzad

              • 2010/03/17
              • 2034
              • 85.00

              #7
              ممنون
              البته یاداوری م یکنم که این حالت رتبه بندی اشتباه نیس!!

              درواقع اون رتبه بندی حتی به شما نشون میده چندتا معدل بیست داشتین!

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

              به هر حال رو اکسل غیرت داریم پس اکسل اشتباه نمیک نه

              موفق باشید

              مممنون بابت یاداوری این راه حل
              Last edited by khakzad; 2014/12/06, 14:31.
              [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]

              کامنت

              • Amir Ghasemiyan

                • 2013/09/20
                • 4598
                • 100.00

                #8
                آره يادش بخير. خوب شد يادآوري كردين. روش خوبي هست

                کامنت

                چند لحظه..