我有一个令人讨厌的非标准数据列表,即故障单的标题,我需要找到一种方法来标准化为类别,然后计算属于其中一个类别的单元格的数量。我一直在尝试使用以下公式:
=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,而是返回它找到的任何类别,即如果它在类别数组中找到浏览器,那么对于第一个示例,它将返回 browser,而不是 TRUE,这将是有用的。
最佳答案
试试这个公式=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))&""
关于excel - 计算特定文本在数组中的次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47081189/