在Excel单元格中search第一个数字并复制之前的所有单词。

我有一个词汇,字母和数字组合的条目列表。 我只想复制在第一个数字之前发生的单词。

Term Loan
Subordinated, 10% due 6/23/2020
Subordinated Debt (Interest Rate 12.00%, Maturity Date Due 2/15/19)
One stop (10.01%, Due 12/1/18)
Second Lien Term Loan to CP Well Testing, LLC (9.00% (LIBOR + 7.00% with 2.00% LIBOR floor) plus 9.00% PIK, due 4/1/2019)
Prime Plus 2%, Current Coupon 5.25%, Secured Debt (Maturity - November 14, 2013)

我试图想到的公式会返回:

Term Loan
Subordinated
Subordinated Debt
One Stop
Seccond Lien Term Loan to CP Well Testing, LLC
Secured Debt

我知道,如果我search了第一个数字,结果会包括一些不需要的括号,也许还有一些额外的单词 – 特别是在最后一个例子中 – 但这是我能想到解决我的问题最好的。

提前致谢

这个怎么样? 如果您的string在单元格A1中,则= LEFT(A1,MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},A1&“0123456789”)) – 1)

我从下面的ExtendOffice中借用search公式。 它使用花括号来编码数组来search(键入它们,不要打控制input),并使用连接的数字,以便没有任何search返回错误。 如果你没有任何数字,它会返回连接0的位置,因此你得到了整个string。

http://www.extendoffice.com/documents/excel/2510-excel-find-first-last-number-in-string.html

这不是一个容易回答的问题,这不是一个完整的答案。 希望你可以用这个作为更好的解决scheme的起点。 您的数据不是一个容易使用的格式。 正如你所指出的那样,它是由文字,字母和数字组成的。

这个公式适用于除最后一行之外的所有内容: =MID(A3,1,IFERROR(FIND("(",A3)-1,IFERROR(FIND(",",A3)-1,LEN(A3))))基本上我首先要找一个左括号,大部分时间都是你要查找的单词的结尾,如果没有“(”,那么我找一个逗号,如果没有要么只是使用那里的整个单词。

您可以添加到我的公式,以得到它的最后一种情况,但我build议尝试修复起始数据。