我有一个烦人的非标准数据列表,故障单的标题,我需要找到一种标准化为类别的方法,然后计算属于其中一个类别的单元格数量。我一直在尝试使用以下公式:
=SUMPRODUCT(--ISNUMBER(SEARCH(G:G,A2)))>0
其中G是我的类别列表,A2是我的票证列表中的第一个单元格。问题是这个公式只返回TRUE或FALSE,这对我的情况没有帮助。有没有人有什么建议?以下是我正在处理的数据示例:
web browser pointing to wrong web page
excel will not save
outlook popups on startup
logon issue
etc
如果不是返回TRUE,公式会返回它找到的类别,即如果它在类别数组中找到浏览器,对于第一个示例,它将返回浏览器,而不是TRUE。
答案 0 :(得分:4)
试试这个公式
=INDEX(G$2:G$100,MATCH(1,INDEX(ISNUMBER(SEARCH(G$2:G$100,A2))+0,0),0))&""
如果G2:G100
中的多个项目出现在A2中,那么这只列出第一个(来自G2:G100)
注意:如果列表中有“浏览器”和“浏览器”,那么它将找到并返回列表中的第一个,因此您需要首先列出最长的,理想情况下,或更改为此版本,你只匹配整个单词
=INDEX(G$2:G$100,MATCH(1,INDEX(ISNUMBER(SEARCH(" "&G$2:G$100&" "," "&A2&" "))+0,0),0))
如果找不到任何内容,第一个公式将返回空白,第二个公式返回#N/A
Edit:
如果G2:G100
中的每个类别在相邻列H2:H100
中都有关联文字,那么您可以通过更改公式中的第一个范围来更改公式以返回列H值,例如
=INDEX(H$2:H$100,MATCH(1,INDEX(ISNUMBER(SEARCH(G$2:G$100,A2))+0,0),0))&""
答案 1 :(得分:0)
我认为你应该在这种情况下改变你的逻辑,并在每个类别旁边放一个公式(在H:H中)和COUNTIF
,所以在H1中:
=COUNTIF(A:A, "*"&G1&"*")
依此类推。