【发布时间】:2021-06-05 02:50:45
【问题描述】:
是否可以将一个单元格中的数据拆分为单元格和行?我了解通过电源查询,您可以使用 , 作为分隔符将其拆分为 2 列,但我想知道是否也可以使用公式将此数据拆分为行和列。实际所需的输出可以在电子表格中的任何位置(实际上将在 sheet2 中)。
【问题讨论】:
标签: excel excel-formula office365 delimiter
是否可以将一个单元格中的数据拆分为单元格和行?我了解通过电源查询,您可以使用 , 作为分隔符将其拆分为 2 列,但我想知道是否也可以使用公式将此数据拆分为行和列。实际所需的输出可以在电子表格中的任何位置(实际上将在 sheet2 中)。
【问题讨论】:
标签: excel excel-formula office365 delimiter
在 Power Query 中,您可以根据您的问题将其拆分为 行和列。
<line feed>作为分隔符分割成行<space> 作为分隔符拆分为列-M码
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}, {"Column2", type text}}),
//Remove the extraneous commas
#"Replaced Value" = Table.ReplaceValue(#"Changed Type",",","",Replacer.ReplaceText,{"Column2"}),
//Split by linefeed into rows
#"Split Column by Delimiter" = Table.ExpandListColumn(
Table.TransformColumns(#"Replaced Value", {
{"Column2", Splitter.SplitTextByDelimiter("#(lf)", QuoteStyle.Csv), let
itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Column2"),
#"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Column2", type text}}),
//split on the <space> into columns
#"Split Column by Delimiter1" = Table.SplitColumn(#"Changed Type1", "Column2",
Splitter.SplitTextByEachDelimiter({" "}, QuoteStyle.Csv, false), {"Column2.1", "Column2.2"}),
#"Changed Type2" = Table.TransformColumnTypes(#"Split Column by Delimiter1",{{"Column2.1", type text}, {"Column2.2", type text}})
in
#"Changed Type2"
【讨论】:
根据问题通过公式:
A6中的公式:
=FILTERXML("<t><s>"&TEXTJOIN("</s><s>",,REPT(A2:A3&"</s><s>",LEN(B2:B3)-LEN(SUBSTITUTE(B2:B3,CHAR(10),""))+1))&"</s></t>","//s[.!='']")
B6中的公式:
=FILTERXML("<t><s>"&SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(TEXTJOIN(CHAR(10),,B2:B4),",","")&CHAR(10),"ppm"&CHAR(10)," ")," ","</s><s>")&"</s></t>","//s[.*0!=0][.!='']")
C6中的公式:
=FILTERXML("<t><s>"&SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(TEXTJOIN(CHAR(10),,B2:B4),",","")&CHAR(10),"ppm"&CHAR(10)," ")," ","</s><s>")&"</s></t>","//s[.*0=0]")
虽然我也会根据other 的答案推荐 PowerQuery。
【讨论】:
是的。通过 Microsoft Excel Text To Columns 功能在 Menu Data > Text To Columns 中找到。
理想的文本通常是等宽字体(需要等宽字体)或由逗号或其他类型的分隔符分隔。
提供好的数据 = 更好的结果
在单击“文本到列”之前,请务必选择要“拆分”的单元格范围。
【讨论】: