Excel for Windows (Desktop Application)
Welcome to the Excel for Windows (Desktop Application) feedback forum! This is the place for users to send us suggestions and ideas on how to improve. If you think you have found a bug, please send us feedback inapp instead! To do so, please click “File”, then “Feedback”, then “Send a Frown” in Excel. This way, we will get detailed information that will help us better diagnose the problem.
To help us build the best version of Excel ever, we have partnered with UserVoice, a thirdparty service, to create this site to hear your suggestions and ideas for the next version of Excel. Your use of the portal and your submission is subject to the UserVoice Terms of Service & Privacy Policy, including the license terms. Please do not send any novel or patentable ideas, copyrighted materials, samples or demos for which you do not want to grant a license to Microsoft.

Sheetside Split function
VBA has a Split function that returns a string array consisting of the pieces of the string parameter after cutting it at a given delimiter. It would be nice to have it available on the sheet side of Excel.
It could be used for easy string parsing when paired with INDEX without having to, say, come up with a formula that takes the string between the 3rd and 4th ", ". Just check out how hard that can be: http://www.ozgrid.com/Excel/extractwords.htm.
69 votes 
Make a simple TIMESTAMP fucntion so you don't have to use VBA or formulas with circular references.
There doesn't seem to be a simple way to create a static time stamp that is created when data is entered and/or changed in another cell. Both methods I know require a formula which can create a circular reference, or using VBA.
10 votes 
UNION and INTERSECT functions
Let A and B be ranges.
Current notation:
Union: (A,B)
Intersection: A BFor purposes of clarity, these operators should be given corresponding functions:
Union: UNION(A,B)
Intersection: INTERSECT(A,B)Even VBA has Union and Intersect functions.
6 votes 
What about including functions MEDIANIF, MEDIANIFS that filter data as do SUMIF and SUMIFS
(20160708 Dan [MS]: updated idea to remove AVERAGEIF, AVERAGEIFS as those are already in the product)
8 votes 
Adding a native interpolation function in Excel
Interpolation (even a simple linear interpolation) would be a great native function for Excel to have. Something like INTERPOLATE(KnownXRange,KnownYRange, NewX) would be fantastic for anyone who ever has to do this
The current workaround looks something like this:
=FORECAST(NewX,OFFSET(KnownY,MATCH(NewX,KnownX,1)1,0,2), OFFSET(KnownX,MATCH(NewX,KnownX,1)1,0,2))
75 votesThanks for the suggestion, and thanks for showing how you’re using the FORECAST as a workaround. We’ll consider this request along with all the other ideas here and prioritize it according to the votes – so please keep voting if you want to see the priority raised!
Best,
John [MS XL] 
Allow proper handling and mathematics of datetime and datetime2 values from MSSQL
Why must it be so difficult to get the number of milliseconds between ISO formats like '20161003 01:16:39.247' and '20161003 01:16:39.357'?
"0.5 is noon" is also inconsistent with other MS products. Please provide an alternative calculation set that is more in line with common expectation.
This was typed nicer with better examples and more patience, but the "sign in to post" dumped all my text and I am too irritated now to type it all again.
3 votes 
Make DEC2HEX, DEC2BIN and the rest work better. Only nine bits?!
Why do DEC2HEX, DEC2BIN, etc. have the limits they do? It's been a while since binary numbers were limited to nine bits! I have workarounds, (like use DEC2HEX first, then characterbycharacter apply HEX2BIN), but this is inelegant.
8 votes 
Give us a proper ITERATION or INSTANCE function for duplicates
In many cases we need to find the Nth number of a duplicate. There are funky workarounds with complicated formulas, and currently no simple way to do this. I would like to propose a function to return the Nth instance of a value found in a specified range. It would return a range, like the INDEX function does now, which would make it extremely powerful and simplify many existing formulas.
I don't care about the name, so the best I could think of was ITERATION or INSTANCE, but I'm sure someone could find other clever names as well.
I imagine…
26 votes 
Add amount to the CONVERT function
Amount is an important quantity in chemistry and is commonly measured in moles (mol) and its SIprefixed variants. After all, mol is an SI unit.
Below is an example application where converting amount would be useful:
Given the molar mass (g/mol) of a solute and the target volume (mL) and target concentration (μM = μmol/L) of the final stock solution, find the mass (mg) of solute to weigh out to create the solution.In addition to moles and its SIprefixed variants, amount can also be measured as pairs, dozens, the number of individual items, etc.
For example, CONVERT(1,"mol","item") should return…
3 votes 
Add an EVALUATE() function to interpret a string as a formula. E.g. EVALUATE("2+2") would return 4.
This function already exists in VBA and allows for building formulas using text operations.
6 votes 
Have a lock for formulas.
Have a lock for formulas so that you can not accidently delete when you want to delete data
9 votes 
Colour cell references in other worksheets than the current one.
When clicking into a formula, the referenced cells that are in the current worksheet are highlighted in different colours. However, if the formula refers to cells in other worksheets, the cells in these worksheets are not highlighted, so that one has to search the cells manual.
3 votes 
Please can we have an ifvalid() / ifNOTerror() function?
Similar to the iferror() function, this would enable certain logic to proceed if a formula returns a valid result.
For example, say I want to count the number of people with special requirements based on a cell where "special requirement" could be anywhere in the text, then find("special requirement",A1) will give me a number where "special requirement" exists and an error where it doesn't.
ifvalid(find("special requirement",A1)) would give TRUE (or 1) if a valid result is returned.
I could write iferror(find("special requirement",A1)/find("special requirement",A1),0); but this is very inelegant, especially if the formula is more complicated.2 votes 
Add a MATCHIFS formula
Many power users and lightweight users alike have faced the situation where they need to find a row based on multiple criteria. E.g. find the row where column A = "John" and column B = "Doe". MATCHIF doesn't work on this unless you add a calculated column which concatenates the two, but that bloats and clutters the spreadsheet and increases risk of errors.
SUMIFS and COUNTIFS are wonderful formulas. A simple MATCHIFS formula which works similarly would solve the problem elegantly.
21 votes 
Please enter the Spearsman's correlation into functions
Please add the Spearsman's correlation formula as a function into Excel.
Anyone who's doing correlation and similar quantitative analysis will appreciate this.
Kind regards
9 votes 
Relative sheet references and sheet offset references
It would be cool to have relative sheet references
=A1 + [one sheet to the left]!A1 + [two sheets to the right]!A1Offset could get a sister function that works like this
=sheetoffset( rows, columns, sheets, [height], [width], [sheets])The optional [sheets] parameter could be used in 3D references.
4 votes 
Define userdefined functions from the Name Manager
Sometimes, a userdefined function is not so complicated that it requires VBA and thus requires us to ditch the XLSX format. We should be able to define our own functions in the Name Manager.
For example:
EXACTMATCHRANGE(a,b,c,d) = INDEX(d,MATCH(a,c,0)):INDEX(d,MATCH(b,c,0))
NEWVLOOKUP(a,b,c,d) = OFFSET(INDEX(b,MATCH(a,b,d)),0,c)
YESTERDAY() = TODAY()1
XNOR(a,b,c,...) = NOT(XOR(a,b,c,...))
FIRSTMONDAY(y,m) = DATE(y,m,7)WEEKDAY(DATE(y,m,7),3)
SHEETNAME(ref) = =MID(CELL("filename",ref),FIND("]",CELL("filename",ref))+1,255)
LASTWORD(s) = RIGHT(s,LEN(s)FIND(" ",s))
REFADDRESS(a,b,c,d) = ADDRESS(ROW(a),COLUMN(a),b,c,d)
SHORTCIRCUITAND(a,b,c,...) = IF(a,IF(b,IF(c,...)))
RMS(a,b,c,...) = SQRT(SUMSQ(a,b,c,...))
RANDBETWEENFLOAT(a,b) = RANDBETWEEN(a,b1)+RAND()
You get the idea.
38 votes 
We could use a Data Validation List option that contemplates Unique Items Only.
The solution for creating data validation lists for unique items is laborious and complex. Several websites and videos exhibit such solutions, like these  http://www.mrexcel.com/forum/excelquestions/942043datavalidationlist.html#post4525538
8 votes 
sumproductif
This would replicate the following array formula setup.
{=SumProduct(If(logicaltest,[valueiftrue],[valueiffalse]),If(logicaltest,[valueiftrue],[valueiffalse])}SumProductIf(array1,criteriaarray1,array2,criteriaarray2,array3,criteria_array3,etc).
2 votes 
Add an IFCOND() function
similar to IFERROR, add a function that only evaluates second argument if first argument not met, like
=IFCOND([Formula],">5",5)
instead of
=IF([Formula]>5,5,[Formula])
This would make a lot of formulas much shorter and also improve execution time, as it would only have to evaluate [Function] once instead of twice if the condition is not met.
64 votes
 Don't see your idea?