MrExcel Message Board

Go Back   MrExcel Message Board > Question Forums > Excel Questions

Excel Questions All Excel/VBA questions - formulas, macros, pivot tables, general help, etc. Please post to this forum in English only.

Reply
 
Thread Tools Display Modes
Old Mar 22nd, 2002, 07:44 AM   #1
2182khz
New Member
 
Join Date: Mar 2002
Location: Detroit
Posts: 3
Default

Hello,

We know that to count unique occurances of numbers (part numbers in this case) in a column we can say:
=SUM(IF(FREQUENCY(A21:A341, A21:A341)>0,1,0))

But what can we say when we want to know how many unique occurances of a text string (part names) there are in a similar range? (b21:b341)


2182khz is offline   Reply With Quote
Old Mar 22nd, 2002, 07:51 AM   #2
Aladin Akyurek
MrExcel MVP
 
Aladin Akyurek's Avatar
 
Join Date: Feb 2002
Location: The Hague
Posts: 50,317
Default

Quote:
On 2002-03-22 06:44, 2182khz wrote:
Hello,

We know that to count unique occurances of numbers (part numbers in this case) in a column we can say:
=SUM(IF(FREQUENCY(A21:A341, A21:A341)>0,1,0))

But what can we say when we want to know how many unique occurances of a text string (part names) there are in a similar range? (b21:b341)
The formula you posted can be extend by using MATCH to obtain the desired count. But, the following will work for both:

=IF(LEN(B21:B341),SUMPRODUCT(1/COUNTIF(B21:B341,B21:B341)))

Aladin Akyurek is offline   Reply With Quote
Old Mar 22nd, 2002, 08:35 AM   #3
2182khz
New Member
 
Join Date: Mar 2002
Location: Detroit
Posts: 3
Default

Hello,
Interesting approach yielded undesired result. Attached a little sample to clarify.

???
=IF(LEN(IR21:IR341),SUMPRODUCT(1/COUNTIF(IR21:IR341,IR21:IR341))) returns null #VALUE
???

-this yields 8
=SUM(IF(FREQUENCY(a10:a20, a10:a20)>0,1,0))
-part types ?# should yield 3
=

PARTNUMBERS PART TYPES
8 ?# types

101 NUT
102 BOLT
103 SCREW
104 NUT
105 BOLT
106 SCREW
106 SCREW
107 BOLT
108 SCREW
106 SCREW
106 SCREW
2182khz is offline   Reply With Quote
Old Mar 22nd, 2002, 08:38 AM   #4
Dave Hawley
Banned
 
Join Date: Feb 2002
Posts: 1,582
Default

Hi Tom

Have you tried playing with a Pivot Table?


Dave Hawley is offline   Reply With Quote
Old Mar 22nd, 2002, 09:22 AM   #5
Mark W.
MrExcel MVP
 
Join Date: Feb 2002
Location: Austin, Texas USA
Posts: 11,654
Default

Quote:
On 2002-03-22 07:35, 2182khz wrote:
Hello,
Interesting approach yielded undesired result. Attached a little sample to clarify.

???
=IF(LEN(IR21:IR341),SUMPRODUCT(1/COUNTIF(IR21:IR341,IR21:IR341))) returns null #VALUE
???

-this yields 8
=SUM(IF(FREQUENCY(a10:a20, a10:a20)>0,1,0))
-part types ?# should yield 3
=

PARTNUMBERS PART TYPES
8 ?# types

101 NUT
102 BOLT
103 SCREW
104 NUT
105 BOLT
106 SCREW
106 SCREW
107 BOLT
108 SCREW
106 SCREW
106 SCREW
=SUM(IF(FREQUENCY(A10:A20, A10:A20),1)) produces 8 because the are 8 unique PARTNUMBERS. This is a correct result!

{=IF(LEN(B10:B20),SUMPRODUCT(1/COUNTIF(B10:B20,B10:B20)))}

Should be entered as an array formula.

Note: Array formulas must be entered using the Control+Shift+Enter key combination. The outermost braces, { }, are not entered by you -- they're supplied by Excel in recognition of a properly entered array formula.

When it's entered properly it returns the correct results -- 3.

BTW, I'd stick with a formula approach. PivotTables themselves don't support a unique count.


[ This Message was edited by: Mark W. on 2002-03-22 08:23 ]
Mark W. is offline   Reply With Quote
Old Mar 22nd, 2002, 09:43 AM   #6
Aladin Akyurek
MrExcel MVP
 
Aladin Akyurek's Avatar
 
Join Date: Feb 2002
Location: The Hague
Posts: 50,317
Default

Quote:
On 2002-03-22 07:35, 2182khz wrote:
Hello,
Interesting approach yielded undesired result. Attached a little sample to clarify.

???
=IF(LEN(IR21:IR341),SUMPRODUCT(1/COUNTIF(IR21:IR341,IR21:IR341))) returns null #VALUE
???

-this yields 8
=SUM(IF(FREQUENCY(a10:a20, a10:a20)>0,1,0))
-part types ?# should yield 3
=

PARTNUMBERS PART TYPES
8 ?# types

101 NUT
102 BOLT
103 SCREW
104 NUT
105 BOLT
106 SCREW
106 SCREW
107 BOLT
108 SCREW
106 SCREW
106 SCREW
I get a count of 8 for the first column of your data and 3 for the second (not array-entered and need not to be), with the formula I proposed.

Aladin
Aladin Akyurek is offline   Reply With Quote
Old Mar 22nd, 2002, 09:52 AM   #7
Mark W.
MrExcel MVP
 
