- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有大约 30 个数字,其中 1、2 或 3 位数字是代码。这些代码附加在其他数字前面。我想知道数字前面的代码是什么,例如数字 35467036
的前两位数字与代码 35
匹配。所以我希望输出为 1.5
。
这是我当前的设置,我有一个表,其中包含所有代码,后面是下一列的输出。如果所有代码都是三位数长,我可以这样做 =VLOOKUP((LEFT(E6,3)&"*"),D1:E3,2,FALSE)
但不幸的是它们不是。
我也尝试过使用嵌套 IF 语句,但最多只能达到 7 层。
这只能在VBS中实现还是有其他方法?
代码列已格式化为文本。如果我在 LEFT 中输入值 3,则它不适用于两位数。无论如何我可以让它适用于 1 位、2 位和 3 位数字代码吗?而且代码不会重叠,例如,代码表中不会有 96 和 965。
最佳答案
七个嵌套 IF 作为限制,指向非常旧的 Excel 版本。您可能需要考虑升级到本世纪仍然受支持的版本。
但您的主要问题是查找值的数据类型是文本,因为您将字符串与通配符连接起来。而查找表的第一列可能由数字组成。
为了解决这个问题,您需要在查找表中添加一个文本列,将数值表示为文本值。
如果您想使用 Vlookup,则该辅助列需要是查找范围的第一列。
您可以使用索引/匹配而不是 Vlookup 来独立于列顺序,如以下屏幕截图所示:
H 列显示已在 G 列中应用的公式。
编辑:
根据您发布的屏幕截图,您想要从E列至F列的表格中查找,而该表格只有短代码。因此,向查找值添加通配符是没有意义的。您只需提取要用于查找的值即可。
如果您只想查找两位数字,那么您只需提取两位数字。添加通配符不会删除第三位数字。
在下面的屏幕截图中,辅助列向 LEFT() 函数提供要提取的字符数,然后在 VLookup 中使用该值。
=VLOOKUP(LEFT(A1,B1),$E$1:$F$5,2,FALSE)
关于excel - 在 VLOOKUP 中检查一位、两位或三位数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44880741/
我是一名优秀的程序员,十分优秀!