تعداد اسامی موجود بدون شمارش تکرار در یک ستون

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • sahel22
    • 2016/08/18
    • 1

    تعداد اسامی موجود بدون شمارش تکرار در یک ستون

    من یک ستون با اسامی زیادی دارم که بعضی از اسامی چندین بار تکرار شده یک تابع یا فرمول می خوام که تعداد اسامی رو بدون شمارش تکراری ها رو بهم بده
  • amir_ts

    • 2015/03/17
    • 1247

    #2
    با سلام
    فرمول های بسیاری وجود داره که ما رو به یک نتیجه میرسونه ساده ترین فرمول در صورت نداشتن سل خالی این فرمول آرایه ای زیر هست.

    کد PHP:
    =SUM(1/COUNTIF(A1:A20;A1:A20)) 
    بعد از نوشتن فرمول کلید های ctrl+shift+enter رو با هم فشار بدید.
    [SIZE=7][B][COLOR=navy][FONT=IranNastaliq]ای برادر تو همه اندیشه ای[/FONT][/COLOR][/B][/SIZE]

    کامنت

    • neda-a

      • 2014/11/25
      • 53

      #3
      سلام فرمول خوبی بود- میشه توضیح بدین این فرمول چطور عمل میکنه؟ (در واقع میخوام بدونم اگر من قرار باشه به این فرمول برسم بر چه اساسی باید این توابع را انتخاب کنم)

      کامنت

      • Ali Parsaei
        مدير تالارتوابع اکسل

        • 2013/11/18
        • 1522
        • 71.67

        #4
        سلام،
        فرض کنيم در سل هاي a1 تا a20 داده هايي داشته باشيم
        تو سل b1 اين فرمول را مي نويسيم:
        (countif(a1:a20;a1
        اين فرمول حساب مي کند که عبارت موجود در سل a1 در محدوده a1 تا a20 چند بار تکرار شده
        حال همين فرمول را در سل b2 بدين صورت مي نويسيم: (countif(a1:a20;a2 و اين فرمول حساب مي کند که عبارت موجود در سل a2 در محدوده a1 تا a20 چند بار تکرار شده
        همين کار را تا سل b20 تکرار مي کنيم .....
        فرض کنيم مقدار موجود در سل a1 سه بار در محدوده a1 تا a20 تکرار شده باشد (مثلا" در سل هاي a1 و a12 و a18)
        با اين حساب فرمولهايي که در ستون b نوشته ايم در سل b1 عدد سه را نشان مي دهد، در سل b12 هم عدد سه را نشان مي دهد، در سل b18 هم عدد سه را نشان مي دهد
        حال اگر تمام فرمولهاي محدوده b1 تا b20 را به صورتي بنويسيم که عدد يک تقسيم بر فرمول اوليه شده باشد، يعني در سل b1 بنويسيم:
        کد PHP:
        =1/countif(a1:a20;a1
        و همين فرمول را تا سل b20 تعميم دهيم .....
        اون وقت سل a1 نتيجه اش مي شود: 1/3 (يعني يک سوم) ، سل a12 هم نتيجه اش مي شود 1/3 (يعني يک سوم) ، سل a18 هم نتيجه اش مي شود 1/3 (يعني يک سوم) ،
        حال اگر اين سه مورد را با هم جمع کنيم نتيج مي شود يک
        به همين طريق اگر مقدار سل a2 در محدوده a1 تا a20 تکرار نشده باشد مقدار فرمول سل b2 مي شود 1/1 يعني يک
        و باز مثلا" اگر مقدار سل a3 پنج بار در محدوده a1 تا a20 تکرار شده باشد در فرمولهاي ستون b پنج سل با نتيجه 1/5 (يعني يک پنجم) خواهيم داشت که جمعشان باز مي شود يک
        حال اگر تمام نتايج فرمولهاي نوشته شده در سلهاي b1 تا b20 را با هم جمع کنيم نتيجه اش تعداد داده هاي محدوده a1 تا a20 بدون در نظر گرفتن تکرار آنها خواهد بود.
        حال به جاي اينکه اين فرمول نويسي را تک تک در سلهاي b1 تا b20 انجام دهيم با فرمولي که دوستمان نوشته اند مي توانيم به صورت يکجا نتيجه را در يک سل مشاهده کنيم، فقط بايد فرمول ياد شده را به صورت آرايه اي وارد کنيم، يعني بعد از نوشتن فرمول به جاي فشردن کليد اينتر به طور هم زمان کليدهاي کنترل و شيفت و اينتر را فشار دهيم.
        [SIGPIC][/SIGPIC]

        کامنت

        • moyjon
          • 2012/06/20
          • 3
          • 72.00

          #5
          نوشته اصلی توسط ali parsaei
          سلام،
          فرض کنيم در سل هاي a1 تا a20 داده هايي داشته باشيم
          تو سل b1 اين فرمول را مي نويسيم:
          (countif(a1:a20;a1
          اين فرمول حساب مي کند که عبارت موجود در سل a1 در محدوده a1 تا a20 چند بار تکرار شده
          حال همين فرمول را در سل b2 بدين صورت مي نويسيم: (countif(a1:a20;a2 و اين فرمول حساب مي کند که عبارت موجود در سل a2 در محدوده a1 تا a20 چند بار تکرار شده
          همين کار را تا سل b20 تکرار مي کنيم .....
          فرض کنيم مقدار موجود در سل a1 سه بار در محدوده a1 تا a20 تکرار شده باشد (مثلا" در سل هاي a1 و a12 و a18)
          با اين حساب فرمولهايي که در ستون b نوشته ايم در سل b1 عدد سه را نشان مي دهد، در سل b12 هم عدد سه را نشان مي دهد، در سل b18 هم عدد سه را نشان مي دهد
          حال اگر تمام فرمولهاي محدوده b1 تا b20 را به صورتي بنويسيم که عدد يک تقسيم بر فرمول اوليه شده باشد، يعني در سل b1 بنويسيم:
          کد PHP:
          =1/countif(a1:a20;a1
          و همين فرمول را تا سل b20 تعميم دهيم .....
          اون وقت سل a1 نتيجه اش مي شود: 1/3 (يعني يک سوم) ، سل a12 هم نتيجه اش مي شود 1/3 (يعني يک سوم) ، سل a18 هم نتيجه اش مي شود 1/3 (يعني يک سوم) ،
          حال اگر اين سه مورد را با هم جمع کنيم نتيج مي شود يک
          به همين طريق اگر مقدار سل a2 در محدوده a1 تا a20 تکرار نشده باشد مقدار فرمول سل b2 مي شود 1/1 يعني يک
          و باز مثلا" اگر مقدار سل a3 پنج بار در محدوده a1 تا a20 تکرار شده باشد در فرمولهاي ستون b پنج سل با نتيجه 1/5 (يعني يک پنجم) خواهيم داشت که جمعشان باز مي شود يک
          حال اگر تمام نتايج فرمولهاي نوشته شده در سلهاي b1 تا b20 را با هم جمع کنيم نتيجه اش تعداد داده هاي محدوده a1 تا a20 بدون در نظر گرفتن تکرار آنها خواهد بود.
          حال به جاي اينکه اين فرمول نويسي را تک تک در سلهاي b1 تا b20 انجام دهيم با فرمولي که دوستمان نوشته اند مي توانيم به صورت يکجا نتيجه را در يک سل مشاهده کنيم، فقط بايد فرمول ياد شده را به صورت آرايه اي وارد کنيم، يعني بعد از نوشتن فرمول به جاي فشردن کليد اينتر به طور هم زمان کليدهاي کنترل و شيفت و اينتر را فشار دهيم.
          اگر در بازه بالا جای خالی وجود داشته باشه باید یک if به قبلش اضافه بشه تا خطا ظاهر نشه:
          کد PHP:
          =sum(if($a$2:$a$50<>"",1/countif($a$2:$a$50,$a$2:$a$50),0)) 

          کامنت

          • Mela68

            • 2018/04/23
            • 29
            • 67.00

            #6
            نوشته اصلی توسط sahel22
            من یک ستون با اسامی زیادی دارم که بعضی از اسامی چندین بار تکرار شده یک تابع یا فرمول می خوام که تعداد اسامی رو بدون شمارش تکراری ها رو بهم بده
            تب دیتا ، قسمت sort and filter ، advanced، در پنجره باز شده در قسمت list range ستون اسم ها رو انتخاب کن و تیک Uniqe رو بزن و اکی کن ، تا اینجا اسم ها رو منحصر به فرد نشون میده ، بعد جلوی هر اسم از آرایه countif استفاده کن

            کامنت

            چند لحظه..