查找列

时间:2015-11-17 02:39:53

标签: excel vba

如果第一列中有特定值,我想总结一行的所有值(有很多列)。

下面是问题:

Link with the image

我想找到API流变学,然后找到Cond。时间,通过验证这两个条件,对行的所有值求和。

enter image description here

2 个答案:

答案 0 :(得分:1)

您需要使用" IF"检查第一列的值。功能,然后如果它是真的,使用" SUM"找到总数。

例如,如果您的第一列位于a1中,而您的数据从a1变为z1,则公式应如下所示:

=IF(A1="[check value]",SUM(A1:Z1),"")

[check value]替换为您要查找的值,将""替换为您想要显示的值(如果值不存在)。放""会使单元格留空。

如果您想更具体一点并检查第一列是否包含值,则需要使用:

=IF(ISNUMBER(SEARCH("[check value]",A1)),SUM(A1:Z1),"")

使用与之前相同的参数。

如果您想要找到多个值而不是使用AND函数,那么您的函数将成为:

=IF(AND(ISNUMBER(SEARCH("[check value]",A1)),ISNUMBER(SEARCH("[check value 2]",A1))),SUM(A1:Z1),"")

这将检查单元格A1是否包含两个字符串。如果你想检查两个不同的单元格,那么只需用你想要的任何其他单元格替换第二个A1。

如果要在单元格列中找到字符串,请将" A1" s替换为您要查找字符串的单元格列表。例如A1:Z1

这可行的原因是SEARCH根据在单元格[check value]中找到A1的位置返回一个数字,或者如果字符串没有出现则返回错误。如果ISNUMBER返回一个数字而不是错误,则SEARCH返回TRUE。最后,IF检查ISNUMBER是真还是假,如果为真则返回数字之和,如果不是则返回空格。

希望这会有所帮助。

答案 1 :(得分:0)

sample data image似乎不完整,所以我添加了一些内容。

Staggered conditions in SUMIFS

AE65中的公式是,

Dynamic conditional range

此公式在A列中查找测试名称(例如,AC65中的 API Rheology ),然后查找报告结果部分的下一次出现(例如 Cond Time(min)< / em>来自AD65)。找到该行后,它会对C:Z列进行求和。