首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Excel–用offset函数将一列数据首尾倒置

一列数据,如果需要对其进行首尾倒置的逆向排序,大家可以想到几种方法?

需求:

将 A 列的数据首尾倒置排序

解决方案 1:排序法

1. 在 B 列顺序填充 1 到 9 的自然数

2. 选中 A、B 两列,选择菜单栏的“数据”-->“排序”

3. 在弹出的对话框中,“主要关键字”选“列 B”,“次序”选“降序”--> 确定

4. 即已排好

解决方案 2:公式法

本例中,我提供两种公式:

=OFFSET(A1,COUNTA($A1:$A$9)-ROW(),)

=OFFSET($A$1,COUNTA($A$1:$A$9)-ROW(),)

公式释义:

乍一看,两个公式非常接近,唯一的区别在于 A1 的行值固定和不固定。我们依次来解释一下:

OFFSET 函数用于返回对单元格或单元格区域中指定行数和列数的区域的引用

语法结构为:=OFFSET(基准位置,向下或上偏移几行,向右或左偏移几列,引用区域的高度,引用区域的宽度)

1. 先来分解 B 列的公式:

OFFSET(A1,COUNTA($A1:$A$9)-ROW(),):以 A1 为基准位置,向下偏移一定的行数,不需要向右偏移,所以第二个参数留空

COUNTA($A1:$A$9)-ROW():向下偏移的行数为 $A1 至 $A$9 的总数(即 9),减去当前行数

B1 的偏移行数为 9-1=8;A1 向下 8 行,就是 A9

拖动公式到 B2 时,A1 自动变成了 A2,即以 A2 为基准向下偏移;偏移的行数为 COUNTA($A2:$A$9)-ROW(),即 8-2=6;A2 向下 6 行,就是 A8

依次类推,实现倒置

2. 再来分解 C 列的公式:

OFFSET($A$1,COUNTA($A$1:$A$9)-ROW(),):依然是向下偏移,但是始终以 $A$1 为基准位置

COUNTA($A$1:$A$9)-ROW():向下偏移的行数为 $A$1 至 $A$9 的总数(即 9,因为用 $ 固定了区域,所以这个总数始终不变),减去当前行数

B1 的偏移行数为 9-1=8;$A$1 向下 8 行,就是 A9;

拖动公式到 B2 时,仍以 $A$1 为基准向下偏移;偏移的行数为 COUNTA($A$1:$A$9)-ROW(),即 9-2=7;$A$1 向下 7 行,就是 A8

依次类推,实现倒置

Excel学习世界

转发、在看也是爱!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200614A087VY00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券