在MS Excel中的垂直列中映射混合数据

时间:2017-08-29 11:52:28

标签: excel excel-vba vba

我没有找到解决以下问题的方法:

我的工作表包含一行具有唯一ID的数据,请参见下文:

input data

问题:如何将数据组织得如下?冒号前的名称将映射到行标题,如图像中所示。

results data

1 个答案:

答案 0 :(得分:0)

以下解决方案假定:

  • 输入数据中的列数已知(解决方案假设Unique ID列后需要5列)
  • "属性"即输出中使用的列标题是已知列表
  • 如果某个属性在输入行中出现多次,则仅使用与最左边的匹配项关联的值(请参阅Mrig的评论)

enter image description here

该解决方案使用8个基本Excel函数:FIND(), LEFT(), RIGHT(), TRIM(), LEN(), INDEX(), MATCH() and IFERROR()。如果您想了解解决方案的工作原理,那么您需要了解这些功能及其功能。这些函数组合成3个基本公式:(1)提取输入数据中属性:值对的属性部分; (2)提取部分; (3)在每个输出列中获取正确的