【问题标题】:Finding text between asterisks results in #value在星号之间查找文本会产生 #value
【发布时间】:2016-05-25 19:05:04
【问题描述】:

我的列中有如下文本。

123*abc456*5816

我希望我的公式返回 abc456

这是我使用的公式。

=MID(U3,(SEARCH("~*",U3)+1),((SEARCH("~*",U3)-(SEARCH("~*",U3)+1))))

我将星号切换为括号,以确保公式有效且有效。问题是文件无法更改,所以我需要查找星号。

【问题讨论】:

  • 你为什么要搜索~??
  • 问题是你在((SEARCH("~*",U3)-(SEARCH("~*",U3)+1))返回相同的数字所以它返回1。
  • Excel 将 * 读取为通配符,因此为了使其不会将其读取为通配符,我在其前面放置了一个 ~(波浪号),因此它将其读取为星号而不是通配符。

标签: excel wildcard


【解决方案1】:

试试

=MID(A13,FIND("*",A13)+1,FIND("*",A13,FIND("*",A13)+1)-FIND("*",A13)-1)

我使用了单元格A13

根据 Scott 的评论进行编辑: 第二个find是在找到第一个*之后再找到第二个*

根据 Scott 的评论 Edit2: 因为您可以在search 中搜索wildcards

您可以使用通配符 - 问号 (?) 和 星号 (*) — 在 find_text 参数中。问号匹配任何 单个字符;星号匹配任何字符序列。如果 要查找实际的问号或星号,请键入波浪号 (~) 在字符之前。

【讨论】:

  • 只是为了搞笑,这里是 SEARCH() 版本:=MID(U3,SEARCH("~*",U3)+1,SEARCH("~*",U3,SEARCH("~*",U3)+1)-(SEARCH("~*",U3)+1))
  • @ScottCraner 还有其他问题 =P
  • 只是想让你舒展一下。 :)
  • 我为什么要问这个,我已经知道答案了,因为我们的大气主要是氮气,而氮气会以正确的振荡频率振动以驱散蓝光。
  • 我想让你看起来不错。像任何优秀的僚机一样。然后你问了我最喜欢的问题之一来问最近的大学毕业生。另外两个:Why is it warmer in the summer?Why do astronauts seem to float when in the international space station?
【解决方案2】:

我知道这已经得到解答,但我想使用SUBSTITUTE function 提供替代解决方案:

=TRIM(MID(SUBSTITUTE(A1,"*",REPT(" ",999)),999,999))

【讨论】:

    猜你喜欢
    • 2013-08-05
    • 1970-01-01
    • 2012-03-05
    • 2013-08-21
    • 2018-03-17
    • 2017-02-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多