من یک ستون با اسامی زیادی دارم که بعضی از اسامی چندین بار تکرار شده یک تابع یا فرمول می خوام که تعداد اسامی رو بدون شمارش تکراری ها رو بهم بده
تعداد اسامی موجود بدون شمارش تکرار در یک ستون
Collapse
X
-
با سلام
فرمول های بسیاری وجود داره که ما رو به یک نتیجه میرسونه ساده ترین فرمول در صورت نداشتن سل خالی این فرمول آرایه ای زیر هست.
کد PHP:=SUM(1/COUNTIF(A1:A20;A1:A20))
[SIZE=7][B][COLOR=navy][FONT=IranNastaliq]ای برادر تو همه اندیشه ای[/FONT][/COLOR][/B][/SIZE] -
سلام،
فرض کنيم در سل هاي 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)
اون وقت سل 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]کامنت
-
سلام،
فرض کنيم در سل هاي 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)
اون وقت سل 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 انجام دهيم با فرمولي که دوستمان نوشته اند مي توانيم به صورت يکجا نتيجه را در يک سل مشاهده کنيم، فقط بايد فرمول ياد شده را به صورت آرايه اي وارد کنيم، يعني بعد از نوشتن فرمول به جاي فشردن کليد اينتر به طور هم زمان کليدهاي کنترل و شيفت و اينتر را فشار دهيم.
کد PHP:=sum(if($a$2:$a$50<>"",1/countif($a$2:$a$50,$a$2:$a$50),0))
کامنت
-
تب دیتا ، قسمت sort and filter ، advanced، در پنجره باز شده در قسمت list range ستون اسم ها رو انتخاب کن و تیک Uniqe رو بزن و اکی کن ، تا اینجا اسم ها رو منحصر به فرد نشون میده ، بعد جلوی هر اسم از آرایه countif استفاده کنکامنت
کامنت