In high school...
...I used to solve mathematical equations...
...where I have the result of the equation...
..but donβt have the input value.
So, if you think about to solve the same kind of problems in Excel, you have a specific tool which can help you.
Goal Seek
Its basic idea is to find the input value which a formula needs to get that result.
In simple words, if you know what actual result value you want, you can use goal seek to find the best input value for getting it.
For example:
Letβs say you need to borrow some money from your friend.
You know how much money you need, how long you want to take to pay off the loan, and how much you can pay each month.
You can use goal seek to calculate the interest rate you will need to secure with your friend.
There is n number of complex problems which you can solve with goal seek.
So today, in this post, youβll learn how to use goal seek in Excel, how it works and what are the important points you need to take care.
Let's get started.
How to Open Goal Seek
To open goal seek use one of these two methods.
- Go to Data Tab β What If Analysis β Goal Seek.
- Use the shortcut key Alt + T + G.
You can use these methods to activate goal seek in Microsoft Excel 2007 to 2016 versions.
Components of Goal Seek Function
When you open goal seek, youβll get a small pop-up to input data. Basically, it has three required components.
- Set Cell: Cell in which you want the desired result. Make sure, the cell you are referring here has a formula in it.
- To Value: Value you want as a result.
- By Changing Cell: Cell in which you want alteration to come up with the result equals to the βTo Valueβ. Make sure, the cell you are referring here is used in the formula in the cell which is referred in βSet Cellβ.
Solving a Problem in Excel with Goal Seek
Imagine youβre working in a company who is trying to get a tender order through quoting the lowest price.
For this, you need to prepare a price structure in which your landing price (to the customer) should be $1000.
Whereas your present final price is $1089.9.
If you want to do it manually you have two options.
- Perform a back calculation where you have to deduct all the taxes and charges from the landing price ($1000) to come to the base price.
- Or, you have to tweak in your base price to get to the desired final price.
Itβs not as easy as it sounds but goal seek can be a game changer here.
Download this file from here and follow the below steps.
- When you open goal seek you will get a window like this.
- Now, you need to input following values.
- Click on the βSet Valueβ and refer it to the cell having landing price.
- Click on the βTo Valueβ and enter the value you want as a result, in the cell having landing price.
- In the end, click on the βBy Changing Cellβ and refer it to the cell having base price.
- Click OK.
- Goal seek will do something like this with your spreadsheet.
How does it work
Now, if you check base price cell, it values is changed to $925 and with this, your landing price is changed to $1000.
Your base has changed by goal seek using a hit and trial method. But, goal seek is pretty quick in this and you canβt see the entire process.
Important Points about Goal Seek
These are few points need to be kept in mind while using goal seek.
- A cell which is used as set cell must contain a formula which is dependent on cell βBy Changing Cellβ.
- Goal Seek use iteration method to reach the target value which you mention in βTo Valueβ. You can adjust its iteration from File-> Options -> Formulas (it can increase its accuracy level).
- Sometimes Excel will not able to give you the desired result and pop up a message that βmay not have found a solutionβ. In that situation, you can enter a value closer to your result and try again ($999.95 instead of $1000). Also, make sure to check above two pointers.
- Goal seek is only able to work with single cell input value at one time.
Use Goal Seek with VBA Code
You can enjoy your coffee while working with Excelβs goal seek command. Hope you donβt mind if you can add some extra chocolate in it using VBA.
Yes, you are right, you can use goal seek with VBA.
expression .GoalSeek(Goal, ChangingCell)
- Expression: It must be a cell in which you want the desired result.
- Goal: Desired result which we want to return as a result.
- Changing Cell: Cell in which changes require for achieving result value.
Here is a macro code which you can use.
Sub GoalSeekVBA()
Dim Target As Long
On Error GoTo Errorhandler
Target = InputBox("Enter the required value", "Enter Value")
Worksheets("Goal_Seek").Activate
With ActiveSheet.Range("C7")
.GoalSeek _Goal:=Target, _
ChangingCell:=Range("C2")
End With
Exit Sub
Errorhandler:
MsgBox ("Sorry, value is not valid.")
End Sub
Download this sample file from here to learn more.
Conclusion
As I said, if you try to find input value by applying manual method you need to spend a lot of time or create a formula to perform a back calculation.
But by using goal seek, you can do this in a single click. It will do all the complex calculations for you in a second. The best part is, you can use it with VBA as well. And, I hope this will help you get better at Excel.
Quick Note: Itβs one of those Excel Tips that can help to get better at Basic Excel Skills.
Now tell me one thing. Do you have any complex calculation to solve with goal seek? Please share with me in the comment section, Iβd love to hear from you.
And, please donβt forget to share this tip with your friends.
About the Author
Puneet is using Excel since his college days. He helped thousands of people to understand the power of the spreadsheets and learn Microsoft Excel. You can ο¬nd him online, tweeting about Excel, on a running track, or sometimes hiking up a mountain.
Hi am wanting to run a goal seek VBA for two different cells in the one sheet. Is it possible to write a VBA to do this?
Can be done with a loop.
Hi brother, I want to run the macro for a range i.e. B5:D10 by changing the cell range B15:D20. Can you please help me to get the VBA to execute properly?
Thanks in advance.
Hi, I want to make a Timezone convertor so that I can get time difference with a single click, There are multiple timezone convertors on Google, however I want to understand the process where I can create it myself, can some one help!!
And how can I use goal seek function for multiple worksheets with the same columns in them?
You can use VBA for that. Use Sheet name along with Cell name.
Can you please show me any example of this VBA? E.g. I have “January”, “February”, “March”, … , “December” worksheets and I want to find, let’s say, effective rate that was applied to the materials purchashed and listed in 2-150 rows. How should VBA look like in this case?
Hey Shakhrukh,
Please share your file if possible.
Hey Shakhrukh,
Please share your file, if possible.