在最后一个大写字母之前在Excel中分割2个单词?

时间:2018-02-07 22:16:04

标签: excel excel-2016

我试图弄清楚如何在excel中将单个单词拆分为2个单独的单词。

e.g。输入字:BTCBitcoin

  Desired output:  BTC Bitcoin

有什么建议吗?

感谢。

4 个答案:

答案 0 :(得分:1)

要在字符串中的最后一个大写字母前加一个空格,请使用:

=REPLACE(A1,AGGREGATE(14,6,ROW(INDEX(AAA:AAA,1):INDEX(AAA:AAA,LEN(A1)))/(CODE(UPPER(MID(A1,ROW(INDEX(AAA:AAA,1):INDEX(AAA:AAA,LEN(A1))),1)))=CODE(MID(A1,ROW(INDEX(AAA:AAA,1):INDEX(AAA:AAA,LEN(A1))),1))),1),0," ")

它将迭代字符串并找到最后一个大写字母,然后将其相对位置返回到REPLACE函数,由于该函数中的第三个标准为0,因此将在该位置前放置一个空格。

enter image description here

答案 1 :(得分:1)

使用 A1 中的数据,在 B1 中输入数组公式:

=LEFT(A1,MAX(SIGN(1-(INT(CODE(MID(A1,ROW(A$1:INDIRECT("A"&LEN(A1))),1))/31)-2)^2)*ROW(A$1:INDIRECT("A"&LEN(A1))))-1)

并在 C1 中输入数组公式:

=MID(A1,MAX(SIGN(1-(INT(CODE(MID(A1,ROW(A$1:INDIRECT("A"&LEN(A1))),1))/31)-2)^2)*ROW(A$1:INDIRECT("A"&LEN(A1)))),9999)
必须使用 Ctrl + Shift + 输入输入

数组公式,而不仅仅是 Enter 键。如果这样做正确,公式将在公式栏中以大括号显示。

enter image description here

答案 2 :(得分:0)

或者您可以使用UDF - 保存以下代码以分离模块并使用!

Function LAST_CAPITAL(ByVal asw As String) As String
Dim i As Integer, cntr As Integer
cntr = -1
For i = 1 To Len(asw)
  If Mid(asw, i, 1) = UCase(Mid(asw, i, 1)) And Mid(asw, i, 1) <> " " Then cntr = cntr + 1
Next i
If cntr > 0 Then
  LAST_CAPITAL = Left(asw, cntr) & " " & Right(asw, Len(asw) - cntr)
Else
  LAST_CAPITAL = asw
End If
End Function

答案 3 :(得分:-2)

说文字'BTCBitcoin'在单元格F16中

当您在单元格G16使用= LEFT(F16,3)时,您将获得单元格G16的“BTC” 当您在G17单元格中使用= RIGHT(F16,7)时,您将获得G17单元格的“比特币” 当您在单元格G18使用= CONCAT(G16,“”,G17)时,您将获得单元格G18的“BTC比特币”。

你可以在G16单元格中完成所有这一切= CONCAT(左(F16,3),“”,右(F16,7))