Excel 二维数组(数据块)旋转/翻转技巧

原创 2017-12-30 久石六 久石六

工作中遇到个问题,需要将Excel中的数据块或者说二维数组向右旋转90度,才能再加工处理。当然,不是旋转文本方向,那太容易了,而是整体旋转改变数据块的排列组合顺序。如下所示:

这个问题如果换成是图形,那也很容易,在“格式”菜单下有旋转功能可选,可是数据块怎么旋?问问度娘,似乎只给出了一种解决方案,就是利用 Offset 函数,这个亲测也确实有效,视为第一种方法吧,可是自己经常要做这样的旋转,不停地码公式也是醉了,一不小心还会出错,还有没有其它办法呢?


下面给出自己探索出来的第二种方法,还是有点小小的骄傲的,虽然遇到这种问题的人可能很少,还是分享出来以供参考

有些人可能看不太明白,我们可以简化一点,看看其中的逻辑。如下图所示,棕红色条状代表辅助行,蓝色条状代表辅助列,箭头代表数据的顺序,那么以上转换过程就可以简化成:

上面是第一种情况——向右旋转90度,由此也可以很容易推导出其它旋转的方法。

向左旋转90度

垂直翻转

水平翻转

向右、向左旋转180度,效果是一样的:

那出个考题,如果是向右或者向左旋转360度,应该怎么做呢?


哦?有人说不知道怎么按排序,简单介绍下吧,毕竟我也很晚才认识到Excel可以这样子排序的,闲言少叙,下面酱紫:

Excel 菜单“开始” => 排序和筛选 => 自定义排序 => 蹦出下图左边的对话框=>点击“选项”按钮蹦出右边的对话框,看到没?默认的“按列排序”,选择“按行排序”就好了,然后依次选择“主要关键字”、排序依据、次序,好啦,大功告成!

Excel 二维数组(数据块)旋转/翻转技巧的更多相关文章

  1. 计算机二级-C语言-对二维数组数据进行处理。对文件进行数据输入。形参与实参。

    //函数fun的功能为:计算x所指数组中N个数的平均值(规定所有数都为正数),平均值通过形参返回给主函数,将小于平均值且最接近平均值的数作为函数值返回,并输出. //重难点:形参与实参之间,是否进行了 ...

  2. python中的二维数组90度旋转

    data=[[col for col in range(4)] for raw in range(4)] #创建一个二维数组 for n in data: print (n) print('\n') ...

  3. 计算机二级-C语言-对标志位的巧妙使用。对二维数组数据进行处理。对文件进行数据输入。

    //函数fun的功能是:计算形参x所指数组中平均值(规定所有数均为正数),将所指数组中大于平均值的数据移至数组的前部,小于等于的移至后部,平均值作为返回值,在主函数中输出平均值和后移的数据. //重难 ...

  4. PHP导出excel文件,第二步先实现自写二维数组加入模板excel文件后导出

    今天主要研究数据加入EXCEL并导出的问题,先不从数据库提取数据导出,自己先写一个二维数组,然后遍历二维数组写入excel模板中导出,首先根据模板excel的内容书写对应的二维数组 $arr=arra ...

  5. Java读取excel指定sheet中的各行数据,存入二维数组,包括首行,并打印

    1. 读取 //读取excel指定sheet中的各行数据,存入二维数组,包括首行 public static String[][] getSheetData(XSSFSheet sheet) thro ...

  6. python-Day4-迭代器-yield异步处理--装饰器--斐波那契--递归--二分算法--二维数组旋转90度--正则表达式

    本节大纲 迭代器&生成器 装饰器  基本装饰器 多参数装饰器 递归 算法基础:二分查找.二维数组转换 正则表达式 常用模块学习 作业:计算器开发 实现加减乘除及拓号优先级解析 用户输入 1 - ...

  7. 用js实现二维数组的旋转

    我最近因为做了几个小游戏,用到了二维数组,其中有需求将这个二维数组正翻转 90°,-90°,180°. 本人是笨人,写下了存起来. 定义的基本二位数组渲染出来是这种效果. 现在想实现的结果是下面的效果 ...

  8. 从txt文件中读取数据放在二维数组中

    1.我D盘中的test.txt文件内的内容是这样的,也是随机产生的二维数组 /test.txt/ 5.440000 3.4500006.610000 6.0400008.900000 3.030000 ...

  9. C#读txt文件并写入二维数组中(txt数据行,列未知)

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...

随机推荐

  1. icpc2018-焦作-F Honeycomb bfs

    http://codeforces.com/gym/102028/problem/F 就是一个bfs,主要问题是建图,要注意奇数和偶数列的联通方案是略有不同的.比赛的时候写完一直不过样例最后才发现没考 ...

  2. Angular - - ng-focus、ng-blur

    1.ng-focus 这个指令功能就是比如当一个input等获取到焦点的时候,执行你指定的表达式函数,达到你需要的目的 格式:ng-focus=“value” value:获取焦点时执行的表达式,方法 ...

  3. windows server下设置远程会话自动注销

    通过远程桌面连接windows server服务器时,经常是直接关闭远程桌面程序,而没有注销远程登录的用户,这样导致有很多远程桌面启动的进程依然运行在服务器上,对服务器产生了不必要的开销,其实作为se ...

  4. 34 char类型转换为int类型

    #include<iostream> #include<cstdlib > using namespace std; int main() { char a=101; int ...

  5. UVa LA 4254 - Processor 二分,贪心 难度: 1

    题目 https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_pr ...

  6. 正确学习Linux系统的5个建议

    摘要: 最近几年Linux系统应用越来越广泛,以至于很多人开始热衷学习Linux.但是我们都是从小都是学习windows系统长大的,从windows 98到现在的windows 10,而根据学习win ...

  7. keras在win下的安装,使用等

    http://cache.baiducontent.com/c?m=9d78d513d99a16ef4fece42d4c01d6160e2482744cd7c7637ac3e34a84652b5637 ...

  8. format格式化和函数

    {[name][:][[fill]align][sign][#][0][width][,][.precision][type]}用{ }包裹name命名传递给format以命名=值 写法, 非字典映射 ...

  9. Hashmap的学习整理

    这是我大致了解Hashmap的第一个博客:https://www.cnblogs.com/chengxiao/p/6059914.html 我将摘录里面的重点: 哈希表的主干就是数组 存储位置 = f ...

  10. 学号 20175223 《Java程序设计》第1周学习总结

    学号 20175223 <Java程序设计>第1周学习总结 教材学习内容总结 第一章要点: 要点1:Java的三大平台:Java SE,Java EE,Java ME. 要点2:Java的 ...