代码之家  ›  专栏  ›  技术社区  ›  Bert Starington

两个不同团队的分数计算

  •  -1
  • Bert Starington  · 技术社区  · 10 年前

    我该如何计算 C1类 抄送8 并将值输入 A2类 地下二层 ?

    a1 = blue
    
    b1 = red
    
    
    a2 = team blue score
    
    b2 = team red score
    

    之间 c1级 c8级 =获胜团队;分数 (注意:c1=$a$1&“1.25”)

     c1 = blue 1.25
     c2 = blue 2
     c3 = red .5
     c4 = draw
     c5 = blue 1.5
     c6 = blue 1.75
     c7 = red 2
     c8 = draw
    

    所以我应该得到的是:

    A2 should =  6.5
    B2 should =  2.5
    
    2 回复  |  直到 10 年前
        1
  •  2
  •   user3717023 user3717023    10 年前

    你可以用

    =sum(arrayformula(if(left(C1:C, 4)="blue", value(regexreplace(C1:C, "[^0-9.]", "")), 0)))
    

    对于红色团队,使用 left(C1:C, 3)="red" 在公式中。

    从文本到数字的转换分两步进行: regexreplace 删除除.和0-9以外的所有字符;然后 value 将文本转换为数字。


    最好将获胜团队和他们的分数保存在单独的单元格中(团队在C列,他们的分数在D列),这将简化数据的处理:您只需要 =sumif(C1:C, "blue", D1:D) .

        2
  •  1
  •   skkakkar    10 年前

    正在帮助帮助器列,但不使用数组公式。如果您将团队换成绿色或其他颜色,这些公式可以适用。 D1中的公式:(并填写)

    =VALUE(RIGHT(C1,(LEN(C1)-LEN($A$1))))
    

    E1中的公式:(并填写)

    =LEFT(C1,(MIN(FIND({0,1,2,3,4,5,6,7,8,9},C1&"0123456789"))-2))
    

    (并填写) A2中的公式:

    =SUMIF(E1:E9,"blue",D1:D9)
    

    B2中的公式:

    =SUMIF(E1:E9,"red",D1:D9)
    

    Snapshot of result