我想在 Excel 中提取空格之间的值并想知道如何做到这一点。
我已经尝试过使用
=TRIM((MID(E117,FIND(" ",E117)+1,FIND(" ",E117,FIND(" ",E117)+1)-(FIND(" ",E117)))))
这对于空格后的第一个值工作正常,但我不确定如何引用下一个空格。
我需要做的是从字符串中提取值:
S EP M to BG 1 DIR
我需要为以下每一项设置单独的列:S
,,,EP
M
BG
有人可以帮忙吗?
答案1
因为你需要公式,所以我建议使用这个:
怎么运行的:
您需要在 L1:S1 中插入辅助值,取决于空格分隔的文本/单词的数量。
单元格 L2 中的公式:
=TRIM(MID(SUBSTITUTE($K2," ",REPT(" ",LEN($K2))),(L$1-1)*LEN($K2)+1,LEN($K2)))
注意:
填写范围内的公式。
当文本/单词由其他分隔符(如逗号/斜线/破折号)分隔时,可以使用此公式。
编辑本段
SUBSTITUTE($K2,","
根据需要调整公式中的单元格引用。
另一种可能的方法是“文本到列”向导。
- 选择 K2:K4 中的数据。
- 从数据选项卡中点击“文本到列”。
- 选择选项“分隔”。
- 在下一个屏幕上单击“空间”。
- 在下一个屏幕中,选择目标单元格并单击确定完成。
答案2
在 VBA 中尝试一下(将j
变量的值设置为结束列号)
Function Calc()
Dim Cols as String
Dim j As Integer
Dim strCell as Variant
Dim arrValues
j = 6
Cols = "E F G H I J K L M N O P Q R S T U V W X Y Z"
Cols = Split(Cols," ")
For k = 1 To j
strCell = Range("E" & k).Value
arrValues = Split(strCell," ")
For Each strValue in arrValues
Range(Cols(k) & k).Value = arrValues(k)
Next
Next
End Function