gpt4 book ai didi

Excel - 在字符串中查找多个值并返回第一个

转载 作者:行者123 更新时间:2023-12-04 21:29:05 26 4
gpt4 key购买 nike

我需要一个函数来查找文本中的组织缩写并返回第一个显示的缩写。我试图用一个嵌套的 if 子句来解决这个问题,但它有一个逻辑错误。

=IF(ISNUMBER(SEARCH("BZC";I5)); "Finanz"; IF(ISNUMBER(SEARCH("AZC" /1";I5));"IT";""))

它根据需要查找 BZC 和 AZC 并返回组织名称。但是,它不会返回字符串中的第一个匹配项。由于 BZC 是第一个查找,如果它在字符串中,它将始终返回,即使它可能不是第一个 org 缩写。

excel有什么功能可以解决这个问题?我基本上需要一个函数应该查找并返回找到的第一个变量的变量数组。

编辑:

我试图实现 Justyna MK 的公式。除此之外,我仍然需要弄清楚公式的含义(iferror,mid,small)它在我的示例中返回#N/A。 #N/A有什么原因吗?

最佳答案

我希望我正确理解了您的要求。这是一个数组公式供您尝试(使用 Ctrl + Shift + Enter 输入):

=CHOOSE(MATCH(MID(A1,SMALL(IFERROR(SEARCH({"BZC","AZD","xxx"},A1),""),1),3),{"BZC","AZD","xxx"},0),"Finanz","IT","Other")

您可能需要更改 ,;为了匹配您的区域设置。

您可以通过修改大括号 { }的内容轻松扩展搜索项列表并且还通过扩展 MATCH结果在公式的最后。

这是一些示例结果:

enter image description here

编辑:这是一个调整后的解决方案,它忽略了代码的长度(之前的解决方案假设代码总是 3 个字符长)。这次它不是数组公式,因此您可以按原样输入。
另外,我怀疑你应该 不是 更改 ,;在大括号内(它会修改从列到行分隔符的公式,因此它将停止工作)。剩下的 ,可以转换为 ; ,如果这有意义的话。
=CHOOSE(MATCH(TRIM(LEFT(SUBSTITUTE(RIGHT(A1,LEN(A1)-SUMPRODUCT(SMALL(IFERROR(SEARCH({"BZC","AZD","XYZX/1","NP-HSD"},A1),""),1))+1)," ",REPT(" ",255)),255)),{"BZC","AZD","XYZX/1","NP-HSD"},0),"Finanz","IT","Other1","Other2")

结果:

enter image description here

关于Excel - 在字符串中查找多个值并返回第一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59864596/

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