如何在excel单元格中分隔字符串,以便将结果放入不同的单元格中。
Apple_watch_1stGen_Used
Apple_watch_2ndGen_New
Apple_iPhone_5s_New
Apple_iPhone_5s_Used_referb
我想在excel中做的是在其他单元格中分隔这些值,以便我可以像在图像中那样使用它们。我想要的是令牌应该如此处所示。我现在只有A栏
我所做的是使用FIND功能寻找" _"然后将这些添加到B列,以便为我找到令牌。然后添加更多,但它变得复杂,不实用。有更简单的方法吗?
K2单元格公式(这是我开始计算字符数的地方)
=FIND("_",$B2)
L2细胞公式变得更加复杂
=FIND("_",$B2,K2+1)
M2细胞配方变得更复杂,然后N,O,P ......应该比我的更复杂
FIND("_",$B2,L2+1),LEN($B2)
在令牌系列中我有这个
B2细胞形成
=MID($B2,K2+1,L2-K2-1)
答案 0 :(得分:0)
您可以使用Excel VBA的分割功能制作一个新功能,我曾经使用它并从互联网上获取,不知道作者可以信用。
只需在Excel VBA模块上输入代码即可。
这是描述新功能的代码:
Sub DescribeFunction()
Dim FuncName As String
Dim FuncDesc As String
Dim Category As String
Dim ArgDesc(1 To 3) As String
FuncName = "EXTRACTELEMENT"
FuncDesc = "Returns the nth element of a string that uses a separator character/Retorna o enésimo elemento da string que usa um caractér separador."
Category = 7 'Text category
ArgDesc(1) = "String that contains the elements/String que contém o elemento"
ArgDesc(2) = "Element number to return/ Número do elemento a retornar"
ArgDesc(3) = "Single-character element separator/ Elemento único separador (spc por padrão)"
Application.MacroOptions _
Macro:=FuncName, _
Description:=FuncDesc, _
Category:=Category, _
ArgumentDescriptions:=ArgDesc
End Sub
这就是功能:
Function EXTRACTELEMENT(Txt As String, n, Separator As String) As String
EXTRACTELEMENT = Split(Application.Trim(Txt), Separator)(n - 1)
End Function
您必须输入(单元格,数字,分隔符:在您的情况下为“_”)
例如:Apple_watch_1stGen_Used在A1
上EXTRACTELEMENT(A1,1,“_”)将输出Apple
EXTRACTELEMENT(A1,2,“_”)会输出手表
等等......
你可以使用Split功能来实现它。
答案 1 :(得分:0)
您可以使用REM Exports the Systems Environmental Variables
reg export "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "C:\Software\%COMPUTERNAME%_ENV_VAR_BACKUP.reg" /y
REM Searchs for Java path and changes if necessary
IF "%PATH%" = "*jre1.8.0_141*" (
THEN **NOT SURE WHERE TO GO FROM HERE**
)
向导(在Text-to-Columns
标签上)。但是如果你需要一个Excel公式:
首先定义一个命名公式。此公式在序列Data
{1,99,198, ...}
然后,使用以下公式:
seq_99 Refers To: =IF(ROW(INDEX($1:$65535,1,1):INDEX($1:$65535,255,1))=1,1,(ROW(INDEX($1:$65535,1,1):INDEX($1:$65535,255,1))-1)*99)
根据需要填写和填写
算法:
B2: =INDEX(TRIM(MID(SUBSTITUTE($A2,"_",REPT(" ",99)),seq_99,99)),COLUMNS($A:A))
字符替换为大量空格 split
MID
返回值数组
start_num
数组中的每个元素都可以去除多余的空格。TRIM
现在可用于按顺序返回数组中的每个元素。如果使用“公式评估”工具,则可以查看每个步骤。