I had recently had to use a `FORMULA`

type in a SuiteScript 2.0 search and found it as a very useful filter for list values.

To use `FORMULA`

types in a filter expression, such as, `FORMULATEXT`

, `FORMULAPERCENT`

, `FORMULANUMERIC`

, `FORMULACURRENCY`

or `FORMULADATETIME`

just prefix the type of `FORMULA`

at the beginning of your filter expression and then write your formula. Use the operator and value as you normally would with any other filter expression.

Let’s assume I have a field on my record which is a List field, and for ease of this example, let’s further assume the List field has the values `YES`

and `NO`

. If I wanted to search using the filter expression in my SuiteScript 2.0 code based on the **value** of the List field then here’s how I created the filter:

```
// check the custom record is active
let f = [
['isinactive', 'IS', 'F']
];
// here's the FORMULA expression based on list field's value:
const fx = "FORMULANUMERIC: CASE WHEN {custrecord_list_field_name} = 'YES' THEN 1 ELSE 0 END";
// here's how we create the filter:
f.push('and', [fx, 'EQUALTO', 1]);
```

You can further refine the `FORMULA`

expression in the example above by making the value more dynamic, just make sure you wrap the variable in quotes otherwise it will not evaluate as a string. For example, if the value of `YES`

in the expression above was changed to a variable we could use Javascript’s new template strings as so:

```
// sometimes the list value may be dynamic
const someVariable = 'YES';
// check the custom record is active
let f = [
['isinactive', 'IS', 'F']
];
// here's the FORMULA expression based on list field's value and dynamic variable:
const fx = `FORMULANUMERIC: CASE WHEN {custrecord_list_field_name} = '${someVariable}' THEN 1 ELSE 0 END`;
// here's how we create the filter:
f.push('and', [fx, 'EQUALTO', 1]);
```

As you can see the filter expression in SuiteScript 2.0 can still be used with any formulas you may be using, you just need to prefix your formula with the appropriate `FORMULA`

type, along with a colon `:`

, and then you can write your formula expression. All other operators and values remain the same.

Using this can certainly help when filtering on List field types where the value of the List field is known and needs to be filtered.