VBA 用 'OR' returns 错误的值计算 'IF'

VBA Evaluate 'IF' with 'OR' returns wrong values

我有这些专栏:

我正在尝试以这种方式评估它们:

dim myArray as variant

myArray = filter(application.transpose(columnSheet.evaluate("IF(OR(D=""D1"",D=""D2""),S,false)")),false,false)

看到 "DISPENSER" 整个列名等于 "D""SELLER" 整个列名等于 "S" 并且 "columnSheet" 是 [=32= 的名称]sheet object 这些列应该在的位置。

过滤器应用程序应提供 "myArray" 真实结果。

问题是 当我在函数中使用 "OR" 语句时 正在评估, 我得到 "SELLER" 整列 作为结果 。如果您尝试直接在 sheet 中应用相同的函数公式,则其 returns 会得到正确的结果。

我不知道 OR 有什么问题,但是你可以重新调整 IF 以获得你想要的结果:

myArray = Filter(Application.Transpose(Evaluate("IF(D=""D1"",S,if(D=""D2"",S,false))")), False, False)