gpt4 book ai didi

Excel 索引匹配 - 具有多个结果的部分字符串

转载 作者:行者123 更新时间:2023-12-01 22:21:38 24 4
gpt4 key购买 nike

我正在尝试调整我在在线示例电子表格中找到的这段代码,但我不太明白它。

原始电子表格基本上基于用户定义的查找进行索引/匹配,并在串联列表中整齐地列出匹配项。示例电子表格的输出如下所示:

/image/DyahB.png - Excel 输出示例(注意第一个和第二个匹配之间没有间隙)

底层算法是:

=IF(ISERROR(INDEX($A$1:$B$8,SMALL(IF($A$1:$A$8=$E$1,ROW($A$1:$A$8)),ROW (1:1)),2)),"",索引($A$1:$B$8,小(IF($A$1:$A$8=$E$1,ROW($A$1:$A$8) ),行(1:1)),2))

现在,我希望查找改为检索部分匹配项,此外,还可以像这样水平生成输出:

/image/ShED0.png - 根据部分匹配水平生成输出

我不知道该怎么做。似乎我会尝试更改 IF 条件以在部分匹配上返回 true,但我无法理解它。请帮忙!

最佳答案

假设“部分匹配”是指以 L1 中的值开头的文本,然后在 N1 中使用此公式

=IFERROR(INDEX($I$2:$I$8,SMALL(IF(LEFT($H$2:$H$8,LEN($L$1))=$L$1,ROW($I$2) :$I$8)-ROW($I$2)+1),COLUMNS($N1:N1))),"")

使用CTRL+SHIFT+ENTER确认 并复制

对于文本中任何地方的匹配,您可以使用此版本

=IFERROR(INDEX($I$2:$I$8,SMALL(IF(ISNUMBER(SEARCH($L$1,$H$2:$H$8))),ROW($I$2:$I$8 )-ROW($I$2)+1),COLUMNS($N1:N1))),"")

这两个公式都不区分大小写,尽管您可以通过将 SEARCH 更改为 FIND 轻松实现后者

使用 IFERROR 函数意味着您不需要重复进行错误处理 - 需要 Excel 2007 或更高版本

关于Excel 索引匹配 - 具有多个结果的部分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31449440/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com