Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel-在一个句子中搜索不同的单词,如果该单词存在于一个句子中,则打印该单词或打印其他单词_Excel_Compare - Fatal编程技术网

Excel-在一个句子中搜索不同的单词,如果该单词存在于一个句子中,则打印该单词或打印其他单词

Excel-在一个句子中搜索不同的单词,如果该单词存在于一个句子中,则打印该单词或打印其他单词,excel,compare,Excel,Compare,所以我有两个范围: 句子 I am tom I am Matt I am John Johhny is my name Molly is cool Polly Molly John Matt Tom Ronnie 调整公式得到的结果有限。帮点忙就好了!再次感谢要查找第一个名称,您可以使用以下命令(按Ctrl+Shift+Enter键输入): 说明: 搜索(名称,[@句子])将“名称”范围内的每个名称与当前句子进行比较 MIN(MATCH(TRUE,ISNUMBER(…),0))将找到第一个匹配的

所以我有两个范围:

句子

I am tom I am Matt I am John Johhny is my name Molly is cool Polly Molly John Matt Tom Ronnie
调整公式得到的结果有限。帮点忙就好了!再次感谢

要查找第一个名称,您可以使用以下命令(按Ctrl+Shift+Enter键输入):

说明:

  • 搜索(名称,[@句子])
    将“名称”范围内的每个名称与当前句子进行比较

  • MIN(MATCH(TRUE,ISNUMBER(…),0))
    将找到第一个匹配的名称

  • 索引(名称,…)
    将检索名称

  • IFERROR(…,“其他”)
    将处理未找到匹配项的情况

  • 请使用有限范围,如
    K$2:K$999
    ,而不是
    K:K
    作为
    名称
    ,数组公式对于整列(或-行)范围没有很好地优化


    请注意,
    [@Sequences]
    是一种符号,如果单元格
    G19
    包含一个句子,则应等同于您问题中的
    G19

    已回答:使用ifexists或vlookupAre您反对使用VBA吗?因此,对于每个句子,如果名称列表中至少有一个名称,你想打印第一个名字吗?还是所有的名字?前者在公式中应该(几乎)是可能的,字母可能需要VBA。@jer_bear Excel中没有
    ifexists
    =(IF(ISNUMBER(SEARCH(K:K,G19)),K:K))
    
    =IFERROR(
      INDEX(names, MIN(MATCH(TRUE, ISNUMBER(SEARCH(names, [@Sentences])), 0))),
      "other")