Excel 转置需求越来越复杂,隔列转置,有好多列,怎么办?

您所在的位置:网站首页 excelcopy公式 Excel 转置需求越来越复杂,隔列转置,有好多列,怎么办?

Excel 转置需求越来越复杂,隔列转置,有好多列,怎么办?

#Excel 转置需求越来越复杂,隔列转置,有好多列,怎么办?| 来源: 网络整理| 查看: 265

公众号平台最新的推送规则对技术类文章不太友善,如果不想错过干货,请务必 “设为星标”哦!!!

点击上方蓝字 --> 点击“...”--> 选择“设为星标”

之前教了大家行列转置的各种方法,用的是单行单列的案例,那么今天再升级一下难度,要以每 n 列为一组,将其转置有哪些好办法?

案例:

将下图 1 中的所有获客和流失数据都放到同一列中,并添加月份列加以区分。

效果下图 2 所示。

解决方案 1:

1. 在 B12 单元格中输入以下公式 --> 向右向下拖动单元格,复制公式:

=D2&""

2. 在“姓名”列后面插入一列“月份”列 --> 选中 B2:B31 区域 --> 输入以下公式 --> 按 Ctrl+Enter:

=(INT((ROW(A1)-1)/10)+1)&"月"

公式释义:

INT((ROW(A1)-1)/10):

int 函数的作用是将数字向下舍入到最接近的整数;

语法为 int(需要进行向下舍入取整的数值);

本例中一共有 10 个人名,所以每 10 行为一组,使用相同的编号,每递增 10 行编号步长增加一次;

随着公式下拉,row 函数结果递增,用 0 到 9 依次除以 10 并向下取整,得到的结果为连续 10 行 0;下一个 10 行的结果则为连续 10 行 1,依此类推;

...+1:将上述结果 +1,编号就变成了从 1 开始;

...&"月":在序号后面加上文字“月”

3. 复制“姓名”列中的所有人名 --> 选中 A12:A31 区域 --> 粘贴

4. 将 B 至 D 列的公式复制粘贴为值。

5. 此时 C、D 列的数字仍然是文本格式,选中有绿色小箭头的数字区域 --> 点击区域左上角的“!”下拉框 --> 在弹出的菜单中选择“转换为数字”

6. 删除多余的行和列、复制格式、修改 C、D 列的标题。

解决方案 2:

其实这个方案的公式要复杂一些,很多同学因此看了了第一种就不想再学这个了,这个公式是借此教大家学会对 indirect 函数的灵活运用,所以一定要看下去。

1. 在 B12 单元格中输入以下公式 --> 向右向下拖动复制公式:

=INDIRECT(ADDRESS(ROW(A2),COLUMN(D1),4))&""

公式释义:

ADDRESS(ROW(A2),COLUMN(D1),4):

之前的推文中我们已经讲解过这个函数,作用是提取出单元格的地址;

语法为 ADDRESS(行号,列号,引用类型),此处的引用类型为 4,表示相对引用;

本例因为既要横向引用又要纵向引用,所以两个参数分别要用到 row 和 column,这样才能拖动后顺位到下一个行或列;

INDIRECT(...):该函数的作用是返回参数中单元格的值;

&"":如遇空单元格,则返回空值,而不是显示 0,避免引起误解

2. 后面的步骤就跟前一个解决方案完全一样。



【本文地址】


今日新闻


推荐新闻


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