بررسی فرمول آرایه ای ارائه شده در مورد شمارش فیلدهای مشترک

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

    • 2016/11/17
    • 14
    • 0.00

    بررسی فرمول آرایه ای ارائه شده در مورد شمارش فیلدهای مشترک

    سلام وقت بخیر
    من قبلا موضوعی رو مطرح کردم در مورد شمارش فیلدهای مشترک که جناب امیر خان زحمت جواب رو کشیدند
    اما توی اجرا به موضوع جدیدی برخوردم که چون فرمول ارائه شده فقط اسامی رو شمارش میکنه، اگر من اسمی رو وارد کنم
    اما نام دوره ثبت نشه باز شمارش انجام میشه!
    در صورتی که هنوز مشخص نیست طرف توی کدوم دوره یا دوره ها ثبت نام میکنه.

    این لینک موضوع قبلی

    چه تعدادی از افراد در هر دو دوره 1 و 2 ثبت نام کردند؟

    a b
    مجید 1
    مجید 2
    علی 1
    مریم 2
    مریم 1
    شاهین 1
    شاهین 2
    رزیتا 2
    =sum(if(countif(a2:a9,a2:a9)=2,countif(a2:a9,a2:a9 )/2,0))/2



  • Amir Ghasemiyan

    • 2013/09/20
    • 4599
    • 100.00

    #2
    نوشته اصلی توسط majideptp
    سلام وقت بخیر
    من قبلا موضوعی رو مطرح کردم در مورد شمارش فیلدهای مشترک که جناب امیر خان زحمت جواب رو کشیدند
    اما توی اجرا به موضوع جدیدی برخوردم که چون فرمول ارائه شده فقط اسامی رو شمارش میکنه، اگر من اسمی رو وارد کنم
    اما نام دوره ثبت نشه باز شمارش انجام میشه!
    در صورتی که هنوز مشخص نیست طرف توی کدوم دوره یا دوره ها ثبت نام میکنه.

    این لینک موضوع قبلی

    چه تعدادی از افراد در هر دو دوره 1 و 2 ثبت نام کردند؟

    a b
    مجید 1
    مجید 2
    علی 1
    مریم 2
    مریم 1
    شاهین 1
    شاهین 2
    رزیتا 2
    =sum(if(countif(a2:a9,a2:a9)=2,countif(a2:a9,a2:a9 )/2,0))/2




    سلام دوست عزیز
    من فرمولتون رو اینطوری تکمیل میکنم:
    کد:
    =sum(if((countif(a2:a9,a2:a9)=2)*((a2:a9&1=a2:a9&b2:b9)+(a2:a9&2=a2:a9&b2:b9)),1,0))
    بازم مثل قبل از فرمول آرایه ای باید استفاده کنید

    کامنت

    • majideptp

      • 2016/11/17
      • 14
      • 0.00

      #3
      نوشته اصلی توسط Amir Ghasemiyan

      سلام دوست عزیز
      من فرمولتون رو اینطوری تکمیل میکنم:
      کد:
      =sum(if((countif(a2:a9,a2:a9)=2)*((a2:a9&1=a2:a9&b2:b9)+(a2:a9&2=a2:a9&b2:b9)),1,0))
      بازم مثل قبل از فرمول آرایه ای باید استفاده کنید
      ممنونم اما:

      A B No
      ali 1 6
      ali 2
      majid 1
      majid 2
      hossein 1
      hossein 2
      nahid 2
      در واقع 3 نفر در هر دو دوره 1 و 2 شرکت کردند اما فرمول همه رکوردها رو شمارش کرده
      و اینکه وقتی اسم دوره رو تغییر میدم از عدد به حروف مثلا "مکالمه" پیغام خطا میده

      کامنت

      • Amir Ghasemiyan

        • 2013/09/20
        • 4599
        • 100.00

        #4
        نوشته اصلی توسط majideptp
        ممنونم اما:

        a b no
        ali 1 6
        ali 2
        majid 1
        majid 2
        hossein 1
        hossein 2
        nahid 2
        در واقع 3 نفر در هر دو دوره 1 و 2 شرکت کردند اما فرمول همه رکوردها رو شمارش کرده
        و اینکه وقتی اسم دوره رو تغییر میدم از عدد به حروف مثلا "مکالمه" پیغام خطا میده

        ببخشید من فراموش کردم تقسیم بر ۲ کنم
        فرمول نهایی این هست:
        کد:
        =floor(sum(if((countif(a2:a9,a2:a9)=2)*((a2:a9&1=a2:a9&b2:b9)+(a2:a9&2=a2:a9&b2:b9)),1,0))/2,1)
        در مورد پیغام خطا من تست کردم هیچ خطایی برخورد نکردم. شاید فرمول رو اشتباه وارد کردین یا اینکه از حالت آرایه ای خارج شده

        کامنت

        • majideptp

          • 2016/11/17
          • 14
          • 0.00

          #5
          نوشته اصلی توسط Amir Ghasemiyan

          ببخشید من فراموش کردم تقسیم بر ۲ کنم
          فرمول نهایی این هست:
          کد:
          =floor(sum(if((countif(a2:a9,a2:a9)=2)*((a2:a9&1=a2:a9&b2:b9)+(a2:a9&2=a2:a9&b2:b9)),1,0))/2,1)
          در مورد پیغام خطا من تست کردم هیچ خطایی برخورد نکردم. شاید فرمول رو اشتباه وارد کردین یا اینکه از حالت آرایه ای خارج شده

          شما ببخشید و بینهایت سپاسگزارم
          من انجام دادم یه مورد دیگه ای هست و اون اینه که اگر کاربر به اشتباه نام دوره رو تکراری بزنه توی شمارش اثرگذار میشه. برای این موضوع میشه کاری کرد؟

          A B No
          ali 2 4
          ali 2
          majid 2
          majid 2
          hossein 2
          hossein 2
          nahid 2
          nahid 2

          کامنت

          • Amir Ghasemiyan

            • 2013/09/20
            • 4599
            • 100.00

            #6
            نوشته اصلی توسط majideptp
            شما ببخشید و بینهایت سپاسگزارم
            من انجام دادم یه مورد دیگه ای هست و اون اینه که اگر کاربر به اشتباه نام دوره رو تکراری بزنه توی شمارش اثرگذار میشه. برای این موضوع میشه کاری کرد؟

            a b no
            ali 2 4
            ali 2
            majid 2
            majid 2
            hossein 2
            hossein 2
            nahid 2
            nahid 2

            اگر بخواین همه شرایط رو داخل یک فرمول بگنجونین یا فرمول خیلی پیچیده میشه یا غیر ممکن.
            مثلا ممکنه یه حالت پیش بیاد که شما سه بار اسم یک نفر رو بنویسید یا حتی چهاربار. بعد اونوقت تکلیف چیه؟
            من پیشنهاد میکنم یک ستون بعد از b ایجاد کنید و دو تا سلول رو با هم عطف کنید. یعنی اینطوری:
            کد:
            =a2&b2
            بعد در یک سلول با فرمول زیر میتونین تعداد حالت های تکراری رو داشته باشید: (فرمول آرایه ای)
            کد:
            =sum(--(countif(d2:d9,d2:d9)=2))/2

            کامنت

            چند لحظه..