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.

Translate XLOOKUP and XMATCH to PROCX and CORRESPX in Portuguese
That's it: PROCX and CORRESPX in Portuguese versions of Excel to keep the same standard of the other functions.
🇧🇷🇵🇹🇦🇴🇲🇿🇨🇻
294 votesThanks for posting this issue and up voting it! I’ve passed this along to our localization team. – Joe McDaid

Release XLOOKUP to the world!
Why only release to 15 percent of users?! Let the world have XLOOKUP and XMATCH now()!
84 votes 
Please create a FILTERJSON (FILTROJSON) worksheet function
Hi. How about creating a FILTERJSON function? It would make our life easier allowing us to get JSON data with less workarounds.
Oi. Que tal criarem uma função de planilha FILTROJSON? Tornaria a nossa vida mais fácil nos permitindo obter dados em formato JSON com menos soluções alternativas.
🇺🇸 English: FILTERXML > FILTERJSON
🇨🇿 Czech: FILTERXML > FILTERJSON
🇩🇰 Danish: FILTRERXML > FILTRERJSON
🇳🇱 Dutch: XML.FILTEREN > JSON.FILTEREN
🇫🇮 Finnish: SUODATA.XML > SUODATA.JSON
🇫🇷 French: FILTRE.XML > FILTRE.JSON
🇩🇪 German: XMLFILTERN > JSONFILTERN
🇬🇷 Greek: FILTERXML > FILTERJSON
🇭🇺 Hungarian: XMLSZŰRÉS > JSONSZŰRÉS
🇮🇹 Italian: FILTRO.XML > FILTRO.JSON
🇳🇴 Norwegian:…59 votes 
"Excel found a problem with one or more formula references"  Please tell me where!
One of my least favorite messages that Excel provides is:
"Excel found a problem with one or more formula references in this worksheet. Check that the cell references, range names, defined names, and links to other workbooks in your formulas are all correct."
But I can never find the bad references. It's usually buried somewhere very deep, in a chart series formula, or in a name definition, or who knows where else.
If Excel finds a problem, please Excel, tell us where it is.
118 votes 
SUMCOLS and SUMROWS functions for Dynamic Arrays
Create new functions that SUM each column in a dynamic array (SUMCOLS(Ref#)) to produce a row of totals, and SUM each row to produce a column of totals (SUMROWS(Ref#))
Also COUNTCOLS, COUNTROWS, AVERAGECOLS, AVERAGEROWS, but these are less important than SUMCOLS & SUMROWS.
22 votes 
Add a MONTHDIF function
The formula should work like the YEARFRAC function. It should calculate partial months on either end of the dates. So starting 1/15/20 should calculate as 16/31 days or 0.516.. months, and ending at 6/5/20 should calculate as 25/30 day or 0.8333.. months. Currently, I have to use a ridiculously long formula to achieve this.
38 votes 
SORT function with sort_order argument 0 as random
Hi. You could create a new option 0 as the sort_order argument of the SORT function. Today we have 1 for Ascending, 1 for Descending and then we would have 0 representing shuffle, random order.
10 votes 
XLOOKUP to return an array of ranges
Currently XLOOKUP can return an array of return values, given an array of search values, OR a range corresponding to a single search value. Like other functions, it does not return an array of ranges but, rather, truncates the calculation.
This may have been acceptable in the past when the expectation was to copy formulas across to return values that logically form an array. As dynamic arrays receive increasing use, the expectation will change and the failure of a range to spill will be far more problematic.
6 votes 
[Excel Currency Conversion Function] add Tezos XTZ (Cryptocurrency)
Please add support for Tezos in this function.
Tezos is very popular and provides formal verification for SmartContracts, onchainGovernance and it is the first Blockchain which is amendable (without the need of so called "Hardforks"). Ticker symbol is $XTZ.48 votes 
SUBSTITUTES function supporting arrays of "find" and "replace" parameters
From time to time, users need to remove multiple characters from a string. For example, you might want to remove all punctuation, or all accented characters.
Right now, you have to do that with a lengthy nested formula using the SUBSTITUTE function. Such formulas are hard to read and challenging for a novice to debug. Or you could write a VBA userdefined function that performs each of the substitutions for you.
The better approach would be a SUBSTITUTES function that works like SUBSTITUTE but accepts an array (or range of cells) for the Find parameter, and possibly also for the…
8 votes 
Convert Dynamic Arrays into Tables
The new Dynamic Arrays make possible to automatically fill down formulas. Tables can also fill down formulas. Microsoft Excel Team could make both features be compatible so we could convert Dynamic Arrays into Tables making them expand and shrink according to the main formula.
74 votes 
vlookup case sensitive
very simple,VLOOKUPs are case insensitive, VLOOKUPS should be case sensitive. One use case are Salesforce reports. They produce 15 character Ids that require case sensitivity functionality in order lookup against.
6 votes 
Have a date function that is shows the date of when a data point was entered
We'd like to have a function in which we could see the date of when a data point was entered into the system. Like that we wouldn't have to enter the date manually every time we entered a data point into the spreadsheet. it would be like an if statment, example( =IF(B3<>" ",DateOfEntry()," ")) the function itself would be the "DateOfEntry()" the issue we have with Today() is that it updates every day and therefore every time we enter the spreadsheet the date information is updated to the current date and we arent able to have proper tracking of the…
17 votes 
COLUMNA() returns the letter(s) where as COLUMN() returns a number
column() is great, as usually we want the column NUMBER
BUT when you want the column LETTER(s), something like
COLUMNA()
could return it.
I know you can use
=SUBSTITUTE(ADDRESS(1,COLUMN(A1),4),"1","")
but it's pretty longwinded...to clarify
=COLUMN(AB1) returns 28
=COLUMNA(AB1) returns AB6 votes 
DONT'T CHANGE MY FORMULA!!!!!!!
How about keeping the formula intact, returning a #REF result and NOT editing the formula with a #REF comment. This stupid idea prevents one from following the formula back and evaluating what the error is, or what cell it's referencing. Who ever thought of doing this should have some training! If one receives a spreadsheet developed by someone else, they may not know how the formulas work/reference, but leaving the formula intact gives the opportunity to understand what the result should be. CHANGING the formula should NEVER be an automatic option by the software!!!!!
4 votes 
New Function to replicate @XINDEX (Lotus 123)
Request to replicate the fantastic Lotus 123 @XINDEX function:
@XINDEX(range;columnheading;rowheading;[worksheetheading])
Returns the contents of a cell located at the intersection specified by columnheading, rowheading, and worksheetheading.I currently have to do this "manually" by nesting two =MATCH() inside an =INDEX()
=INDEX(range,MATCH(C$12,$B$2:$B$9,0),MATCH($B13,$B$2:$I$2,0))
I have created a UDF too but its VERY slow on large RANGES !!  so a hardcoded, genuine =XINDEX would be a massive improvementFunction Xindex(Rng As Range, ColVal As Variant, RowVal As Variant) As Variant
Dim FndCol As Range, FndRow As Range
Set FndCol = Rng.Columns(1).Find(ColVal, , , xlWhole, , , False, , False)
Set FndRow =…3 votes 
Text to Formula
A formula to convert text to a formula; which is essentially the exact opposite of the FORMULATEXT function, or in a way, what the INDIRECT function does with cell references but with formulas.
9 votes 
1 vote

COUNT.DISTINCT Values
Proposal for a builtin function for: Count distinct/unique values in a range
There might be a dedicated function for counting distinct values in a specific range.
Currently the following function is a solution:
=SUMPRODUCT(1/COUNTIF([RANGE],[RANGE]))However beginnerlevel users would like probably a predefined parametric function, sg like this:
=COUNT.DISTINCT([RANGE])Thank you.
61 votes 
Add new function for dynamic array like SQL "UNION"
With the new functions added by Microsoft called "dynamic arrays", SQLlike functions can be easily implemented.
It would be useful to add a "UNION" function to dynamically queue tables or areas of equal column widths into a new dynamic array.For example, "Tab1 " with 10 lines, "Tab2" with 15 lines... UNION(Tab1;Tab2) to create a new dynamic array consisting of 25 lines
3 votes
 Don't see your idea?