尝试将两个数字列展开为多个列

尝试将两个数字列展开为多个列

也许有人可以再次帮助我。我有 2 列数字。我需要一个 excel 公式(过滤器??),对于所有 Ref 值,只有相应的输出值放在单独的列中。列中的数据最多可以有 200 个数据点,Ref 列中的唯一引用数可以是任意数。我的测试示例

Output.    Ref
23.           45
26.           45
22.           45
24.            45
19.            35
18.            35
20.            35
18.            35
20.            40
21.            40
20.            40
19.            40

结果是:

Ref_45.      Ref_35.    Ref_40.      Etc.   Etc.   Etc. 
23.              19.            20
26.              18.            21
22.               20.           20
24.               18.           19 

我尝试了一些方法,但无法以这种方式获得确切的输出。希望你能帮忙。问候,Ger 第一次尝试 第二次更好的尝试 但在第二次尝试中,我之前和之后都有空单元格

答案1

我相信你的第二次尝试已经走上了正确的道路。

  1. 在 A 列中为数据添加计数列。在第一个单元格中输入 1,例如 A2。然后 A3 变为 =IF(C3=C2,A2+1,1)
  2. 使用 UNIQUE 来过滤引用并转换成列。
  3. 使用 MATCH 找到所述 ref 列第一次出现的数组位置 (AP)
  4. 现在在参考列之前放置另一个计数列 -> 这将是查找值。
  5. 在由 OFFSET($A$1、匹配 #3 的 AP、0、输出长度(示例中为 4)**、3) 定义的数组上对计数列 1,2,3,4... 执行 VLOOKUP,返回第 2 列(输出)。

现在您将不再有空单元格!

  • 如果每个参考列没有固定长度的输出数组,请根据下一个相邻参考列的 MATCH AP 调整偏移量的可变高度参数,即 AP_ref35 - AP_ref45

挑战:用数据透视表替换 UNIQUE 函数步骤,尤其是在您没有 Office 2019 或 365 的情况下

答案2

感谢您提供的数据和预期输出的出色示例。

使用 Excel O365

对于列标题:

E1: =TRANSPOSE(UNIQUE(Ref))

对于数据

E2: =FILTER(Output,Ref=E$1)

并根据需要填写

(用范围引用替换Ref和)Output

在此处输入图片描述

使用 O365,还有一个SORT功能,以防您想要对列标题(或数据,或两者)进行排序

相关内容