凑数在更深一步财务数据分析和核算中有着很重要的作用

你是否有遇到过收到的一笔款对应哪几个发票金额?一张发票对应哪几笔收款?等等其他方面需要从一堆数里凑几个数等于你要的值。

对于数字敏感的人,一些简单的可以从肉眼看到直接找出是哪几个数,但是如果对于数据稍微多一点,金额没有规律的你又怎么能轻易用肉眼找出来呢

一起学一个凑数功能吧:

规划求解

先看看在EXCEL中哪个位置

数据-模拟分析-规划求解

看一个例子

B列有12个数,其中B1+B3+B6+B11=16368.94

假设我们事先不知道是这几个数相加等于16368.94,那我们怎样从这12个数里面凑出是B1、B3、B6、B11的和是16368.94呢?

具体操作如下 :

1.在c1单元格输入=SUMPRODUCT(B1:B12,C1:C12)

sumproduct函数用法:

SUMPRODUCT(数组1,数组2, ...),sum是求和的意思,PRODUCT是求积,最后返回的是成绩之和。

看一个小例子:

其实就是=1*3+1*4+1*5+1*6+1*2+1*1=21

回到上面,返回的是0,因为C列为没有值

2.点击数据-模拟分析-规划求解,弹出对话框设定相应的条件:

目标单元格是D1,下面勾选目标值在里面输入刚才的数字16368.94,可变单元格选中刚才为空值的C1到C12,添加类型CI到C12=二进制(二进制的值就是0和1)求解方法选单纯线性规划

(选择二进制是避免出现零点几等不规则小数,求解方法选单纯线性规划是明确求解方向,速度和效率更快)

如下图

保留规划求解的解

点确定后,我们看到C列有值为0和1

其实最后我们要求的目标值就是C列为1对应左边B列单元格值的和,刚好就是上面说的

B1、B3、B6、B11

原理就是利用数组乘积得到目标值

特别注意:规划求解求的是最佳组合,即符合条件的一种最佳方案,如果还有其他几个数的和也为目标值,是难以求出的,当然如果要求出所有的值可以借助EXCEL的重磅程序VBA来处理,给你看一下VBA设计的凑数工具更快更高效地解决凑数问题吧,看一下效果

比如说我们要从1到10里面找出所有相加等于15的结果

直接在目标值里面输入15,误差选0,组合个数选11,点击不重复求和递归就可以得到所有的结果展示在右边,如下图

使用VBA更轻松跟快,结果更全面,后面会更新VBA相关的内容(在EXCEL里面使用VBA需要安装VBA程序)

关注我,一点一滴带你学Excel和财务实操知识

欢迎评论和转发,如有工作中实际遇到的问题,可以评论区留言,一起探讨

