首页 > 解决方案 > 在 excel 中,在单元格中搜索单词数组的第一个实例

问题描述

我有一个对事件进行详细描述的单元格 (bd5)。我还有一份应该在活动早期发生的事情的列表(名称范围='问候')。我想知道任何数组项首先出现在单元格中的哪个位置(字数或字符数)。

=IFERROR(LOOKUP(2,1/SEARCH(greeting,B2),greeting),"") 给了我实际的单词而不是它在单元格 b2 中的位置

    A                  B                                  c              
1   Greeting      Transcript                           Greeting count    
2   My Name is    This is a long transcription of       Thank you for
                  a call. My agent should be starting   calling
                  with either "Thank you for Calling' 
                  or 'Good afternoon' before they pull
                  up the caller;s information and 
                  start troubleshooting
3   How May I 
    help you
4   Good morning
5   Good Afternoon
6   Thank you for 
    calling

我试图重新创建示例表。如果我在 C2 中输入上面使用的公式,则会导致“感谢您致电”但是我需要知道它在 b2 中的位置。所以 16 最好,因为它是第 16 个单词。但是,84 将作为字符位置。

标签: excel

解决方案


给定您的数据,我得到 82 匹配字符串的位置:

=AGGREGATE(15,6,SEARCH($A$2:$A$6,B2),1)

要获取找到匹配文本的单词编号(在您的示例中为 16):

=LEN(LEFT(B2,AGGREGATE(15,6,SEARCH($A$2:$A$6,B2),1)))+1-LEN(SUBSTITUTE(LEFT(B2,AGGREGATE(15,6,SEARCH($A$2:$A$6,B2),1))," ",""))

推荐阅读