从公式计算中删除引号

时间:2018-03-07 22:22:39

标签: excel excel-formula

我在下面有一个测试表,它代表一个更宏大的表,有更多的行和列

$i

请务必注意,此表由另一个数据源的复制和粘贴填充。我有一个countif公式,可以获得" test"的所有实例的计数。在列" Business",但如果复制的原始数据源决定在" Business"之前添加一列,则会遇到问题。柱。当我复制并粘贴数据时,我的countif公式将在列(5)中查找项目,此时它应该在列(6)中查找。我在下面创建了一个公式来动态捕获它,因此countif范围会选择新的列引用,但计算是在单元格范围内添加双引号并给出错误。

- 动态公式

Date    key ID  Sample  Name    Business
test    test    test    test    test    
test    test    test    test    test    
test    test    test    test    test    
test    test    test    test    test    
test    test    test    test    test    
test    test    test    test    test    

- 新的countif公式

=SUBSTITUTE(ADDRESS(1,MATCH("Business",A1:A5,0),4),"1","")&":"&SUBSTITUTE(ADDRESS(1,MATCH("Business",A1:A5,0),4),"1","")

当我突出显示动态公式并按F9时,您可以看到双引号如何分配给公式,从而给出了错误,如下所示。我如何解决这个问题,所以我可以让公式具有动态能力,无论添加或更改了多少列,总是给我指定列的计数?

=COUNTIF(SUBSTITUTE(ADDRESS(1,MATCH("Business",A:E,0),4),"1","")&":"&SUBSTITUTE(ADDRESS(1,MATCH("Business",A:E,0),4),"1",""),"test")

Test

2 个答案:

答案 0 :(得分:2)

您可以使用Match找到该列,并使用Index返回该列,然后将其传递给Countif

=COUNTIF(INDEX(1:1048576,,MATCH("Business",1:1,0)),"test")

答案 1 :(得分:1)

您可以使用INDIRECT将字符串转换为范围。因此,=COUNTIF(INDIRECT("E:E"),"test")评估为=COUNTIF(E:E,"test")

=COUNTIF(INDIRECT(SUBSTITUTE(ADDRESS(1,MATCH("Business",A:E,0),4),"1","")&":"&SUBSTITUTE(ADDRESS(1,MATCH("Business",A:E,0),4),"1","")),"test")