发布
社区首页 >问答首页 >如果单元格以文本字符串开头...公式

如果单元格以文本字符串开头...公式
EN

Stack Overflow用户
提问于 2013-07-25 06:07:47
回答 3查看 200.7K关注 0票数 25

我有一个公式,检查单元格是否以文本"A“开头,返回拾取"B”表示Collect,C表示预付费。

但它似乎不能正常工作

A和C都会返回预付费...

=LOOKUP(LEFT(A1),{"A","B","C"},{"Pick Up","Collect","Prepaid"})

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-07-25 06:31:10

我不确定lookup是不是正确的公式,因为有多个参数。也许是hlookupvlookup,但这些都需要有表来表示值。一个简单的if嵌套序列可以在小样本大小下做到这一点

试试=IF(A1="a","pickup",IF(A1="b","collect",IF(A1="c","prepaid","")))

现在合并您的left参数

=IF(LEFT(A1,1)="a","pickup",IF(LEFT(A1,1)="b","collect",IF(LEFT(A1,1)="c","prepaid","")))

还要注意left的用法,您的参数没有指定字符数,而是指定了一个集。

7/8/15 -有关上述功能的Microsoft知识库文章。我不认为techonthenet有任何问题,但我更愿意链接到官方来源。

票数 32
EN

Stack Overflow用户

发布于 2020-10-15 05:13:27

从Excel 2019开始,您可以做到这一点。结尾处的"Error“是默认值。

代码语言:javascript
代码运行次数:0
复制
SWITCH(LEFT(A1,1), "A", "Pick Up", "B", "Collect", "C", "Prepaid", "Error")

Microsoft Excel Switch Documentation

票数 1
EN

Stack Overflow用户

发布于 2021-01-13 23:11:05

我知道这是一个非常古老的帖子,但我是在寻找相同问题的解决方案时发现的。我不想要嵌套的if语句,而Switch显然比我使用的Excel版本新。我找出了我的代码出了什么问题,所以我想在这里分享一下,以防它对其他人有帮助。

我记得VLOOKUP要求源表按字母/数字顺序排序才能工作。我最初是想这么做的。

代码语言:javascript
代码运行次数:0
复制
=LOOKUP(LOWER(LEFT($T$3, 1)),  {"s","l","m"}, {-1,1,0})

当我这么做的时候它开始工作了.

代码语言:javascript
代码运行次数:0
复制
=LOOKUP(LOWER(LEFT($T$3, 1)),  {"l","m","s"}, {1,0,-1})

我最初认为最后一个值可能会成为默认值,所以我希望最后一个位置是零。无论如何,这似乎不是行为,所以我只是将可能的匹配进行了排序,并且它起作用了。

编辑:作为最后的说明,我看到原始帖子中的示例按字母顺序排列,但我认为如果发生错误,并且字母A、B和C只是示例,则实际用例可能会有所不同。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17845639

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档