Excel将垂直数据转换为水平结构

时间:2018-10-18 01:24:15

标签: excel excel-vba excel-formula

我正在寻找一种转换以下垂直表结构的方法

enter image description here

注意:我不在乎前两列之后的3行

到水平结构 enter image description here

1 个答案:

答案 0 :(得分:0)

假设原始数据如下表1所示。

Original Data

通过执行以下步骤几乎可以实现:

  1. 删除重复项(数据->删除重复项)/过滤列的唯一值(过滤器->复制到另一个位置->仅唯一记录)

Desired Data

  1. 使用以下公式,该公式是工作表Sheet2单元格B1中OFFSETCOUNTIFMATCHINDEXCOLUMN的组合上下拖动即可获得所需的结果,如上图所示。

    = IF(COLUMN(B2)-1 <= COUNTIF(Sheet1!$ A:$ A,Sheet2!$ A1),INDEX(OFFSET(Sheet1!$ A $ 1,MATCH(Sheet2!$ A1,Sheet1!$ A $ 1:$ A $ 9,0)-1,1,COUNTIF(Sheet1!$ A:$ A,Sheet2!$ A1),1),COLUMN(B2)-1),“”)

注意:由于我假设读者对MS Excel有基本的了解,所以没有详细说明步骤1。如果您不知道要删除重复项,请尝试搜索Stackoverflow网站,您会发现很多文章。