Excel validation dropdown long list - excel

Does excel dropdown validation list have a limit.
Trying to put the list of states but it doesn't show all of them:
Source: Alabama, Alaska, Arizona, Arkansas, California, Colorado, Connecticut, Delaware, District of Columbia, Florida, Georgia, Hawaii, Idaho, Illinois, Indiana, Iowa, Kansas, Kentucky, Louisiana, Maine, Maryland, Massachusetts, Michigan, Minnesota, Mississippi, Missouri, Montana, Nebraska, Nevada, New Hampshire, New Jersey, New Mexico, New York, North Carolina, North Dakota, Ohio, Oklahoma, Oregon, Pennsylvania, Rhode Island, South Carolina, South Dakota, Tennessee, Texas, Utah, Vermont, Virginia, Washington, West Virginia, Wisconsin, Wyoming

Place all 50 States in a column (you can hide the column), then allow a List and select the cells with the States

Put the list in a worksheet and reference that instead of putting the list in manually:
There are limits to the number of items that will show in a data validation drop down list:
The list can show up to show 32,767 items from a list on the worksheet.
If you type the items into the data validation dialog box (a delimited list), the limit is 256 characters, including the separators.
From http://www.contextures.com/xlDataVal08.html#itemlimit

Related

Excel formula for aggregation and filtering

Is it possible to aggregate values on one excel tab and display on another tab?
In addition to that can we also filter on one of the columns as we aggregate?
For example, Sheet1 has 3 columns - (Continent, City, Ignore)
Continent City Ignore
Europe Paris N
Europe London N
Europe Liverpool N
Europe Rome N
Europe Oslo Y
Asia Tokyo N
Asia Osaka N
Asia Dubai N
Asia Bangkok Y
Asia Mumbai N
Africa Cairo Y
I want my Sheet2 to display the number of cities per continent taking into account the "Ignore" flag.
Continent #Cities
Europe 4
Asia 4
Africa 0
Since 3 Cities are marked as Ignore=Y, we don't want to count them.
It came as one of the recommended pivot tables, but I'm trying to build this using excel formulas so I can build on that if needed.
Prefer excel formulas over VBA or Macro.
Using your sample data...
Formula in F2:
=COUNTIFS($A$2:$A$12,E2,$C$2:$C$12,"N")
Drag down...

Excel Pivot table subtotal with element exclusion

