我从外部系统导出了CSV数据,其中许多字段可以容纳多个相关值。在用户界面中,这些字段的数据在单列中以逗号分隔。
我将定期需要导出此数据以更新Excel 2016中的数据。
在CSV导出中,这些字段中的每个附加值都会产生具有相同字段标题的另一列(例如Sprints | Sprints | Sprints),每一列都具有该字段中的一个值(例如S1 | S2 | S3)。值越多,列标题就越重复。
下次我导出时,列可能会更改,数据可能看起来像这样。导入的数据甚至可能包含更多的comp数据列。同样,通过右侧的首选输出。
我已经进行了一些谷歌搜索,但是我看到的所有连接解决方案都与根据列中的值而不是列标题进行数据连接有关。
MAX(B1:D1)和MAXA(B1:D1)忽略文本值,并返回范围的0。每次更改CSV数据中的列数时,也需要手动设置范围
我需要每个Excel单元格/列中具有相同列标题/名称的每个字段的所有多个值(例如,S1 S2 S3),但无法控制任何给定字段中具有相同列标题/名称的列的数量导出。
或者,我可能只用最左边和最右边的列值(例如S1和/或S3)就能成功。
理想情况下,每次将CSV数据重新导入Excel后,无需任何其他手动干预即可修改范围。
答案 0 :(得分:0)
我没有最好的解决方案,但是目前这应该有所帮助。
然后进入Sheet2,
1.在A1单元格中,手动在Sheet1中添加与A1相同的标题,或使用公式=Sheet1!A1
2.对于列标题,请在单元格B1中使用此公式,将其扩展到同一行,直到得到零:
=INDEX(Sheet1!1:1,1,LOOKUP(2,1/(Sheet1!$1:$1=A$1),COLUMN(Sheet1!$1:$1))+1)
=TEXTJOIN(",",TRUE,INDIRECT(CONCATENATE("Sheet1!",ADDRESS(ROW(),MATCH(A$1, Sheet1!$1:$1,0)))):INDIRECT(CONCATENATE("Sheet1!",ADDRESS(ROW(),LOOKUP(2,1/(Sheet1!$1:$1=A$1),COLUMN(Sheet1!$1:$1))))))