我会尽力解释这一点。
工作表1有两个单元格。第一个单元格包含一个6位数的代码(例如,123456)。
工作表2包含多个选项卡,每个选项卡将包含6位数代码,旁边是一个figuire。
我希望工作表1中的第二个单元格能够找到工作表2中所有选项卡中的6位数代码,并在它们旁边找到总数。
V-lookup可以实现吗?
答案 0 :(得分:0)
如果它们与6位数代码匹配,您是否希望对列中的值求和?
如果是这样,sumif可能就是你寻求的。 http://office.microsoft.com/en-us/excel-help/sumif-HP005209292.aspx
数组的sumif: http://support.microsoft.com/kb/275165
更新: 不是一个完整的解决方案,但您可以使用下面的vba代码创建一个主表,并在汇总表上创建一个数据透视表,并对要汇总的所有唯一6位数代码进行求和,计数等。您需要编辑您正在寻找的范围,并且所有工作表上的范围必须相同。如果尚未存在,则将创建“摘要表”工作表,如果已经退出则将被覆盖。
Sub Summarize_Table_With_Formulas()
Dim Sh As Worksheet
Dim Newsh As Worksheet
Dim myCell As Range
Dim ColNum As Integer
Dim RwNum As Long
Dim Basebook As Workbook
With Application
.Calculation = xlCalculationManual
.ScreenUpdating = False
End With
'Delete the sheet "Summary-Table" if it exist
Application.DisplayAlerts = False
On Error Resume Next
ThisWorkbook.Worksheets("Summary-Table").Delete
On Error GoTo 0
Application.DisplayAlerts = True
'Add a worksheet with the name "Summary-Table"
Set Basebook = ThisWorkbook
Set Newsh = Basebook.Worksheets.Add
Newsh.Name = "Summary-Table"
'The links to the first sheet will start in row 2
RwNum = 1
For Each Sh In Basebook.Worksheets
If Sh.Name <> Newsh.Name And Sh.Visible Then
ColNum = 1
RwNum = RwNum + 1
'Copy the sheet name in the A column
Newsh.Cells(RwNum, 1).Value = Sh.Name
For Each myCell In Sh.Range("A1:B2") '<--Change the range here
ColNum = ColNum + 1
Newsh.Cells(RwNum, ColNum).Formula = _
"='" & Sh.Name & "'!" & myCell.Address(False, False)
Next myCell
End If
Next Sh
Newsh.UsedRange.Columns.AutoFit
With Application
.Calculation = xlCalculationAutomatic
.ScreenUpdating = True
End With
End Sub
的VBA代码