Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.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_Excel Formula - Fatal编程技术网

使用Excel公式比较两列并匹配是否有子字符串

使用Excel公式比较两列并匹配是否有子字符串,excel,excel-formula,Excel,Excel Formula,在Python中很难做到这一点,所以尝试Excel公式 以下是我想做的逻辑步骤: 将两列转换为小写 如果关键字与数据字符串数据字符串中的任何单元格匹配,则确定关键字与数据字符串匹配并放入另一个单元格 如果关键字没有匹配项,则无法找到 我该怎么做 下面的输入示例:(如您所见,数据字符串可以是任意顺序) 输出示例: 输出示例: 谢谢大家! 根据您的修订 您需要为d2键入正确的值。然后在d3中向下,你可以使用这个公式 =IF(或(SUM(-ISNUMBER)(FIND(D2,$B$2:$B$7))

在Python中很难做到这一点,所以尝试Excel公式

以下是我想做的逻辑步骤:

  • 将两列转换为小写
  • 如果关键字与数据字符串数据字符串中的任何单元格匹配,则确定关键字与数据字符串匹配并放入另一个单元格
  • 如果关键字没有匹配项,则无法找到
  • 我该怎么做

    下面的输入示例:(如您所见,数据字符串可以是任意顺序)

    输出示例:

    输出示例:


    谢谢大家!

    根据您的修订

    您需要为d2键入正确的值。然后在d3中向下,你可以使用这个公式

    =IF(或(SUM(-ISNUMBER)(FIND(D2,$B$2:$B$7))=COUNTIFS($D$1:D2,D2),SUM(-ISNUMBER)(FIND(D2,$B$2:$B$7))=0),INDEX($A$2:$A$7,MATCH(D2,$A$2:$A$7,0)+1),D2)

    然后在e2中向下,你可以使用这个公式

    =IFERROR(索引($B$2:$B$7),SMALL(如果是(查找)(较低(D2),较低($B$2:$B$7)),ISNUMBER(查找)(较低(D2),较低($B$2:$B$7)))*ROW($B$2:$B$7)-1,COUNTIFS($D$1:D1,D2)+1)),“未找到”)

    记住使用control+shift+enter输入这两个公式


    谢谢-这给了我所有的“未找到”我想检查一个关键字并扫描整个数据字符串列表-目前它只查看旁边的单元格。我如何扫描整列?不清楚为什么第一个
    苹果
    苹果iPad
    匹配,而第二个
    苹果
    苹果是我的最爱。哇,谢谢!!因此,目前我有一个匹配名称(例如apple),然后可以有3个或更多字符串匹配apple。如果你看我的例子,对于葡萄来说,它返回的葡萄对第一个是好的,然后是另一个葡萄,然后是葡萄什么的。所以它返回所有三个字符串。我不确定你的意思-如果这不是你想要的,请在你的例子中再贴一张截图。我的意思是,比赛列表中只有一次(我会更新我的输入照片)这个词是清晰的。非常感谢!!出于某种原因,我在D列和E列中都得到了相同的输出-知道为什么可以这样做吗?再次更新:)