栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > 资讯 > 其他资讯

列出 Excel 所有单元格的排列组合,换成计算机的思考方式就简单了

列出 Excel 所有单元格的排列组合,换成计算机的思考方式就简单了

今天遇到一个比较有意思的求助:公司本轮推广活动中有好几个 SKU,如何列出这些 SKU 的所有排列组合?

刚开始我也想了一会,但是当我开始列出排列组合的时候,那一堆 0101 让我豁然开朗,哈哈,这不就是二进制吗?大学一开始就讲的底层知识。

案例:

下图 1 是本次促销的几个 SKU,请列出所有可能的购买组合。

效果如下图 2 所示。

解决方案:

1. 复制 A2:A6 区域 --> 选中 C1 单元格

2. 选择菜单栏的“开始”-->“粘贴”-->“选择性粘贴”

3. 在弹出的对话框中勾选“转置”--> 点击“确定”

如果纯人工排列组合的话,可以这样标识:在卖出的 SKU 下方写 1,没有卖出的写 0。

为啥我觉得很眼熟?这不就是二进制数据的表达方式吗?

想穿了这层,接下来的一切就变得很容易了。我列一个二进制顺序列,然后再将其中的 1 替换为 SKU 的名称不就好了吗?

4. 在 H2 单元格内输入以下公式 --> 下拉直至单元格结果为 1111 为止:

=DEC2BIn(ROW(A1))

公式释义:

DEC2BIN 函数的作用是将十进制转换为二进制;ROW(A1):提取 A1 单元格的行号,随着公式下拉,行号会以步长为 1 顺序递增,也就是产生一列十进制顺序序列

有关 DEC2BIN 函数的详解,请参阅 一大波 Excel 进制转换函数来袭,二、八、十、十六进制互转

5. 选中 H 列数据表的任意单元格 --> 选择菜单栏的“数据”-->“从表格”

6. 在弹出的对话框中点击“确定”

数据表已上传至 Power Query。

7. 选择菜单栏的“添加列”-->“自定义列”

8. 在弹出的对话框的“自定义列公式”区域输入以下公式 --> 点击“确定”:

=Text.PadStart(Text.From([二进制]),4,"0")

Text.PadStart 的作用是在单元格内容的前面补位;参数“4”表示不足 4 位补足 4 位,"0" 表示用 0 补位。

9. 选中“自定义”列 --> 选择菜单栏的“主页”-->“拆分列”-->“按字符数”

10. 在弹出的对话框中按以下方式设置 --> 点击“确定”:

字符数:输入“1”拆分:选择“重复”

11. 将第一列删除

12. 选中所有列 --> 选择菜单栏的“主页”--> 将数据类型改为“文本”

13. 选中“自定义.1”列 --> 选择菜单栏的“主页”-->“替换值”

14. 在弹出的对话框中按以下方式设置 --> 点击“确定”:

要查找的值:输入“1”替换为:输入“鼠标”

15. 用同样的方式将其他列的 1 值分别替换为“键盘”、“显示器”、“音响”

16. 选中所有列 --> 将“0”替换为空值

17. 保持选中所有列 --> 选择菜单栏的“转换”-->“合并列”

18. 在弹出的对话框中按以下方式设置 --> 点击“确定”:

分隔符:选择“空格”新列名:输入所需的列名

19. 选择菜单栏的“转换”-->“格式”-->“修复”

20. 选择菜单栏的“主页”-->“关闭并上载”-->“关闭并上载至”

21. 在弹出的对话框中选择“现有工作表”及需要上传到的位置 --> 点击“加载”

所有的排列组合都上传到 J 列的表中了。

很多同学会觉得 Excel 单个案例讲解有些碎片化,初学者未必能完全理解和掌握。不少同学都希望有一套完整的图文教学,从最基础的概念开始,一步步由简入繁、从入门到精通,系统化地讲解 Excel 的各个知识点。

现在终于有了,以下专栏,从最基础的操作和概念讲起,用生动、有趣的案例带大家逐一掌握 Excel 的操作技巧、快捷键大全、函数公式、数据透视表、图表、打印技巧等……学完全本,你也能成为 Excel 高手。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/news/1179710.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号