在Excel中,查找函数在一组查找值上的实现

在Excel中,查找函数在一组查找值上的实现,excel,vba,excel-formula,lookup,vlookup,Excel,Vba,Excel Formula,Lookup,Vlookup,我不熟悉excel查找功能。我有一个要求,是否有人可以指导我如何使用excel查找实现这一点。 在excel表格中,我在C列中有项目(书籍、帽子等)。在D列中,我有项目对应的价格。C列中的项目可以重复 所以我想做的就是,在新列中(例如F),我想列出C列中的项目(C列中的重复项目应该被忽略),在F列中,我需要一个项目(包括重复项目)的价格总和 输入请参考“input.png”,预期输出请参考“expected.png” 如果excel中有查找以外的任何函数,即使这样也可以 请指导我。将C列粘贴到

我不熟悉excel查找功能。我有一个要求,是否有人可以指导我如何使用excel查找实现这一点。

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

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

输入请参考“input.png”,预期输出请参考“expected.png”

如果excel中有查找以外的任何函数,即使这样也可以


请指导我。

将C列粘贴到F列并删除重复项。。。检查此链接

然后使用G列中的sumif。。。。检查此链接以了解SUMIF


您将获得所需的输出。

将C列粘贴到F列并删除重复项。。。检查此链接

然后使用G列中的sumif。。。。检查此链接以了解SUMIF


您将获得所需的输出。

您可以这样做:

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
选项显式
副标题()
Dim itemsRng As范围

使用工作表(“项目”)您可以这样做:

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
选项显式
副标题()
Dim itemsRng As范围

使用工作表(“项”)时,工作表函数SumIf将很好地工作。参考:工作表函数SumIf将很好地工作。参考资料:@toLearn,你挺过去了吗?@toLearn,你挺过去了吗?