I have gone through a scenario. I need date/time of every stage change of an opportunity. I have created some date and time field to store opportunity stage change date. let says, if opportunity in stage 1 on 1st Jan so 1 date field updated by workflow the stage change date. Same I did with rest of stages and workflow criteria is "created and subsequently meet the criteria". but I saw every time I change the stage those fields got update. ideally fields should be update once. Like 1st jan for 1 stage then 2nd jan for 2 stage. if I again change the opportunity in 1 stage on 3rd jan so 3rd jan should not be store on 1 stage date/time custom field but actually it is updating. rule work like every time created and edited. I tired to set criteria formula evaluated but no luck. Any approach you can share. please help.
Got the answer. rule criteria would be formula evaluated like this
AND( ISPICKVAL( StageName , "Prospecting"), ISNull( Prospect_Date__c ))
so first time that custom field (Prospect_Date__c) will be null so workflow trigger and update the field in current date and time. and from next time it won't be match the criteria.