将矩阵转换为3列表('反向枢轴','展开','展平','正常化')

use*_*042 29 excel pivot-table unpivot matrix powerquery

我需要FIRST在表格中转换Excel矩阵LATER:

第一:

    P1  P2  P3  P4
F1  X
F2  X   X
F3      X       X
F4      X   X
Run Code Online (Sandbox Code Playgroud)

稍后:

F   P   VALUE
F1  P1  X
F1  P2
F1  P3
F1  P4
F2  P1  X
F2  P2  X
F2  P3
F2  P4
F3  P1
F3  P2  X
F3  P3
F3  P4  X
F4  P1
F4  P2  X
F4  P3  X
F4  P4
Run Code Online (Sandbox Code Playgroud)

pnu*_*uts 51

要"反转枢轴","展开"或"展平":

  1. 对于Excel 2003:激活摘要表中的任何单元格,然后选择"数据 - 数据透视表和数据透视图报表":

    SO20541905第一个例子

对于更高版本,使用Alt+ D,访问向导P.

对于Excel for Mac 2011,它是+ Alt+ P(见这里).

  1. 选择多个合并范围,然后单击Next.

    SO20541905第二个例子

  2. 在"Step 2a of 3"中,选择我将创建页面字段并单击Next.

    SO20541905第三个例子

  3. 在"步骤2b of 3"中,在" 范围"字段中指定汇总表范围(A1:E5表示样本数据)Add,然后单击,然后单击Next.

    SO20541905第四个例子

  4. 在"第3步,共3步"中,选择数据透视表的位置(现有工作表应该投放,因为临时只需要PT):

    SO20541905第五个例子

  5. 单击Finish以创建数据透视表:

    SO20541905第六个例子

  6. 在Grand Totals(此处为Cell V7或7)的交叉处向下钻取(即双击):

    SO20541905第七个例子

  7. 现在可以删除PT.

  8. 所得到的表可以通过选择被转化细胞的常规阵列中快速菜单(表中右击),并转换到范围.

Launch Excel上有一个关于同一主题的视频,我认为它质量很好.

  • pnuts,这真的很整洁,唯一的缺点是,如果原始表中的数据更新,它将不会自动传播到新表.但是,否则,一个完美的解决方案! (2认同)
  • ALT + D,P-Shortcut在非英语Excel版本中不可用.有关解决方法,请参阅/sf/ask/2248065361/#32116657. (2认同)

tey*_*lyn 23

另一种不使用VBA来取消数据的方法是使用PowerQuery,这是Excel 2010及更高版本的免费插件,可在此处获取:http://www.microsoft.com/en-us/download/details.aspx?id = 39379

安装并激活Power Query加载项.然后按照下列步骤操作

向数据源添加列标签,并通过"插入">"表格"或Ctrl- 将其转换为Excel表格T.

在此输入图像描述

选择表格中的任何单元格,然后在Power Query功能区上单击"从表格".

在此输入图像描述

这将在Power Query Editor窗口中打开表.

在此输入图像描述

单击第一列的列标题以将其选中.然后,在" 变换"功能区上,单击"未透视列"下拉列表,然后选择" 取消透视其他列".

对于没有Unpivot other columns命令的Power Query版本,请选择除第一个列之外的所有列(使用按住Shift键单击列标题)并使用Unpivot命令.

在此输入图像描述

结果是一张平台.单击"主页"功能区上的" 关闭并加载 ",数据将加载到新的Excel工作表中.

在此输入图像描述

现在到了好的方面.例如,将一些数据添加到源表中

在此输入图像描述

单击包含Power Query结果表的工作表,然后在"数据"功能区上单击" 全部刷新".你会看到类似的东西:

在此输入图像描述

Power Query不仅仅是一次性转换.它是可重复的,可以链接到动态变化的数据.