在没有聚合的情况下在Excel中旋转,以显示文本,而不是数字?

Pyt*_*ous 12 excel pivot pivot-table

假设我有一个这样的表格:

Country Region  Mytext
USA     North   a
USA     South   b
Brasil  North   c
Brasil  South   d
Run Code Online (Sandbox Code Playgroud)

如何在Excel中获得这样的支点?

Country  North         South
USA      a             b
Brasil   c             d
Run Code Online (Sandbox Code Playgroud)

如果'mytext'是一个数字,我可以做一个数据透视表:因为每个国家和地区组合只有一行,min = max = sum = avg,这些聚合函数中的任何一个实际上都会显示结果我想要.

但是当我想要的字段是非数字时呢?使用Python的pandas库,我甚至可以在非数字字段上使用dataframe.pivot()方法,但我还没有找到在Excel中执行相同操作的方法.我可以将一个数字关联到每一行,在Excel中执行数据透视以显示该数字,然后执行查找以获取相关文本,但对于应该真正更容易的事情来说,这似乎是一个相当复杂的过程!

vis*_*u-l 7

您可以使用MS Power Query Add-in*.透视表没有vba很容易.它对于数据转换是免费且非常有效的.

M代码

 let
    Source = Excel.CurrentWorkbook(){[Name="table1"]}[Content],
    #"Pivot column" = Table.Pivot(Source, List.Distinct(Source[Region]), "Region", "Mytext")
in
    #"Pivot column"
Run Code Online (Sandbox Code Playgroud)

你的输出 在此输入图像描述

'*来自MS Office 2016,它完全集成在Excel中作为Get&Transform功能.

  • 要使用GUI执行此操作:选择表 - > power query - > excel data - > from table - >选择列'region' - > transform - > pivot列 - > values列:mytext - >高级选项:don'聚合.如果更改原始源并右键单击输出表上的刷新,则会刷新输出. (2认同)