2016-09-26 60 views
0

我試圖讓一個IF語句,每一套單元符合一定的標準加1:如果使用在Excel報表的多個工作表

=SUM(IF(AND(Sheet1!A1=B2, Sheet1!C2=B3),1,0)) 

但是,每當我提出一個新的工作表我想該表中的B2和B3將包含在關係中。有沒有辦法做到這一點,而不包括Sheet1中的B2或B3?

+0

您希望公式在添加新工作表時自動更新自己?我假設,比如'Sheet2'是ActiveSheet。您將添加'Sheet3',並且希望公式自動更新爲:'= SUM(IF(AND(Sheet1!A1 = B2 = Sheet2!B2,Sheet1!C2 = B3 = Sheet2!B3), 1,0))'? – BruceWayne

回答

1

您可以創建一個功能。打開VBA編輯器,插入模塊並粘貼下面提到的代碼。在A1和Sheet 1中的C2和在B2 B3 &在每個其他片進行檢查

Function FINDMATCH() As Long 
    Dim Sheet1, sht As Worksheet 
    Dim counter As Long 
    Set Sheet1 = ThisWorkbook.Sheets("Sheet1") 

    counter = 0 
    For Each sht In ThisWorkbook.Worksheets 
     If sht.Name <> "Sheet1" Then 
      If Sheet1.Range("A1").Value = sht.Range("B2").Value And Sheet1.Range("C2").Value = sht.Range("B3").Value Then 
       counter = counter + 1 
      End If 
     End If 
    Next 

    FINDMATCH = counter 
End Function 

添加值。

在任何單元格中寫入function =FINDMATCH(),您將得到結果。

相關問題