我有以下表格数据:
原始数据:
Description
String A Q1FY18
String B Q1FY18, String B Q2FY18
String C Q4FY17, String C Q1FY18, String D Q2FY18
String E Q2FY18
我想将此列拆分为多列。目标数据框如下所示:
期望的输出:
Description Period
String A Q1FY18
String B Q1FY18
String B Q2FY18
String C Q4FY17
String C Q1FY18
String D Q2FY18
String E Q2FY18
我想到的是原始列是逗号分隔的,因此必须有一种方法来创建新列,方法是使用逗号分隔字符串作为分隔符。这一步看起来像这样:
第一步
Description Period1 Period2
String A Q1FY18
String B Q1FY18 Q2FY18
String C Q4FY17 Q1FY18
String E Q1FY18 Q2FY18
下一步是折叠表以获得所需的输出。如果我可以使用其他工具进行数据操作(例如R或Python)会更容易,但由于最终用户的限制,这些在这种情况下不是一个选项。您将如何转换原始数据以获得所需的输出?有没有办法使用逗号分隔原始数据作为分隔符,并且有权访问自动确定它应创建的新列的数量?我很感激你的帮助!
答案 0 :(得分:0)
您可以尝试这样的事情:
Dim strArray() As String
strTest = "String B Q1FY18, String B Q2FY18"
strArray = Split(strTest, ",")
For intCount = LBound(strArray) To UBound(strArray)
Debug.Print Trim(strArray(intCount))
Next