excel - 将重复数据从行转换为列 Excel
问题描述
我有以下格式的基本住房数据数据集:
现有数据格式:
该格式是相同的,并且重复用于数百个属性。我想将其转换为表格格式,如下例所示:
财产种类 | 价格 | 地点 | 地区 | 附加信息 | 区域 |
---|---|---|---|---|---|
房子 | 252000 | 伦敦 | 肯辛顿 | 4500平方米 | |
... | ... | ... | ... | ... | ETC |
换句话说,我想在“:”符号列名之前制作文本,之后的文本是进入相应单元格的数据,并为数百个站点重复该操作。通常附加信息中缺少(无数据),但有时有。我不确定哪个是执行此操作的最佳程序。到目前为止,我想到的是 Excel,但如果有更简单的方法,我会很乐意使用它。
解决方案
根据我下面的屏幕截图Excel 365
,我使用了以下公式。
C2=FILTERXML("<t><s>"&SUBSTITUTE(INDEX($A:$A,SEQUENCE(COUNTA($A:$A)/4,1,1,4)),": ","</s><s>")&"</s></t>","//s[last()]")
D2=FILTERXML("<t><s>"&SUBSTITUTE(INDEX($A:$A,SEQUENCE(COUNTA($A:$A)/4,1,2,4)),": ","</s><s>")&"</s></t>","//s[last()]")
E2=FILTERXML("<t><s>"&SUBSTITUTE(SUBSTITUTE(INDEX($A:$A,SEQUENCE(COUNTA($A:$A)/4,1,3,4)),",","</s><s>"),":","</s><s>")&"</s></t>","//s[2]")
F2=FILTERXML("<t><s>"&SUBSTITUTE(SUBSTITUTE(INDEX($A:$A,SEQUENCE(COUNTA($A:$A)/4,1,3,4)),",","</s><s>"),":","</s><s>")&"</s></t>","//s[last()-1]")
H2=FILTERXML("<t><s>"&SUBSTITUTE(INDEX($A:$A,SEQUENCE(COUNTA($A:$A)/4,1,4,4)),": ","</s><s>")&"</s></t>","//s[last()]")
如果您不在,Excel 365
那么可以尝试-
=FILTERXML("<t><s>"&SUBSTITUTE(INDEX($A:$A,ROW($A1)+(ROW($A1)-1)*3),": ","</s><s>")&"</s></t>","//s[last()]")
基本上=ROW(A1)+(ROW(A1)-1)*3
会生成一个行号序列,并根据该序列INDEX($A:$A,ROW($A1)+(ROW($A1)-1)*3)
返回值。Column A
然后FILTERXML()
将返回参数中指定的预期值xPath
。
要知道,你FILTERXML()
可以从 JvdV阅读这篇文章。FILTERXML()
这对恋人来说是一篇很棒的文章。
推荐阅读
- c - 进程之一的 MPI 错误终止退出代码:139
- jaxb - Karaf - 由于“org.apache.camel.model.cloud”不包含 ObjectFactory.class 或 jaxb.index,渲染 Swagger API 时出错
- c# - 使用 EntityFrameworkCore 5 将 C# 9 记录映射为值对象
- r - 使用 R 中的 for 循环从数据帧中采样行
- math - 将 2D 三角形上的点投影回 3D?
- python - 有人可以帮我解决 Pyspark 流错误:int() 以 10 为底的无效文字
- jsonpath - JsonPath 用于多个对象
- r - 有没有办法链接一个数据框中的列,然后用它来转换不同数据框中的列的值?
- python-3.x - 如何忘记循环创建的按钮?
- python - Pandas 取平均值并删除重复项