Join Date: Feb 2002
Location: Austin, Texas USA
Posts: 11,654
Default

Quote:
I get a count of 8 for the first column of your data and 3 for the second (not array-entered and need not to be), with the formula I proposed.

Aladin
Aladin, if =IF(LEN(B10:B20),SUMPRODUCT(1/COUNTIF(B10:B20,B10:B20))) isn't entered as an array formula it returns #VALUE!. I believe array formula entry is necessary because the LEN worksheet function expects a text value and not an array.
Mark W. is offline   Reply With Quote
Old Mar 22nd, 2002, 10:05 AM   #8
Aladin Akyurek
MrExcel MVP
 
Aladin Akyurek's Avatar
 
Join Date: Feb 2002
Location: The Hague
Posts: 50,317
Default

Quote:
On 2002-03-22 08:52, Mark W. wrote:
Quote:
I get a count of 8 for the first column of your data and 3 for the second (not array-entered and need not to be), with the formula I proposed.

Aladin
Aladin, if =IF(LEN(B10:B20),SUMPRODUCT(1/COUNTIF(B10:B20,B10:B20))) isn't entered as an array formula it returns #VALUE!. I believe array formula entry is necessary because the LEN worksheet function expects a text value and not an array.
Mark, the real trouble is that it will not work the way I intended: the existence of blanks in the range, leading #DIV/0!

I propose to switch to the array-formula:

{=SUM(IF(LEN(B21:B341),1/COUNTIF(B21:B341,B21:B341)))}

Aladin




[ This Message was edited by: Aladin Akyurek on 2002-03-22 09:05 ]

[ This Message was edited by: Aladin Akyurek on 2002-03-22 09:06 ]
Aladin Akyurek is offline   Reply With Quote
Old Mar 22nd, 2002, 11:11 AM   #9
2182khz
New Member
 
Join Date: Mar 2002
Location: Detroit
Posts: 3
Default

Thank you sirs for you fine and mind expanding help!
The last solution from Aladin indeed works!

*breaks out the manual to readup on arrays*
2182khz is offline   Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is On

Forum Jump


All times are GMT -4. The time now is 01:08 PM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
All contents Copyright 1998-2012 by MrExcel Consulting.
diabetic desserts recipes recipes Diabetic Soups Holiday Pizza Recipes Popcorn Recipes Recipes For Microwave Pasta Recipes Casserole Recipes Chili Recipes Curry Recipes Crockpot Recipes Apples Recipes Bread Recipes Vegetarian Recipes Vegetable recipes Desserts Recipes Appetizers Ethnic Recipes Meat Dishes Barbecue Recipes Sauces Recipes Marinade Recipes Low Fat Recipes Frugal Gourmet Kitchen Classics Recipes On The Grill Cook Books Seafood Recipes Cajun Recipes Breads Low Fat Low Fat Breads Bread Machine Recipes Yeast Breads Quick Breads Fat Free Vegetarian Salad Recipes Eggplant Recipes Radish Recipes Tomato Recipes Jalapeno Recipes Potato Recipes Lettuce Recipes Cabbage Recipes Beans Ambrosia Recipes Biscotti Recipes Desserts Low Fat Cookie Recipes Cheesecake Recipes Cake Recipes Pie Recipes Muffin Recipes Custard Recipes Best Appetizers Appetizers Low Fat Salsa Recipes Dip Recipes International Recipes Afghan Recipes Alaska Recipes French Recipes German Recipes Greek Recipes Italian Recipes Spanish Recipes Thai Recipes Korean Recipes Chinese Recipes Mexican Recipes Indian Recipes Beef Recipes Pork Pork & Ham Pork Butts Pork Chop Recipes Pork Ribs Rulled Pork Poultry Recipes Stews Recipes Ground Beef Barbecue Grill Barbecue Smoker All Purpose Sauce BBQ Sauce Barbecue Sauce Carolina BBQ Sauce Pickle Recipes Marinades Smoking Low Fat Appetizers & Dips Low Fat Breakfast Low Fat Cakes Low Fat Cheesecakes Low Fat Cookies Low Fat Desserts Low Fat Fish & Seafood Low Fat Meats Low Fat Pasta Low Fat Pies Low Fat Salads Low Fat Sandwiches Low Fat Sauces & Condiments Low Fat Sides Low Fat Soups Low Fat Vegetarian Baker's Dozen Taste of Home Recipe Book Bon Appetit Cookbook Blacktie Cookbook Buster Cook Book Cookbook USA Cook Book Cook Book Sara's Cookbook Sara's Cookbook Appetizers and Dips Poultry recipes Diabetic recipes Holiday recipes Miscellaneous recipes 110 recipes 1986 Usenet cookbook 2900 recipes Cyberrealm recipes Great sysops of world Specialty recipes Ceideburg recipes Cheese recipes Chili recipes Fruits recipes Garlic recipes Great chefs of NY Londontowne recipes Raisins recipes Recipes for kids US Food Vegetarian recipes Bread recipes Drinks Meat Dishes Brisket recipes Caribou recipes Chicken recipes Filet mignons recipes Pork recipes Swordfish recipes Turkey recipes Pasta recipes Uncategorized recipes Ethnic recipes Canada recipes English recipes Ethiopia recipes Germany recipes Greece recipes Mexican recipes Philippines recipes Welsh recipes Microwave recipes Soups recipes Vegetable recipes Asparagus recipes Barley recipes Brown rice recipes Lentil recipes Mushrooms recipes Salads recipes Wild rice Desserts recipes Cakes recipes Chocolate recipes Cookies recipes Ice cream recipes