2013-10-29 241 views
0

我想寫一個VBA函數來模擬只提取一個返回值的SQL SELECT查詢。該函數的輸入將是表(範圍),值(數組)和比較運算符(???)。示例:如何在VBA中實現Excel SUMIF條件?

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) 

SUMIF內置函數在其criteria參數中接受一個字符串值,該值似乎非常通用,例如, > 5Vegetables*esaccording to Microsoft

是否有一些SUMIF用於解析標準字符串的內置方式?或者我必須使用字符串比較邏輯進行硬編碼?

回答

0

通過解析標準字符串我假設你的意思是多個標準?在這種情況下,對於多個條件使用SUMIFS。

製作例如一些假設......在A1總結數據:A6基於B中的標準,C和d

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

嗯......這個建議實際上是相當不錯的,如果標準範圍內唯一保證選擇和提取只有一行,但在其他情況下不會很好,例如返回第一個匹配的行。 – Jake

+0

無論如何,通過解析我的意思是將字符串轉換爲代碼,如...在PHP eval()中......哦,是的,EVALUATE()!應該早點想到它! – Jake