计算 If criteria 部分文本

问题描述 投票:0回答:2

如何计算包含部分文本的列中的单元格数量

我希望结果变为 6,因为可以从所有这些行中找到文本 AB(A 和 B),但第 4 行中只有 C 除外。

enter image description here

excel excel-formula countif
2个回答
1
投票

此公式返回找到 FIND 标准的任何字符的单元格计数。

=SUM(BYROW(IF(IFERROR(FIND(TRANSPOSE(MID(B2,SEQUENCE(LEN(B2),1),1)),A$2:A$8),0)>0,1,0), LAMBDA(xx,IF(SUM(xx)>0,1,0))))

enter image description here


0
投票

为了好玩,稍微扩展和修改了要求,以尝试更灵活的解决方案。

  • 利用
    COUNTIF
    的通配符(不区分大小写)选项
  • 搜索短语而不仅仅是字母
  • 允许用分隔符分隔多个术语
  • 允许从范围而不是单个单元格输入

方法:收集术语,用通配符(

*
)包裹起来,得到计数。

姓名 指的是
_get_pairs_as_col =LAMBDA(arr, LET(全部, arr & TRANSPOSE(arr), TOCOL(_na_if_repeating(all),2) ))
_na_if_重复 =LAMBDA(文本, IF( LEN(SUBSTITUTE(文本, LEFT(文本,1),"")), 文本,NA()))

主要

count_if_partial_ci_match

=LAMBDA(_range,_terms,[_col_delim],[_row_delim],
LET(
_col_delim, IF(ISOMITTED(_col_delim), ",", _col_delim),
_row_delim, IF(ISOMITTED(_row_delim), ";", _row_delim),
_terms, IF(ROWS(_terms)>1, TEXTJOIN(_row_delim,,_terms), _terms),
_all_terms_as_col, TOCOL(TEXTSPLIT(_terms,_col_delim,_row_delim),2 +N("Ignore errors")),
_count_single, IFERROR(SUM(COUNTIF(_range,"*" & _all_terms_as_col &"*")),0),
_count_pairs, IFERROR(SUM(COUNTIF(_range,"*" & _get_pairs_as_col(_all_terms_as_col ) &"*")), 0),
_count_single - _count_pairs
))

Result

© www.soinside.com 2019 - 2024. All rights reserved.