gpt4 book ai didi

excel - 在 VLOOKUP 中检查一位、两位或三位数字

转载 作者:行者123 更新时间:2023-12-03 01:46:49 26 4
gpt4 key购买 nike

我有大约 30 个数字,其中 1、2 或 3 位数字是代码。这些代码附加在其他数字前面。我想知道数字前面的代码是什么,例如数字 35467036 的前两位数字与代码 35 匹配。所以我希望输出为 1.5

这是我当前的设置,我有一个表,其中包含所有代码,后面是下一列的输出。如果所有代码都是三位数长,我可以这样做 =VLOOKUP((LEFT(E6,3)&"*"),D1:E3,2,FALSE) 但不幸的是它们不是。

我也尝试过使用嵌套 IF 语句,但最多只能达到 7 层。

这只能在VBS中实现还是有其他方法?

编辑:Code and Numbers

代码列已格式化为文本。如果我在 LEFT 中输入值 3,则它不适用于两位数。无论如何我可以让它适用于 1 位、2 位和 3 位数字代码吗?而且代码不会重叠,例如,代码表中不会有 96 和 965。

最佳答案

七个嵌套 IF 作为限制,指向非常旧的 Excel 版本。您可能需要考虑升级到本世纪仍然受支持的版本。

但您的主要问题是查找的数据类型是文本,因为您将字符串与通配符连接起来。而查找表的第一列可能由数字组成。

为了解决这个问题,您需要在查找表中添加一个文本列,将数值表示为文本值。

如果您想使用 Vlookup,则该辅助列需要是查找范围的第一列。

您可以使用索引/匹配而不是 Vlookup 来独立于列顺序,如以下屏幕截图所示:

enter image description here

H 列显示已在 G 列中应用的公式。

编辑:

根据您发布的屏幕截图,您想要从E列至F列的表格中查找,而该表格只有短代码。因此,向查找值添加通配符是没有意义的。您只需提取要用于查找的值即可。

如果您只想查找两位数字,那么您只需提取两位数字。添加通配符不会删除第三位数字。

在下面的屏幕截图中,辅助列向 LEFT() 函数提供要提取的字符数,然后在 VLookup 中使用该值。

=VLOOKUP(LEFT(A1,B1),$E$1:$F$5,2,FALSE)

enter image description here

关于excel - 在 VLOOKUP 中检查一位、两位或三位数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44880741/

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