Excel:将数据从行转换为列标题

时间:2016-06-29 10:11:14

标签: excel transpose

我的问题,正如标题所述,与将数据从行转置为列有关 原始数据变成了csv格式,在第二列“Dates and Rank”分号和空格中作为分隔符。

 Country    Dates and Rank
Switzerland [2014-03-07] 7;[2014-10-17] 7;
USA         [2011-07-01] 7;[2012-02-17] 7;[2012-09-30] 7;[2013-01-31] 7;
France      [2011-07-01] 4;[2012-02-17] 4;[2012-09-30] 4;
China       [2015-01-16] 7;[2015-03-06] 7;[2015-10-16] 7;[2015-10-23] 7;

因此,通过使用excel中的Text to Columns函数,我将'Dates and Rank'列中的数据分成不同的单元格。现在结果如下:

 Country        Dates and Rank  C   D               E   F               G   H               I               
 Switzerland    [2014-03-07]    7   [2014-10-17]    7               
 USA            [2011-07-01]    7   [2012-02-17]    7   [2012-09-30]    7   [2013-01-31]    7
 France         [2011-07-01]    4   [2012-02-17]    4   [2012-09-30]    4       
 China          [2015-01-16]    7   [2015-03-06]    7   [2015-10-16]    7   [2015-10-23]    7

*我还删除了日期中的方括号,并将它们指定为YMD单元格。 但我现在需要做的是使用日期作为标题,而我使用等级(1-7)作为单元格中的分配数据。例如:

 Country        2011-07-01  2012-02-17  2014-03-07 2014-10-17       
 Switzerland                                  6         7           
 USA                 5            7 

有什么建议吗? 谢谢。

1 个答案:

答案 0 :(得分:0)

我假设你的数据在单元格A1中开始(即A1包含"国家")。

首先,创建一个新的工作表,您的新订购数据将来到这里。您首先需要填写列标题行。你可以通过

来做到这一点
  1. 手动将原始数据中的所有日期列复制粘贴到新工作表中的单个列,以便所有日期都在一列中
  2. 删除重复项(在功能区中:数据>数据工具>删除重复项)
  3. 如果需要,可以对列表进行排序(数据>排序和过滤>排序)
  4. 在单元格B1中选择结果数据,复制和转置 - 粘贴(主页>粘贴>选择性粘贴,然后选中框"转置")。现在您还可以删除刚刚复制的数据。
  5. 其次,将源工作表的A列复制粘贴到目标工作表的A列中。

    最后,对于每个国家/地区和每个日期,您希望在日期旁边查找数据。您可以使用B2中的以下公式来执行此操作:

    = IFERROR( INDEX( Sheet1!2:2, 1, MATCH( B$1, Sheet1!2:2, 0 ) + 1 ), "" )
    

    最后,将此公式向下复制。

    这应该可以解决问题,但它不是一个非常灵活的解决方案,您需要完全按照说明执行这些步骤。例如,如果这些国家/地区的订单与原始数据表中的订单顺序不同,则无法正常工作。