COUNTIF> 255个字符的建议解决方法出现问题

时间:2018-08-05 06:29:39

标签: excel excel-formula countif

对于大于255个字符的COUNTIF / COUNTIFS标准,我无法获得MS推荐的“解决方法”,以产生超出工作表#VALUE的任何结果!错误。

  

来源:COUNTIF function

  返回错误的值COUNTIF函数用于匹配长度小于255个字符的长字符串时返回错误的结果。
大于255个字符。 3> 例如,
=COUNTIF(A2:A5,"long string"&"another long string")   

以A2:A5中的504个字符长的字符串作为示例文本字符串,

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur et mi congue, ullamcorper, nulla non, interdum augue. Etiam at turpis sagittis, auctor ante quis, imperdiet neque. Nulla ut mauris ac enim rutrum congue. Vivamus elementum nisi et lectus scelerisque bibendum. Mauris tristique condimentum purus, dictum sagittis velit. Cras non purus ut magna placerat suscipit nec sit amet est. Nam finibus sed nibh ac euismod. Nam fermentum mattis quam, a commodo elit suscipit nec. In eu ipsum iaculis.

To match strings longer than 255 characters, use the CONCATENATE function or
                                        the concatenate operator &
条建议的公式,

'this exceeds 255 character limit
=countif(a:a, a2)
'this is the recommended work-around
=countif(a:a, left(a2, 255)&mid(a2, 256, 255))
'alternate for a2 < 256 characters
=countif(a:a, left(a2, 255)&iferror(mid(a2, 256, 255), text(,)))

结果应该为4。除了#VALUE之外,我什么也收不到!如果A2包含任何长度超过255的文本。

对前255个字符加后第二个249个字符加硬编码,除了返回相同的#VALUE之外,什么都不做!错误。

=COUNTIF(A:A, "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur et mi congue, ullamcorper, nulla non, interdum augue. Etiam at turpis sagittis, auctor ante quis, imperdiet neque. Nulla ut mauris ac enim rutrum congue. Vivamus elementum nisi et lectus s"&"celerisque bibendum. Mauris tristique condimentum purus, dictum sagittis velit. Cras non purus ut magna placerat suscipit nec sit amet est. Nam finibus sed nibh ac euismod. Nam fermentum mattis quam, a commodo elit suscipit nec. In eu ipsum iaculis.")

我想你想问一个问题。这完全有效吗?我想念什么?是我的xl2010 / xl2016版本吗?我参考的文档似乎是最新的。

附录:

如果这不能像描述的(甚至是想象的)那样起作用,那么证明概念破裂的证据很容易被接受。

1 个答案:

答案 0 :(得分:2)

这将相当可靠地处理最多508个字符的字符串。

=COUNTIFS(D1:D5,LEFT(D1,254)&"*",D1:D5,"*" &RIGHT(D1,254))

实际上,通过比较最后254个和前254个,它会生成更大的字符串。这可能满足或可能不足以满足个别要求。

但是,如果搜索参数短于255,则可能会给出误报,并且要搜索的结束并以相同的文本开头。例如,如果test testA1,则test将被计数两次。