OptionaladditionsValues the author typed, as text, one entry per item. Excel's typed list (Yes,No).
OptionalblankWhether a blank is a member: the (Blank) row of a list, OOXML's filters/@blank.
OptionalcalendarCalendar type for date group items.
OptionaldateA snapshot's date groups: a year, a month of a year, a day, down to the second. A date inside any group matches.
OptionalitemsA snapshot's members: the values that match, as they were when the condition was authored.
OptionalsourceA live base: a formula whose result is the list, as formula text without a leading =
($A$1:$A$5, Sheet2!$A$1:$A$9, MyList, OFFSET(...), INDIRECT($E1)).
Evaluated for each cell, so a relative reference gives each cell its own list, and it follows inserts and deletes as any formula does. A resolved condition holds it as an ICalculation.IFormula.
OptionalsubtractionsMembers taken out of the set. A value that matches one fails, whatever part it came from.
What narrows a live base, where a member cannot be removed from the formula. A snapshot needs none: its unchecked members are simply not in items.
The set an BuiltInOperatorNames.InSet condition tests membership of.
Remarks
A set is
base ∪ additions − subtractions. The base is an existing population, sampled one of two ways: a snapshot (items, dateGroups), resolved when the condition is authored and stored as its members, or live (source), a formula resolved when the condition is evaluated. additions are values the author typed, and subtractions are members taken back out.A filter's values list is a snapshot of its column. A validation's typed list is additions with no base, and a validation's range is a live base. Every part is optional and they combine: a range plus a typed
Otherissourceandadditions.Each part matches by its own rule, the one Excel applies to that kind of list:
itemsUNIQUEtells apart)sourceMATCH(value, source, 0)finds it;*,?and~in the value are wildcardsadditionssubtractionsA blank (an empty cell, a
""result) is a member by blank, or by asourcethat holds one, less asubtractionsentry ofnull. The condition'sincludeBlankspasses it before the set is asked.The members are matched against the selector's reading of the cell: under none, the value; under BuiltInSelectorNames.Display, the text the cell shows, so
items: ['1.50']keeps a cell holding 1.5 under0.00, which is what a spreadsheet's filter list holds.