Solution: use Opportunity History report.
Read this blog to refresh what is Opportunity History report. Let us take a sample of Opportunity History, although this is not a great sample because Stage has change to close, back to open again, and finally close again.
- Opportunity created with stage = Prospecting
- Amount change to $600.00
- Stage change to Closed Won and Amount to $610.00
- Amount change to $48,000.00
- Stage change from Closed Won to Qualification
- Stage change from Qualification to Needs Analysis
- Close Date changed
- Stage change to Close Won and Close Date also changed
- Close Date changed again
It show exact the same value from related list to report, except there are more information in the report:
- From Stage
- To Stage
- Stage Change
- Stage Duration
We can use those fields as filter as required. If we look back to initial requirements, we can use Opportunity History with filters below:
This report will only show row with stage change and not upon opportunity creation. Using Stage Duration, it will auto calculate how many days that opportunity stay at that Stage.
Reference: Opportunity History Report