[英]How do I reference a cell range from one worksheet to another using excel formulas?
[英]Excel Help: Using text from one cell to reference values in another worksheet
我有一個工作表,其中在一個欄中列出了我所在州的所有代表,在另一欄中列出了他們代表的縣。 其中一些代表一個縣,而其他代表多個縣(一些單元格表示“ A和B”,另一些單元格則表示“ A,B和C”)。
在不同的工作表上,我在一個列中列出了所有縣,在第二列中診斷出患有某種疾病的人數在該縣中,而在那個縣中,患有該疾病的總人數則列在第三列。
基本上,我希望能夠將它們合並在一起,這樣我將獲得以下內容:
專欄1:約翰·史密斯
有什么方法可以利用第一張工作表(每個代表代表的縣)的第二列自動引用第二個工作表的值並將它們相加,以使每個代表在其下的案件總數達到多少?
我當然可以手動完成。 但是,我希望能夠在明年輕松進行更改。
我的直覺是使用VBA提取第2列,展開列表,在工作表2中搜索第2列中的值,然后在第3列中建立公式以引用第2列中的值。第4列中也是如此。喜歡:
Sub Stuff()
Dim numberOfReps As Integer
Dim numberOfCounties As Integer
numberOfReps = 20
numberOfCounties = 25
Dim i As Integer
Dim counties As String
Dim diagnosedEquation As String
Dim livingEquation As String
Dim rawVal As String
For i = 1 To numberOfReps
rawCounties = Sheets("Sheet1").cells(i, 2).Value
countiesArray = Split(rawCounties, ", ")
For j = 1 To numberOfCounties
rawVal = Sheets("Sheet2").cells(j, 1).Value
If (ListContains(rawVal, countiesArray)) Then
If (livingEquation = "") Then
livingEquation = "=SUM(Sheet2!C" & j
Else
livingEquation = livingEquation & "+Sheet2!C" & j
End If
If (diagnosedEquation = "") Then
diagnosedEquation = "=SUM(Sheet2!B" & j
Else
diagnosedEquation = diagnosedEquation & "+Sheet2!B" & j
End If
End If
Next j
If (Not diagnosedEquation = "") Then diagnosedEquation = diagnosedEquation & ")"
If (Not livingEquation = "") Then livingEquation = livingEquation & ")"
Sheets("Sheet1").cells(i, 3).Value = diagnosedEquation
Sheets("Sheet1").cells(i, 4).Value = livingEquation
diagnosedEquation = ""
livingEquation = ""
Next i
End Sub
Private Function ListContains(needle As String, haystack As Variant)
For Each straw In haystack
If (needle = straw) Then ListContains = True
Next straw
End Function
我已經對此進行了測試,它將總結出一些東西。 您可能需要對設置進行一些調整,例如工作表名稱(或索引)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.