درخواست راهنمایی برای استفاده از تابع Filter

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

    • 2015/01/27
    • 37
    • 26.00

    پرسش درخواست راهنمایی برای استفاده از تابع Filter

    سلام به همگی.
    لیستی از اشخاص وجود داره که هر کدوم در ماه امتیاز مشخصی رو کسب کردند:

    Click image for larger version

Name:	01.png
Views:	36
Size:	4.9 کیلو بایت
ID:	333775

    یک امتیاز «حداقل و حداکثر» هم برای فیلتر کردن این اشخاص وجود داره که توسط کاربر انتخاب خواهد شد:

    Click image for larger version

Name:	02.png
Views:	27
Size:	1.0 کیلو بایت
ID:	333776

    نتیجه‌ای که مورد انتظار هست اینه که لیست این اشخاص بر اساس امتیازی که توسط کاربر وارد شده، فیلتر بشه و نمایش داده بشه:

    Click image for larger version

Name:	03.png
Views:	27
Size:	3.9 کیلو بایت
ID:	333777

    چطور می‌تونم از تابع Filter استفاده کنم تا به نتیجه‌ی دلخواه برسم؟
    متشکرم.

    Book1.xlsx
  • Amir Ghasemiyan

    • 2013/09/20
    • 4599
    • 100.00

    #2
    سلام دوست عزیز

    از فرمول زیر استفاده کنید:
    کد:
    =LET(rng,(TOCOL(B2:F5)),FILTER(rng,(rng>H1)*(rng<I1)))

    کامنت

    • Mirgholami

      • 2015/01/27
      • 37
      • 26.00

      #3
      متشکرم.

      این فرمول رو در کدوم سلول باید قرار بدم؟
      چون داخل هر سلولی می‌ذارم، ارور #calc! ظاهر می‌شه.

      اگه زحمت بکشید و فایل اکسلی که داخل پست اول پیوست کردم رو با فرمول خودتون آپدیت کنید، ممنون می‌شم.


      =-=-=-=-=-=-=-=-=-=-=-=

      با یک تغییر جزئی، فرمول شما جواب داد و امتیازات در ستون امتیاز نمایش داده شد.
      اسامی رو چطور می‌شه اضافه کرد؟
      چون الان ستون نام خالی هست و فقط امتیاز رو داریم.


      Book1.xlsx
      Last edited by Mirgholami; 2024/10/07, 16:10.

      کامنت

      • Amir Ghasemiyan

        • 2013/09/20
        • 4599
        • 100.00

        #4
        ستون اول افراد رو بیارید با این فرمول:
        کد:
        =filter(tocol(if((b2:f5>l1)*(b2:f5<n1)=1,a2:a5,"")),tocol(if((b2:f5>l1)*(b2:f5<n1)=1,a2:a5,""))<>"")
        ستون دوم اعداد رو بیارید با این فرمول:
        کد:
        =filter(tocol(((b2:f5>l1)*(b2:f5<n1)*b2:f5)),tocol(((b2:f5>l1)*(b2:f5<n1)*b2:f5))>0)
        احتمالا راه های دیگه ای هم باشه ولی فعلا این روش به ذهنم میرسه

        کامنت

        • Amir Ghasemiyan

          • 2013/09/20
          • 4599
          • 100.00

          #5
          برای خلاصه تر کردن فرمول ها میشه اینطوری هم نوشت:
          کد:
          =LET(list,TOCOL(IF((B2:F5>L1)*(B2:F5<N1)=1,A2:A5,"")),FILTER(list,list<>""))
          کد:
          =LET(list,TOCOL(((B2:F5>L1)*(B2:F5<N1)*B2:F5)),FILTER(list,list>0))

          کامنت

          چند لحظه..