使用单个公式进行高级逆透视

问题描述 投票:0回答:1

最近有人问我是否可以在不使用 PowerQuery、VBA 或 TypeScript 等任何更“高级”功能的情况下在 Excel 中反转数据表。

excel excel-formula unpivot excel-365
1个回答
0
投票

过去,我曾使用一些相当复杂的

INDEX/MATCH
解决方案来完成此任务,但令我惊讶的是(近年来我并没有真正经常使用 Excel)Excel 365 使这变得非常容易。

一般解决方案非常简单且可读(特别是在使用命名表和范围时)。例如,对于一个基本表,例如:

这个公式实际上非常简单并且很容易遵循:

 =TEXTSPLIT(
      TEXTJOIN(",",TRUE,
           TOCOL(Table3[Company]&"|"&Table3[[#Headers],
           [2020]:[2023]]&"|"&Table3[[2020]:[2023]])),
           "|",",")

真正让我印象深刻的是新的

LET
功能对我来说是多么有用。例如,当对输入稍有不同(带空格)和所需输出稍有不同的表进行逆透视时,使用
LET
使公式更容易遵循:

 =LET(
      array,
      TEXTSPLIT(TEXTJOIN(",",TRUE,TOCOL(Table2[COMPANY]&"|"&Table2[[Service 1]:[Service 5]])),"|",","),
      FILTER(array,CHOOSECOLS(array,2)<>""))

我还没有在网上找到很多此类非旋转公式的示例,因此希望其他人也会发现它有用。

© www.soinside.com 2019 - 2024. All rights reserved.