ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Worksheet Functions (https://www.excelbanter.com/excel-worksheet-functions/)
-   -   sorting data by a certain attribute (https://www.excelbanter.com/excel-worksheet-functions/80966-sorting-data-certain-attribute.html)

ebt

sorting data by a certain attribute
 

I am having trouble coming up with a way to do this, any help would be
greatly appreciated:

I have a list of 500 names in column A, in column B I have a series of
attributes (text values, which are separated by commas). In column C
I'd like to take the dozen or so individuals with a specific attribute
listed in column B and list them from C2:C13 (I am only finding
functions that would list these names in the same row they appear in
column A).


Example of how I want this to look (actual doc includes a column for
each attribute):

Names Attributes MI RI
Banks MI, RI, OF Banks Banks
Davis C Smith Jones
Jones RI Walsh Smith
Smith MI, RI, C
Thomas C
Walsh MI


--
ebt
------------------------------------------------------------------------
ebt's Profile: http://www.excelforum.com/member.php...fo&userid=5575
View this thread: http://www.excelforum.com/showthread...hreadid=528832


Debra Dalgleish

sorting data by a certain attribute
 
You could use an Advanced Filter to extract names with a specific
attribute, and update the lists by running the Advanced Filter again,
manually or programmatically.

Another approach would be to list one attribute per row, e.g.:
Banks MI
Banks RI
Banks OF

Then, create a pivot table with Attribute and Name in the row area, and
count of Name in the data area. There's information on pivot tables in
Excel's Help, and he

http://www.contextures.com/xlPivot01.html



ebt wrote:
I am having trouble coming up with a way to do this, any help would be
greatly appreciated:

I have a list of 500 names in column A, in column B I have a series of
attributes (text values, which are separated by commas). In column C
I'd like to take the dozen or so individuals with a specific attribute
listed in column B and list them from C2:C13 (I am only finding
functions that would list these names in the same row they appear in
column A).


Example of how I want this to look (actual doc includes a column for
each attribute):

Names Attributes MI RI
Banks MI, RI, OF Banks Banks
Davis C Smith Jones
Jones RI Walsh Smith
Smith MI, RI, C
Thomas C
Walsh MI




--
Debra Dalgleish
Contextures
http://www.contextures.com/tiptech.html


Herbert Seidenberg

sorting data by a certain attribute
 
Here is a solution with formulas, R1C1 Ref Style and Advanced Filter.
Select the attributes and do
Data Text to Column
Delimited
Check space, comma
Treat consecutive limiters as one
With headers and other addittions, your data might then look like this:
Cust
..
Banks MI RI OF
Davis Cn
Jones RI
Smith MI RI Cn
Thomas Cn MI
Walsh MI

Select the range that includes the header <Cust,
a cell with a period (or a space) and 6 data cells and
Insert Name Create Top Row
Select the 6 x 3 array of attributes and
Insert Name Define Names in Workbook: array1
Also define these names:
rown Refers To: =ROW(INDEX(C1,1):INDEX(C1,ROWS(array1)))
coln Refers To: =COLUMN(INDEX(R1,1):INDEX(R1,COLUMNS(array1)))
natts Refers To: =ROW(INDEX(C1,1):INDEX(C1,COUNTA(array1)))
roco Refers To: =LARGE((10*rown+coln)*NOT(ISBLANK(array1)),natts)

To extract the unique attributes in array1, use this setup

Alist alist 1 2 3 4 mcnts
MI MI Walsh Thomas Smith Banks
MI Cn Thomas Smith Davis .
Cn RI Smith Jones Banks .
Cn OF Banks . . .
RI
MI
RI
Cn
OF
RI
MI

<Alist consists of 11 entries ( 11=COUNTA(array1))
Select all 11 cells and enter this array formula with Cntrl+Shift+Enter
=INDEX(array1,LEFT(roco),RIGHT(roco))
Create a second <alist of unique values with
Advanced Filter and name it <alist.
Create the horizontal series from 1 to 4
(4=MAX(COUNTIF(array1,array1)))
and name it <mcnts.
At the intersection of alist=MI and mcnts=1, enter this array formula
=INDEX(Cust,LARGE((array1=alist R)*rown,mcnts C)+1)
Copy this cell to the rest of the array.
Do not select the whole array or more than one cell when hitting
Cntrl+Shift+Enter.
If your list of <Cust is in the double digits,
then the 10 in <roco has to be increased to 1000 and
LEFT/RIGHT(roco) changed to LEFT/RIGHT(roco,2)
The array can be be rotated to appear as in your post with
Copy Paste Special Values, Transpose
Reversion to A1 Reference Style can be done now.



All times are GMT +1. The time now is 09:45 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com