簡體   English   中英

SumIf語句-復雜的條件

[英]SumIf statements - complicated criteria

這是我的故事。 下面的代碼將計數的所有行的行開始84,在R列有“1”,一些帶有“B”在塔K開始, 並且無論是“98(宏)”或“98”,在列L.

B_black = Application.Sum(Application.SumIfs(Range("R84:R" & LastRow), Range("R84:R" & LastRow), "1", Range("K84:K" & LastRow), "B*", Range("L84:L" & LastRow), Array("98 (macro)", "98")))

我不需要使用該標准來計算行數,而是需要它本質上求和R列中的匹配項總數。之前,R列中的值將為“ 1”或為null。 現在,它可以為null或1-9。 我怎樣才能做到這一點?

編輯 :我將有許多這樣的聲明。 我已經把它們全部寫完了。 我希望我可以在每個語句中做一個小的更改,以計算符合條件的行中R列中的數量。

如果要對R列中的值求和而不是僅對進行計數,則:

Sub Robby()
    Dim B_black As Long, n As Long, i As Long
    B_black = 0
    n = Cells(Rows.Count, "R").End(xlUp).Row
    For i = 83 To n
        If Left(Cells(i, "K").Value, 1) = "B" And (Cells(i, "L").Value = 98 Or Cells(i, "L").Value = "98 (macro)") Then
            B_black = B_black + Cells(i, "R").Value
        End If
    Next i
End Sub

不需要使用工作表功能。

編輯#1:

如果您在工作表單元格中已經有方程式,那么那里已經有75%。

假設我們正在使用:

=VLOOKUP(B1 & B2,F1:J16,2,FALSE)

在一個單元格中。 要在VBA中執行此操作,請編寫以下代碼:

Sub DoItInAMacro()
    Dim s As String
    s = Evaluate("=VLOOKUP(B1 & B2,F1:J16,2,FALSE)")
    MsgBox s
End Sub

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM