在特定字母后面的SUMIF条件

时间:2014-08-29 14:10:25

标签: excel range conditional sumifs

我正在尝试在SUMIF公式中构建一个条件,它在字母u之后检查下一个字母是否为数字。我尝试了ISNUMBER,条件是检查它是否大于1,或者是1-9的数字。

我需要扩展这个公式

=SUMIF(sheety!$A1:$A, 'sheetx'$C338&"u"&[get it it to check that the
 first one after is a number], sheety)

有什么想法吗?

3 个答案:

答案 0 :(得分:0)

您可以在“u”之后立即检查数字1字符,这样,要搜索的字符串在单元格B1中,公式进入单元格A1:

="'sheetx"&"u"&IF(ISNUMBER(VALUE(MID(B1,1+SEARCH("u",B1),1))),
VALUE(MID(B1,1+SEARCH("u",B1),1)),"")&"!"

我不确定我究竟知道这个字符串的位置,你想要搜索(我假设它是其他一些单元格)。

如果您提供屏幕截图,或SUMIF实际汇总的更详细示例以及您希望标准如何发挥作用,我可以提供进一步的帮助。

答案 1 :(得分:0)

你可以用一个吗?对于像这样的单个角色

=SUMIF(sheety!$A:$A,'sheetx'!$C338&"u?",sheety!$B:$B)

这不会检查实际的数字,但除非您在" u"之后还有字母值。它应该工作正常。注意:我假设在该号码之后没有任何内容,如果有,则添加另一个通配符,这次*

要明确检查数字,请尝试这样:

=SUM(SUMIF(sheety!$A:$A,'sheetx'!$C338&"u"&{0,1,2,3,4,5,6,7,8,9},sheety!$B:$B))

答案 2 :(得分:0)

此公式可能不符合您的确切要求,但它可能有助于您走上正确的道路。

{=SUM(IF(ISNUMBER(VALUE(MID(A2:A5,FIND("u",A2:A5)+1,1)))=TRUE,VALUE(MID(A2:A5,FIND("u",A2:A5)+1,1))))}

括号括号,因为您必须按Ctrl + Shift + Enter,而不只是Enter

让我们分解

这是数据

    Col A
1   data
2   xux
3   xu1
4   u9
5   u5   

首先,我们需要找出字符串中“u”的位置:

{=FIND("u",A2:A5)}

这将返回数组:2,2,1,1

然后我们将它展开以返回“u”之后的字符(基于第一个“u”的位置并假设该数字只有1个字符)

{=MID(A2,
         FIND("u",A2)
  +1,1)}

这将返回数组:x,1,9,5

然后我们可以扩展测试以查看它是否为数字

{=ISNUMBER(
           VALUE(
                 MID(A2,FIND("u",A2)+1,1)
                 )
           )}

这将返回数组:FALSE,TRUE,TRUE,TRUE

现在我们可以根据标准求和。

 {=SUM(
       IF(
          ISNUMBER(VALUE(MID(A2:A5,FIND("u",A2:A5)+1,1)))=TRUE
          ,VALUE(MID(A2:A5,FIND("u",A2:A5)+1,1))))}