Excel formulas can always be very handy, especially when you are stuck with data and need to get something done fast. But how well do you know the spreadsheet formulas?
Discover these 15 extremely powerful excel formulas and save a ton of time next time you open that spreadsheet.
1. Change the case of cell contents – to UPPER, lower, Proper
Boss wants a report of top 100 customers, thankfully you have the data, but the customer names are all in lower cases. Fret not, you can Proper Case cell contents with proper() formula.
Example: Use
proper("pointy haired dilbert")to get Pointy Haired Dilbert
Also try lower() and upper() as well to change excel cell value to lower and UPPER case
2. Clean up textual data with trim, remove trailing spaces
Often when you copy data from other sources, you are bound to get lots of empty spaces next to each cell value. You can clean up cell contents with trim() spreadsheet function.
Example: Use
trim(" copied data ")to get copied data
3. Extract characters from left, right or center of a given text
Need the first 5 letters of that SSN or area code from that phone number? You can command excel to do that with left() function.
Example: Use
left("Hi Beautiful!",2)to get Hi
Also try right(text, no. of chars) and mid(text, start, no. of chars) to get rightmost or middle characters. You can use right(filename,3) to get the extension of a file name 😉
4. Find second, third, fourth element in a list without sorting
We all know that you can use min(), max() to find the smallest and largest numbers in a list. But what if you needed the second smallest number or 3rd largest number in the list? You are right, there is a spreadsheet function to exactly that.
Example: Use
SMALL({10,9,12,14,26,13,4,6,8},3)to get 8

Also try large(list, n) to get the nth largest number in a list.
5. Find out current date, time with a snap
You have a list of customer orders and you want to findout which ones are due for shipping after today. The funny thing is you do this everyday. So instead of entering the date every single day you can use today()
Example: Use
today()to get 08/13/2008 or whatever is today’s date
Also try now() to get current time in date time format. Remember, you can always format these date and times to see them the way you like (for eg. Aug-13, August 13, 2008 instead of 08/13/2008)
6. Convert those lengthy nested if functions to one simple formula with Choose()
Planning to create a gradebook or something using excel, you are bound to write some if() functions, but do you know that you can use choose() when you have more than 2 outcomes for a given condition? As you all know, if(condition, fetch this, or this) returns “fetch this” if the condition is TRUE or “or this” if the condition is FALSE. Learn more about spreadsheet if functions like countif, sumif etc.
Where as choose(m, value1, value2, value3, value4 ...) can return any of the value1,2.., based on the parameter m.
Example: Use
CHOOSE(3,"when","in","doubt","just","choose")to get doubt
Remember, you can always write another formula for each of the n parameters of choose() so that based on input condition (in this case 3), another formula is evaluated.
7. Repetitively print a character in a cell n number of times
You have the ZIP codes of all your customers in a list and planning to upload it to an address label generation tool. The sad part is for some reason, excel thinks zip codes are numbers, so it removed all the trailing zeros on the leftside of the zip code, thus making the 01001 as 1001. Worry not, you can use rept() the extra needed zeros. You can also custom format cell contents to display zip codes, phone numbers, ssn etc.
Example: Use
zipcode & REPT("0",5-LEN(zipcode))to convert zipcode 1001 to 01001
You can use REPT("|",n) to generate micro bar charts in your sheet. Learn more about incell charting.
8. Find out the data type of cell contents
This can be handy when you are working off the data that someone else has created. For example you may want to capitalize if the contents are text, make it 5 characters if its a number and leave it as it is otherwise for certain cell value. Type() does just that, it tells what type of data a cell is containing.
Example: Use
TYPE("Chandoo")to get 2
See the various type return values in the diagram shown right.
9. Round a number to nearest even, odd number
When you are working with data that has fractions / decimals, often you may need to find the nearest integer, even or odd number to the given decimal number. Thankfully excel has the right function for this.
Example: Use
ODD(63.4)to get 65
Also try even() to nearest even number and int() to round given fraction to integer just below it.
Example: Use
EVEN(62.4)to get 64
UseINT(62.99)to get 62
If you need to round off a given fraction to nearest integer you can use round(62.65,0) to get 63.
10. Generate random number between any 2 given numbers
When you need a random number between any two numbers, try randbetween(), it is very useful in cases where you may need random numbers to simulate some behavior in your spreadsheets.
Example: Use
RANDBETWEEN(10,100)may return 47 if you keep trying 😉
11. Convert pounds to KGs, meters to yards and tsps to table spoons
You need not ask Google if you need to convert 156 lbs to kilograms or find out how much 12 tea spoons of olive oil actually means. The hidden convert() function is really versatile and can convert many things to so many other things, except one currency to another, of course.

Example: Use
CONVERT(150,"lbm","kg")to convert 150 lbs to 68.03 kgs.
UseCONVERT(12,"tsp","oz")to findout that 12 tsps is actually 2 ounces.
12. Instantly calculate loan installments using spreadsheet formula
You have your eyes on that beautiful car or beach property, but before visiting the seller / banker to findout of the monthly payment details, you would like to see how much your monthly / biweekly loan payments would be. Thankfully excel has the right formula to divide an amount to equal payment installments over given time period, the pmt() function.

