Microsoft Excel 数据转换

Microsoft Excel 数据转换

我有一个如下所示的 Excel 文档:

Country       Property   Value 
Canada        Capital    Ottawa 
Canada        Population 38 
Canada        Language1  French 
Canada        Language2  English 
United States Capital    Washington  
United States Population 280 
United States Language1  English 
United States Language2  NA

我想重新排列它,使它看起来像这样:

Country         Capital     Population Language1 Language2
Canada          Ottawa      38         French    English
United States   Washington  280        English   NA

有什么方法可以实现这种转变吗?谢谢。

答案1

注意:假设第一个表包含“Country”、“Property”和“Value”列,存储在 Sheet1 中。

  1. 创建新工作表,其中包含国家、首都、人口、语言 1、语言 2 等列
  2. 用不同的国家填充第一列
    1. 从 Sheet1 复制所有国家/地区
    2. 使用删除重复值函数
  3. 在新工作表中的单元格 B2 中输入下面的数组公式。输入公式时请记住使用 Ctrl + Shift + Enter 使其成为数组公式(通过花括号可见)
  4. 将公式从 B2 复制/粘贴到其余单元格

    =OFFSET(Sheet1!$A$1;MIN(IF((Sheet1!$A$2:$A$1000=$A2)*(Sheet1!$B$2:$B$1000=B$1);ROW(Sheet1!$A$2:$A$1000);FALSE))-1;2)

(该公式检索与国家和属性名称匹配的源数据的第一个行号,然后使用偏移函数从该行检索属性值)

答案2

我认为这个公式实际上可能是...

=OFFSET(Sheet1!$A$1,MIN(IF((Sheet1!$A$2:$A$1000=$A2)*(Sheet1!$B$2:$B$1000=B$1),ROW(Sheet1!$A$2:$A$1000),FALSE))-1,2,-1)

相关内容