Workflow action criteria when comparing a value with list field values with a single value can return inconsistent boolean values. For example, I created a custom field ‘Approvers’ to store employees that has approval permission to a record. I was trying to compare this with the logged-in user to restrict the edit permissions of the record workflow that was deployed to. When tested, the workflow functioned correctly in cases where the ‘Approvers’ field was having a single value. But when multiple employee fields were selected in the ‘Approvers’ custom field, the comparison was not working correctly. On further investigating this issue, I found that if any field is compared to some other field value that has multiple values inside a workflow action criteria can cause inconsistent results.
As a fix to this problem, I created a workflow action script that runs in the ‘Beforeload’ trigger and checks if the logged-in user belongs to the ‘Approvers’ custom field. I returned the comparison result to a workflow checkbox field and used this as comparison criteria.
So, my suggestion is to use a workflow action script for comparisons including the list fields with multiple values, and store the result as a workflow field. Use this workflow field value as the criteria for the workflow actions.