If your loan amount is $125,000,
APR (interest rate per year) is 6%,
loan tenure is 5 years and
payments are made every month, then,Use
PMT(6%/12,5*12,-125000)which tells us that monthly payment is $ 2,416 if you keep trying 😉
Also, if you want to find out how much of each payment is going for principle and how much for the interest component, try using ppmt() and ipmt() functions. As you can guess, even though EMIs or loan installments remain constant, the amount contributed to principle and interest vary each month.
13. What is this week’s number in the current year ?
Often you may need to find out if the current week is 25th week of this year. This is not so difficult to find as it may seem. Again, excel has the right function to do just that.
Example: Use
WEEKNUM(TODAY())will get 33
14. Find out what is the date after 30 working days from today ?
Finding out a future date after 30 days from today is easy, just change the month. But what if you need to know the date thirty working days from now. Don’t use your fingers to do that counting, save them for typing a comment here and use the workday() excel funtion instead. 🙂
Example: Use
WORKDAY(TODAY(),30)tells that Sep 24, 2008 is 30 working days away from today.
If you want to find out number of working days between 2 dates you can use networkdays() function, find out this and a 14 other fun things you can do with excel.
15. With so many functions, how to handle errors
Once you get to the powerful domain of excel functions to simplify your work, you are bound to have incorrect data, missing cells etc. that can make your formulas go kaput. If only there is a way to find out when a formula throws up error, you can handle it. Well, you know what, there is a way to find out if a cell has an error or a proper value. iserror() MS Excel function tells you when a cell has error.
Example: Use
ISERROR(43/0)returns TRUE since 43 divided by zero throws divide by zero error.
Also try ISNA() to findout if a cell has NA error (Not applicable).
Give these functions a try, simplify your work and enjoy 🙂