一个数里有那些约数用c++怎么做_如何从一堆数里找出哪几个数相加等于你要的值?...相关推荐

  1. 一个数里有那些约数用c++怎么做_嵌入式就业的那些事~

    前两天有一位读者朋友问我一个关于嵌入式就业的问题: 正好我离开学校的时间也还不算长,也还清晰地记得当时找工作的一些事情.同时,从自己这两年的工作中也得出了经验. 所以这里试着分享一下这个话题,希望可以 ...

  2. 一个数里有那些约数用c++怎么做_两数的最大公约数你会求吗?(内附完整算法代码)...

    两个数的最大公约数怎么求? 思考题目的同时,我在这也顺便发出三个灵魂疑问? 什么又是更相减损法? 什么又是辗转相除法? 什么又是欧几里得算法? 不懂没关系,往下看 要解决两数的最大公约数问题?,你首先 ...

  3. Java黑皮书课后题第7章:7.14(计算gcd)编写方法,返回个数不确定的整数的最大公约数。编写一个测试程序,提示用户输入5个数字,调用该方法找出这些数的最大公约数,并显示这个最大公约数

    7.14(计算gcd)编写方法,返回个数不确定的整数的最大公约数.编写一个测试程序,提示用户输入5个数字,调用该方法找出这些数的最大公约数,并显示这个最大公约数 题目 题目描述 破题 代码 运行实例 ...

  4. C语言:有N个数从小到大的顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个数。如果不在数组中,打印“not found”。

    /*有N个数从小到大的顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个数.如果不在数组中,打印"not found".*/#include<stdio ...

  5. c语言 有15个数按由大到小,C++ 有15个数按由大到小顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,则输出“无此数”。...

    有15个数按由大到小顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值.如果该数不在数组中,则输出"无此数". 以下是此题的[c++源代码],需要[c ...

  6. 水泵怎么做_不是说鱼缸里放置三合一水泵都会起到反作用,也得看什么缸什么鱼...

    图文/养鱼老道 原创 三合一水泵是以前的成品鱼缸里最习惯配备的水泵,既可以接到上滤盒里又可以有供氧的作用,看起来貌似具备的功能还是很多的. 但是为什么很多网上的经验介绍,包括了养鱼老道的文章中,曾经多 ...

  7. 有15个数按由大到小顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,则输出“无此数”

    #include <stdio.h> #include <conio.h> int main(){   int a[7]={1,2,3,4,5,6,7};   int i,nu ...

  8. python输入10个数、找出对称数_Python入门100道习题(7)——找对称数

    问题描述 [问题描述]已知10个四位数输出所有对称数及个数 n,例如1221.2332都是对称数 [输入形式]10个整数,以空格分隔开 [输出形式]输入的整数中的所有对称数,对称数个数 [样例输入]1 ...

  9. n个数里找出前m个数(或者 从10亿个浮点数中找出最大的1万个)

    转载自:http://blog.csdn.net/winsunxu/article/details/6219376点击打开链接 引子 每年十一月各大IT公司都不约而同.争后恐后地到各大高校进行全国巡回 ...

最新文章

  1. python网络爬虫初识_python爬虫(一)初识爬虫
  2. BugKuCTF 杂项 又一张图片,还单纯吗
  3. Flink SQL 在网易云音乐的产品化实践
  4. RHEL6 LAMT TOCAT与APACHE整合
  5. 字符串匹配算法(AC自动机 Aho-Corasick)
  6. 微软推出新逆天开源语言,告别 for 循环,提高开发效率!
  7. Mac终端的一些操作命令
  8. 修改系统启动项 grub2配置的方法 ubuntu[转]
  9. CTF中一点进制转换脚本记录
  10. C#中获取今天是星期几
  11. 虚拟专用网之L2TP协议介绍
  12. 网络安全系列之培训笔记整理
  13. caxa自动保存的文件在哪里_CAXA CAD教程之软件临时文件的清理
  14. 手机短信压力测试v1.4
  15. photoshop 30种PS技术 让你照片美到不行~婚纱照可以省一大笔钱了
  16. CentOS7 忘记密码——重置
  17. 小学教师计算机校本培训材料,教师业务学习材料及校本培训材料
  18. c++ placement new
  19. html svg波浪,CSS实现svg图片水纹波浪流动效果
  20. mPaaS 服务端核心组件:消息推送 MPS 架构及流程设计

热门文章

  1. R-CNN和SPP-net
  2. 使用JBoss Modules来模块化Java
  3. MySQL获取数据库每个表的行数
  4. 从零开始学习jQuery (四) 使用jQuery操作元素的属性与样式
  5. Java并发编程(3):线程挂起、恢复与终止的正确方法(含代码)
  6. 线性代数:第三章 矩阵的初等变换与线性方程组(1)矩阵的初等变换 矩阵的秩
  7. 一个FragmentActivity多个Fragment的生命周期事件记录
  8. Tomcat在修改代码后不会自动reload解决办法
  9. 使用POI将doc文件转换为html
  10. Java算法-奇怪的分式