如何将 Excel 数据分组后按次序横向排列

您所在的位置:网站首页 excel能横向排序吗 如何将 Excel 数据分组后按次序横向排列

如何将 Excel 数据分组后按次序横向排列

#如何将 Excel 数据分组后按次序横向排列| 来源: 网络整理| 查看: 265

Excel 中有一份股票收益数据:

  A B 1 Date Stock_Return 2 1995-01-01 -5.20% 3 1995-02-01 2.10% 4 1995-03-01 3.70% 5 1995-04-01 6.90% 6 1995-05-01 6.50% 7 1995-06-01 -5.60% 8 1995-07-01 6.60% 9 1995-08-01 6.20%

计算目标:按指定区间[负无穷,-0.07,-0.05,-0.03,0,0.03,0.05,0.07] 对Stock_Return 列按段分组,并按Stock_Return逆序横向排列对应的Date。结果写在原 Excel 右侧,应当如下:

  D E F G H 1 -Infinity to -0.07         2 -0.07 to -0.05 1995-06-01 1995-01-01     3 -0.05 to -0.03         4 -0.03 to 0         5 0 to 0.03 1995-02-01       6 0.03 to 0.05 1995-03-01       7 0.05 to 0.07 1995-08-01 1995-05-01 1995-07-01 1995-04-01

按段分组虽然稍有难度,但用Excel 公式还是可以实现的,真正麻烦的是分组后横向按次序排列。

实现步骤:

1.  运行集算器(可以到润乾官网下载,用职场版,首次运行时会提示加载授权,下载个免费的就够了)

2.  用Excel 打开要计算的文件,选中 A1:B9 区域,按 ctrl+C 复制到剪贴板。

3.  切换到集算器,选中A1 格,注意要让光标落到 A1 的编辑状态中,用 ctrl+V,将数据粘贴进来。

 

 

 

4.  在集算器中继续填写脚本:

  A 1 …(复制来的数据) 2 =A1.import@t() 3 =[-0.07,-0.05,-0.03,0,0.03,0.05,0.07] 4 =A2.group@n(A3.pseg(Stock_Return)+1) 5 =A4.(~.sort(Stock_Return).(Date)) 6 =A5.concat@n("\t")

脚本函数group 可将数据分组(但不汇总),@n 表示从 1 开始按组号分组。函数 pseg 用于计算某个值所属的区间号,默认从 0 开始。函数 concat 用指定符号将大序列里的小序列合并为字符串,@n 表示字符串之间用回车换行分隔。

5.  按F9 执行,点击 A6,在右侧可以看到执行结果,点击"copy data" 按钮,将 A6 的计算结果复制到剪贴板

 

 

 

 

 

6.  在Excel 选中 E1 单元格,用 ctrl+V 粘贴,即可把结果填入 E1:H7。

 

7.  还剩Excel 的 D 列(左表头)未处理,可以手工填,也可以继续写如下集算器脚本,并用同样的方法将 A8 的计算结果复制粘贴到 Excel 的 D 列。

  A 7 =-inf()|A3 8 =A7.new(~ / "to  "/ ~[1]).to(A7.len()-1)

至此,所有的步骤已完成。



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3