不知道如何在excel中启动多个搜索条件
我有一个excel表格,我试图根据多个搜索条件进行一些计算,但不知道从哪里开始。我希望vba的第一部分提取行值,以便从那里开始。我看过其他线程,但不知道如何应用它们 excel工作表看起来像这样不知道如何在excel中启动多个搜索条件,excel,vba,Excel,Vba,我有一个excel表格,我试图根据多个搜索条件进行一些计算,但不知道从哪里开始。我希望vba的第一部分提取行值,以便从那里开始。我看过其他线程,但不知道如何应用它们 excel工作表看起来像这样 Date | Name | Location | Components | Composition 1/2/19 T1 S1 Hexane 5% 1/2/19 T1 S1 Water 20% 1/2
Date | Name | Location | Components | Composition
1/2/19 T1 S1 Hexane 5%
1/2/19 T1 S1 Water 20%
1/2/19 T1 S1 Benzene 75%
1/2/19 T2 S1 Water 100%
.
.
.
因此,我正在尝试编写一个代码,该代码将返回日期、名称和位置列匹配的所有行,以便我可以创建一个列,说明它们的组成是否为100%,然后运行一些计算。大约有2000行,所以任何自动化它的方法都会很棒 那么,您可以使用一个简单的函数来实现这一点。创建另一个表,其中包含要查看的特定日期、名称和位置值,并为total composition再创建一列 在total composition列中,您可以编写这样的SUMIFs语句
=SUMIFS(YourCompositionColumnRange, YourDateColumnRange,"=" & YourDateValue, YourNameColumnRange,"=" & YourNameValue, YourLocationColumnRange,"=" & YourLocationValue)
其中,列范围是表示数据列的命名范围,值范围是表示要求和的值的命名范围
如果您不太熟悉VBA,这将是最快的解决方案
让我知道这是否有效。Application.WorksheetFunction.SumifsI不知道所有的值,因为它们有2000多个。我有一些Python和Matlab的编程经验,所以我希望vba中有某种逻辑可以做到这一点。然后,您需要将数据范围拉入一个数组,并在其中循环,以创建第二个数组,在其中加载唯一的日期、名称、位置对,并对合成进行求和。这很简单,如果你使用过matlab,那么你应该非常熟悉这种数据处理,虽然matlab确实有比VBA更好的数组函数,如果我记得的话。