0

我会尽力解释这一点。

工作表 1 有两个单元格。第一个单元格包含一个 6 位代码(例如 123456)。

工作表 2 包含几个选项卡,每个选项卡将包含 6 位代码和旁边的图形。

我希望工作表 1 中的第二个单元格在工作表 2 的所有选项卡中找到 6 位代码,并将它们旁边的数字加起来。

这可以通过 V-lookup 实现吗?

4

1 回答 1

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

改编自http://www.rondebruin.nl/win/s3/win003.htm的 VBA 代码

于 2013-09-18T13:38:41.443 回答