Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在VBA中实现Excel SUMIF标准?_Excel_Vba - Fatal编程技术网

如何在VBA中实现Excel SUMIF标准?

如何在VBA中实现Excel SUMIF标准?,excel,vba,Excel,Vba,我想编写一个VBA函数来模拟只获取一个返回值的SQL SELECT查询。此函数的输入将是表(范围)、值(数组)和比较运算符(?)。例如: SQL(column_criteria As Array, table As Range, result_col As Integer) ' arr() takes variable number of values, stuff into an array and returns it SQL(arr("<= 35", "Male", "&g

我想编写一个VBA函数来模拟只获取一个返回值的SQL SELECT查询。此函数的输入将是表(范围)、值(数组)和比较运算符(?)。例如:

SQL(column_criteria As Array, table As Range, result_col As Integer)

' arr() takes variable number of values, stuff into an array and returns it    
SQL(arr("<= 35", "Male", ">= 120000"), Data!A1:H4, 4)
SQL(列作为数组,表作为范围,结果作为整数)
'arr()接受可变数量的值,将其填充到数组中并返回它
SQL(arr(“=120000”),数据!A1:H4,4)
SUMIF内置函数在其criteria参数中接受一个似乎用途广泛的字符串值,例如
>5
蔬菜
*es


是否有一些内置的方法可以用来解析条件字符串?还是必须使用字符串比较逻辑硬编码?

通过解析条件字符串,我假设您指的是多个条件?在这种情况下,对多个条件使用SUMIFS

做一些假设,例如。。。根据B、C和D中的标准对A1:A6中的数据求和

=SUMIFS(A1:A6,B1:B6,"<=35",C1:C6,">=12000",D1:D6,"=Male")
=SUMIFS(A1:A6,B1:B6,“=12000”,D1:D6,“=Male”)

Hmm。。。如果条件范围保证了唯一选择并只获取一行,那么这个建议实际上是非常好的,但在其他情况下,例如,返回第一个匹配的行,这个建议不会很好。。。在PHP eval()中。。。哦,是的,是的!早该想到的!