如何使用空间划分从Excel单元格生成单词?
有没有办法从一个Excel的单元格使用公式生成空间划定的单词列表? 例如,如果我有string:
“我的名字是杰克”
它应该在不同的单元格中生成“我的”,“名称”,“是”,“杰克”。
但它也不应该依赖于string的长度。 举个例子:
“我爱松鼠”
应该用相同的公式来生成“我”,“爱”,“松鼠”。
用你在A1的句子
B1: =TRIM(MID(SUBSTITUTE($A1, " ", REPT(" ",99)),MAX((COLUMNS($A:A)-1)*99,1),99))
并根据需要填写。
当然,如果这不需要是dynamic的,就像@pnuts所评论的那样,仅仅使用以space
作为分隔符的文本到列。
如何UDF?
把它放在工作簿中的一个模块中:
Function WordInString(MyWord As String, WordNum As Long) If Len(MyWord) - Len(Replace(MyWord, " ", "")) < WordNum - 1 Then WordInString = "" Else WordInString = Split(MyWord, " ")(WordNum - 1) End If End Function
假设你的数据在列A行1,你想从列B开始填充,在B1中input这个公式
=WordInString($A1,COLUMN(A1))
横向和纵向拖动
另外,如果你绝对肯定需要一个本地的Excel公式,试试这个:
=TRIM(MID(SUBSTITUTE($A1," ",REPT(" ",255)),((COLUMN(A1)-1)*255)+1,255))
同样的交易,假设数据从A1开始,把它放在B1中,并上下拖动。