I want to add the extra line of Grand Total of the pivot table,
which excludes some element group. Is it possible to do this?
For example, I want to add subtotal of [East excluded New York Total],
is it possible without adding the additional column for grouping purpose from the source data/worksheet?
Because I further want [East + West Total]
and [East excluded New York + West Total]. The approach of adding extra group label columns is not flexible enough as the group subset is not static (i.e., New York sometimes is a subset of East, sometimes not,
for showing subtotal). Thanks.
eg.
East
New York 100
Boston 200
Philadelphia 300
[East excluded New York Total] 500
East Total 600
West
XXX 999
YYY 999
XXX 999
West Total 999
---------------
[East excluded New York + West Total] 999
GrandTotal 9999
Presuming the cities are in Column A and start with A2 and ends wit A5, then resulting cell will be:
=SUMIF(A2:A5, <>"New York", B2:B5)
will do the trick.
Though to be noted, pivot tables were never intended to yield extra rows and it may actively hurt your table structure.
Easiest solution to not get interfering dynamic ranges would be to treat East Coast and Web Coast as seperate Pivot Field Columns instead of Field Rows.
This way, you can apply the formula to entire [#Column]

Dropwdown list from dynamic table

I have a dynamic table containing the following columns:
COUNTRY(String), ACTIVE (Boolean),NAME(String)
An example will be:
COUNTRY(String), ACTIVE (Boolean),NAME(String)
USA, True, Chair
Canada, False, Table
USA, False, Pen
USA, True, Pencil
Canada, True, Pencil
Canada, True, Basket
I want to create a data validation list with the names for every country that are active. The list should be dynamic as the table is constantly being changed.
For the example, the data validation list should check whether the cell containing the country name is Canada or USA and
if USA then: Chair, Pencil / if Canada: Pencil, Basket.
I have resolved this using a three-step organization. The first step is to make a "table" for any growing/shrinking list that will be used for the data validation.
Step 1
List the possible values in columns as a new table. Place the country name at the header row for each column.
A B C D E
1 Country chair USA Canada <----header row
2 USA pencil pencil table
3 Canada table Plato warthog
4 USA warthog
5 Canada tuba
6 USA magic
7 Canada Plato
Select the columns (for instance, D1:E3 in the example) and click Insert > Table.
Check "my data has headers" and click OK.
Select a cell in the newly-formatted column and click Table Tools > Design > Properties > Table Name: ______ and type Countries.
Step 2
Select the column for which you want data validation. Note which cell is active (the cell inside of the selection which you can write to). In the example, it's Cell B2.
Step 3
Under data validation, choose list and type in this equation:
=INDIRECT("Countries[" & A2 & "]")
If the row that's active is row 3, type this in instead:
=INDIRECT("Countries[" & A3 & "]")
This is actually working for me. Try it!

Excel: search two columns against another two columns to return a value fron a third

Got a bit of a pain. So got an interesting issue, basically. Have a long list of entities (200 plus) and I need to match them against a code which I have in another list. So from the entity list, I have the name and country of the entity (Name in column A, country in column D), I need to populate Column F with the code from the other list, or add unknown if a code cant be found.
So, tried to build the query by using the & operator
So =MATCH(A2&D2 to use as key, giving me a value like 'cool companyUNITED KINGDOM'.
In the second list (imported to sheet 2) contains the following columns
Code Name Country
So I want to search an array where Name and country have been combined:
=MATCH(A2&D2,Sheet2!B2:B99999&Sheet2!C2:C99999,0)
I then try to get the index back, so my complete list looks like
=INDEX(Sheet2!A2:C99999, MATCH(Sheet2!A2&Sheet2!D2,Sheet2!B2:B99999&Sheet2!C2:C99999,0))
And all I get back is #Value
Any suggestions
Edit: More infor
So sheet one looks like this (Its column C I need to populate from the code in column A, sheet two)
Entity name Status GIIN Country
Ben Dist Ltd NFFE N/a UNITED KINGDOM
Karamara Sdn Bhd PFFE N/a MALAYSIA
Farbion Trade (Curacao) N.V. LFFI N/a
Tentorim (International) B.V. LFFI N/a NETHERLANDS
Catamo B.V. TLTD N/a NETHERLANDS
Ben Dist Deutschland GmbH FLTD N/a GERMANY
Ben Dist Investments B.V. PFFE N/a NETHERLANDS
Ben Dist Limited TLTD N/a UNITED KINGDOM
Complete Solution Service Limited GLRS N/a UNITED KINGDOM
BDLT S.A. de C.V. TLTD N/a MEXICO
Telsa Telco Services SLTD N/a CHILE
And the second list will look like this
GIIN FINm CountryNm
AAAUG3.99999.SL.764 Asset Plus HSI Fund THAILAND
AABEIL.99999.SL.528 Gresham Capital CLO II B.V. NETHERLANDS
AAB36F.99999.SL.470 Maitland Malta Limited MALTA
AACRQK.99999.SL.756 BBGI GROUP SA SWITZERLAND
AADAD7.99999.SL.528 E-MAC DE 2009-I B.V. NETHERLANDS
AADDBX.99999.SL.060 GWD Limited BERMUDA
AAE9W5.99999.SL.764 Bualuang Money Market RMF THAILAND
AAGH8E.99999.SL.276 Sparda-Bank Baden-Wuerttemberg eG GERMANY
AAGR6U.99999.SL.438 Konsolidationsanstalt LIECHTENSTEIN
AAGWV3.99999.SL.360 BATAVIA PROTEKSI PRIMA 18 INDONESIA
AAGXH0.99999.SL.136 Monarch Capital Partners Ltd CAYMAN ISLANDS
AAHY1V.99999.SL.158 Pingtung County Farmers' Association TAIWAN
AAH0IZ.99999.SL.136 Diversified Absolute Return Fund CAYMAN ISLANDS
I suggest that you use following array formula:
= IFERROR(INDEX(List,SMALL(IF((INDEX(List,,2,1)=A2)*(INDEX(List,,3,1)=D2),ROW(List)-MIN(ROW(List))+1,""),1),1,1),"N/A")
To enter array formula in Windows use Ctrl+Alt+Enter.
On Mac keyboard use Command+Enter.
Then drag the formula downwards.
In this formula I have used named range List, which is equivalent to your Sheet2!$A$2:$C$99999. Named ranges make complicated formulas more readable and flexible.
If you do not want to use named ranges just replace List with Sheet2!$A$2:$C$99999.
=IFERROR(INDEX(Sheet2!$A$2:$C$99999,SMALL(IF((INDEX(Sheet2!$A$2:$C$99999,,2,1)=A2)*(INDEX(Sheet2!$A$2:$C$99999,,3,1)=D2),ROW(Sheet2!$A$2:$C$99999)-MIN(ROW(Sheet2!$A$2:$C$99999))+1,""),1),1,1),"N/A")
It works if your sheets look as follows:

Excel Charts for table with many duplicates

I have a list of names with 1000 entries and maybe 750 unique. There are other attributes, like location and position. Can I create a pivot table that would show me simple stat's like X number of unique people, X number unique in location 1, location 2, location 3, and finally x number of positions in location 1, position 2/location1, position 3/location2...?
Name Location Title
Smith, Bob UK Sales Manager
Smith, Bob UK Plant Manger
Jones, Keith UK Sales Manager
Jones, Keith UK Plant Foreman
White, Derick Denver Sales Manager
Brown, Frank Boston Supply Chain
Black, Jay Denver Sales Manager
Smith, Jeff Denver Sales Manager
Gonzalez, Al UK
Gonzalez, Al UK Staging Area Manager
Bright, Susan Denver Legel Secretary
Bright, Susan Denver Paralegal
Bright, Susan Denver Executive Assistant
Bright, Susan Denver Press Secretary
Alf, Jeff Denver VP, Sales
Green, Burt Boston VP, Sales
Jones, Chuck Denver Plant Foreman
Alten, Cory Denver Sales Manager
Clark, Jerry Boston Plant Foreman
Romo, Tom Denver Sales Manager
You may want to consider using CountifS functions in adjacent columns to the data. For example to count unique people, just create a column (call it column x for this example) and enter =Countif(Column A, A1) and copy down for all the rows. then just enter =countif(Column X, 1) and that should give you the unique names.
You can use CountifS function for more complicated counting logic to answer the other questions.
I have done similar counting of unique entries using pivot tables.
I create a additional column that has a 1 if it is the first occurance of the "key" (ie name). The formula is similar to this: (assume Column A has the "key")
=IF(ROW(A1) = MATCH(A1,A:A,0),1,0)
This formula is then copied down for every row (or if it's a proper table, it's auto copied!)
The idea is that the MATCH returns the row number of the first occurrence of "key". If it is the same as the current row, then count 1. If the values aren't the same, it's a duplicate, so give it a 0 value.
When you then do a pivot table sum on this value, it adds up to the number of unique entries. (ie unique names in a region.)

Resources