Excel:读取文本而不是正则expression式

我对excel有点新,现在正在制作一个简单计算产品销售数量的工作表。

我正在使用公式:

=COUNTIFS('salesreport'!$A$1:$A$1048576,'SalesNumbers'!$A1) 

salesreport表单包含A列中的产品名称数据,SalesNumbers表单包含A列中的产品名称列表和第二列中提到的公式。

现在到了这个问题,一些产品有不同的变种,并且名字上有一个*,例如“Product A *”,“Product A large *”。 由于*被Excel解释为以下任何文本,因此“产品A *”的计数器将包含较大的变体。

由于我从外面收到的数据很难简单的去除*,以便将来的报告只是复制/粘贴到模板中。

解决这个问题的简单方法显然是减去大variables的数量。 我所遇到的问题是,公式对于所有产品都不再一致,如果旁边的某个人在模板上工作,可能会导致问题。

有没有办法让Excel读取A列中的名称而不是正则expression式的string?

先谢谢你!

Ascani0

如果我正确理解这一点,那么你可以使用:

=SUMPRODUCT(--(salesreport!$A:$A=SalesNumbers!$A1))

编辑2 SUMPRODUCT是强大和非常有用的ARRAY公式,它发现了很多用法。 这里我们用它来做特定的COUNTIF类似的东西。

  • salesreport!$ A:$ A = SalesNumbers!$ A1部分testing相等

  • 它生成布尔值arrays{TRUE,FALSE,TRUE …. FALSE}

  • 这个结果不能直接传递给期望数字数据的SUMPRODUCT。 所以为了实现数字强制,我们应用双重一元( – ),也可以用+0或* 1等方法实现。

编辑如果你想使用COUNTIFS,那么你可以像下面一样使用它:

=COUNTIFS(salesreport!$A:$A,SUBSTITUTE(SalesNumbers!$A1,"*","~*"))

这里代字符(〜)做转义字符的工作,并允许在字面意义上检查星号(*)。