Last night I got an email from Joshua, one of our readers with the subject – Hard Excel problem. Hard?!?, at this stage of summer, the hard problems seem to be (in no particular order),
- Lack of good quality mangoes to eat
- Intense heat and humidity
- Lack of good quality mangoes to eat
Yes, I like mangoes.
Any how, back to Joshua’s email, So I got curious and read it. He is facing an interestingproblem.
I have a very difficult inquiry I am hoping you might be able to solve…
Is there a formula (i.e., without using VBA) that will look at another columns values and provide a new sequential number (i.e., reordered) when the value changes; however, keep the same sequential number for the duplicates?
Below is a table with two columns. […] I now need to rank order those cluster groups. Since cluster 12 appears first it would get a value of ‘1’ and all of the cluster 12’s should now be a ‘1’. Since cluster 4 appears next it would get a rank of 2, etc…

Well, it is an interesting problem for sure. But hard problem, it isn’t. For really hard problems, refer to my list above.
So how to generate the sequence numbers?
Logic: If a value is already listed, we fetch corresponding sequence number. Else, we generate a new sequence number.
Implementation: Simple, we use VLOOKUP.
Assuming the cluster values are in column B, from B4 onwards, in C4, write
=IFERROR(VLOOKUP(B4,$B$3:C3,2,FALSE), SUM(MAX($C$3:C3),1))
Let’s examine the formula.
VLOOKUP(B4,$B$3:C3,2,FALSE) portion: This one looks value in column B and tries to find corresponding sequence value in column C.
SUM(MAX($C$3:C3),1) portion: Gives us next sequence number
IFERROR(VLOOKUP(…), SUM(…)) portion: This does the magic of choosing either existing sequence number or generating a new one.
For more, read about VLOOKUP and IFERROR formulas.

Sequence number generation – Example spreadsheet
Play with the sequence number generation spreadsheet embedded below or Click here to grab a copy of the file.
How would you generate the sequence numbers?
Its your turn to take a crack at the hard problem. How would you solve it? Go ahead and share your answers in the comments.
More hard problems – solved:
Hard problems are not new at Chandoo.org. We take lob vlookups and sumproducts regularly to crack them. Here are few examples:
















10 Responses to “Multiple Find Replace with Power Query List.Accumulate()”
Note: The text-formula above miss a -1. The video is correct.
😀 sorry, I made the exact same mistake as you did - initially - in the video. {0..3} is one thing, and Table.RowCount(replacements) -->3 items ={0,1,2} is another thing.
1st question : you've created a new column to put the replacements in. how ca we replace in the original column without creating a new one ?
2nd question : how can we replace the value in the entire cell and not only the text (Using ReplaceValue instead of text.Replace) ?
Thanks you in advance
Chandoo, I would be very interested to have your answers in both Yassine's questions!
Thank you for sharing,
Vassilis
Thank you for this! I was just doing an assignment where I was having to replace words with other words in my Excel sheet. We are starting with the basics in my class, so I know I don't have a huge list that I would need to find and replace, but this is something that could be useful down the road for me!
Hi
This is nearly perfect for my needs thank you, however I would like just the "replace" to be the result if possible please, I have tried in vain adjusting the formula without success.
Thank you in advance
Thank you! Awesome tip, and very flexible, too.
My find/replace values were in non-adjacent columns of a table containing a bunch of other data. Worked prefectly and I am now a tiny bit less clueless.
Hi!!!
I have the same question that Yassine did.
I need to replace the values in the same column. I don't want to create a new column e then have to remove the old column.
How could I could that?
That's a real fun article. It inspired me to delve deeper into the topic of List.Accumulate. I can see how the function works, but it takes an additional step to imagine how one can use it for more complex applications.
Your example also made it into my article, together with some other use-cases. Would be great to get your opinion on which other areas you would include in the article.
Let me drop the link to the page so others can too find it for further reading: https://gorilla.bi/power-query/list-accumulate/
Expression.Error: The name 'replacements' wasn't recognized. Make sure it's spelled correctly.