15 Responses to “Compare 2 Lists Visually and Highlight Matches”
Hi,
I solved this in a little different way.
We have 2 lists, one starts at A1 and other at B1, both are vertical arrays.
First thing is define 2 named ranges, list1 and list2:
list1 refers to "=OFFSET(Sheet1!$A$1;0;0;SUMPRODUCT(--(Sheet1!$A$1:$A$1000""));1)"
list2 refers to "=OFFSET(Sheet1!$A$1;0;0;SUMPRODUCT(--(Sheet1!$B$1:$B$1000""));1)"
this way lists will be dynamically sized when you had or remove elements (you can't have blanks and you can't have more than 1000 elements).
Then I use conditional formatting in column A when this formula is true:
"=NOT(ISERROR(MATCH(A1;list2;0)))"
and "=NOT(ISERROR(MATCH(B1;list1;0)))" to list2.
This way we eliminate the need for auxiliary columns or lists.
Hope you like my way! 😀
Nunes
Simple conditional formatting formula.
Assuming lists vertical lists starting in A1 & B1
To highlight just one column (assume B for example)
Conditional formatting>New Rule>by formula
=MATCH(B1,$A$1:$A$99,0)
Set the cell fill to what ever color you prefer & press OK
To highlight both columns repeat with this formula for cell in column A
=MATCH(A1,$B$1:$B$99,0)
This approach doesn't require named fields or addtl columns
glw
Say I had 1 list in A2:A20 and another in B2:B20.
To format all the items in column A that are repeated in column B I would use the following Conditional Formatting rule.
=IF(ISNA(VLOOKUP(A2,$B$2:$B$20,1,false)),true,false)
All the duplicates are highlighted. It us a very simple example of comparison.
I may be missing something here, but I usually highlight both my lists by holding ctrl eg A1:A20 E10:E40 then choose conditional formatting from the ribbon and then highlight duplicates, and this does it?
Lee, I was perplexed as well. I do the same thing you do with the conditional formating. A drag and click to highlight range and choose highlight duplicates does the trick for me.
I believe these methods are to check if an item from one list also appears in the other list. So if an item mentioned many times in one list if also mentioned in the other list or not.
The Conditional Formatting highlight duplicates feature will do this, but it will also highlight an item if it appears multiple times in the one column or list.
Hi, I would just like to know (if you are willing to share) which image editing program you use to make your image like above, like they are torn apart from bottom? I've been looking for long.
@i48998
Chandoo is on Holidays, but Chandoo uses Paint.Net
Paint.net is a free download available at http://www.paint.net/
.
I use CorelDraw/PhotoPaint
.
We both use the Snipping Tool (a freebe with Win Vista/10)
.
We both use Camtasia for doing screen captures to make animated GIFs where you see animation.
Here is how I would accomplish
(1) Define Names: List_1, List_2
(2) =ISNA(MATCH(D4,List_2,0))-1 (Conditional Format formula List_1)
(3) =ISNA(MATCH(D4,List_1,0))-1 (Conditional Format formula List_2)
ISNA will return 1 if NO Match and O if Match by adding a -1 will make: NO Match 0 and Match a -1 which is True
Hi all
this my first Post here
i think we can take Unique List for tow list to know what is not Duplicate By this Array formula
=IFERROR(INDEX($D$6:$D$33,SMALL(IF(ISERROR(MATCH($D$6:$D$33,$B$6:$B$33,0)),ROW($D$6:$D$33)-ROW($D$6)+1),ROWS($J$5:J5))),"")
and this one for Duplicate Value
=IFERROR(INDEX($D$6:$D$33,SMALL(IF(ISNUMBER(MATCH($D$6:$D$33,$B$6:$B$33,0)),ROW($D$6:$D$33)-ROW($D$6)+1),ROWS($J$5:J5))),"")
Don't forget to Enter This Formula by Pressing Ctrl+Shift+Enter
without wanting to ruthlessly self promote here, I do have an addin that does neatly compare two ranges, not just in columns, so you might want to check that out.
Having said that this is a pretty neat solution if you dont want to be going down the VBA or purchase route. I like it
however, could you not do something with the remove duplicates feature in Excel 2010 and then compare the resulting data set?
Hi, Chandoo! I've found yesterday your Excel website... What can I say? It's just awesome, Excellent. Being a developer for 30 years, more than 15 with Office products, and wow!, how many things I discovered in a couple of hours, and what pretty resolved.
I decided to take the long path of the newbies and read all your examples and write down by myself all of them, and when I arrived to this (the comparison of two lists) I think I've found a problem:
a) in "Step 4: Apply conditional formatting to Second List - Use the same logic, but this time the rule becomes =COUNTIF(count1s,$H6)" it should say "Step 4: Apply conditional formatting to Second List - Use the same logic, but this time the rule becomes =COUNTIF(count1s,$H6)>0", but this is a typing error that I believe all of us here might have discovered and corrected
b) the very problem: I wrote down two different lists, in different ranges, and with different number of elements, I specified the equivalent conditional formats, et non voilá!, I didn't get what expected. So I downloaded your example book, I checked range names, formulaes, conditional formats and all OK. So I copied -just values- from my book to yours, and I still couldn't achieve the goal.
I'm using Excel 2010 in spanish, I'm from Buenos Aires (Argentina), and my book is at your disposition whenever you considerate it appropiate.
Thanks in advance for your time, and again my congratulations for your work here.
Best regards.
SirJB7
Comparison of 2 lists visually with highlights
Author: SirJB7 / Date: 11-Dic-2011
Pros: no duplicated tables, no matrix formulaes, no named ranges, no VBA code, just conditional formatting
Cons: not found yet, comments and observations welcome
Features:
a) standard problem: highlights in orange/yellow elements existing in the other list
b) optimized problem: idem a) plus highlights in red/violet first occurrence of elements existing in the other list
Sheet contents:
a) conditional format, 1 rule per list (2 methods used)
A1:A20, first list
B1:B20, second list
a1) range A1:A20, condition =NO(ESERROR(BUSCARV(A1;B$1:B$20;1;FALSO))), format Orange ---> in english: =NOT(ISERROR(VLOOKUP(A1,B$1:B$20,1,FALSE)))
a2) range B1:B20, condition =CONTAR.SI(A$1:A$20;B1)>0, format Yellow ---> in english: =COUNTIF(A$1:A$20,B1)>0
b) conditional format, 2 rules per list (2 methods used)
D1:D20, first list
E1:E20, second list
b1) range E1:E20, condition 1 =Y(NO(ESERROR(BUSCARV(D1;E$1:E$20;1;FALSO)));COINCIDIR(D1;D$1:D$20;0)=FILA(D1)), format Red ---> in english: =AND(NOT(ISERROR(VLOOKUP(D1,E$1:E$20,1,FALSE))),MATCH(D1,D$1:D$20,0)=ROW(D1))
same range, condition 2 and format 2, same as a1)
b2) range E1:E20, condition =Y(CONTAR.SI(D$1:D$20;E1)>0;COINCIDIR(E1;E$1:E$20;0)=FILA(E1)), format Violet ---> in english: =AND(COUNTIF(D$1:D$20,E1)>0,MATCH(E1,E$1:E$20,0)=ROW(E1))
same range, condition 2 and format 2, same as a2)
Personally I like the a2) and b2) solutions, I think the formulaes are prettier.
I still don't know the rules of this website and forum, but it any precept is infringed I'm willing to share the workbook with the solution. If it breaks a rule, I apologize and promise that won't happen again.
Best regards for all!
Dear All i have a complicated situation...
1. I have two sheets of data Sheet1 and Sheet2 (from various sources) - Both of these contain data matching and Not matching as well..
2. Now for me i need to build an excel where in i need to get sheet 3 with values that are present in a column of Sheet 1.
What ever Sheet 1 doesn't have i dont want those rows from sheet 2 to be populated into Sheet3.
Can any one help me out.
Hi Team
The above example is to compare partial name from 2 different columns.
If I want to cross check it in a single column. I have both correct and partial correct/match entries in a column. Is there any way I can find both the entries in the column.
Regards