在Excel中,Lookup函数实现了一组Lookup值

时间:2016-10-15 08:59:53

标签: excel vba excel-formula lookup vlookup

我是excel查找功能的新手。我有一个要求,有人可以指导我如何使用Excel查找实现这一点。 inputFile

在excel表格中,我在C栏中有项目(书籍,帽子等)。在D栏中,我的价格对应于项目。可以重复C列中的项目。

所以我想要的是,在新栏目(例如F)中,我想列出C栏中的项目(C栏中的重复项目应该被忽略),而在F栏中,我需要价格的总和项目(包括重复项目)。

有关输入请参阅“input.png”,预期输出请参阅“expected.png” expected.png

如果excel中除了查找之外还有任何功能,即使这样也没问题。

请指导我。

2 个答案:

答案 0 :(得分:2)

在列F中粘贴列C并删除重复项...请检查此链接https://support.office.com/en-us/article/Filter-for-unique-values-or-remove-duplicate-values

然后在G列中使用sumif ....查看SUMIF https://support.office.com/en-us/article/SUMIF-function

的此链接

你将得到你正在寻求的输出。

答案 1 :(得分:0)

你可以这样:

Option Explicit

Sub main()
    Dim itemsRng As Range

    With Worksheets("Items") '<-- change "Comparisons" to your actual sheet name
        Set itemsRng = .Range("C5", .Cells(.Rows.Count, "C").End(xlUp))
        With .Range("F5").Resize(itemsRng.Rows.Count)
            .Value = itemsRng.Value
            .RemoveDuplicates Columns:=Array(1)
        End With
        With .Range("F5", .Cells(.Rows.Count, "F").End(xlUp)).Offset(, 1)
            .FormulaR1C1 = "=SUMIF(" & itemsRng.Address(True, True, xlR1C1) & ",RC[-1]," & itemsRng.Offset(, 1).Address(True, True, xlR1C1) & ")"
            .Value = .Value
        End With
    End With
End Sub