ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 10343|回复: 39

[Excel 函数与公式] [开_141]按条件取整数问题

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2012-12-2 18:54 | 显示全部楼层 |阅读模式
本帖最后由 wangg913 于 2013-1-6 17:22 编辑

题目规则及评分说明:
1、A:C列数据,每一行为一组;
每行三个数为0~20之间的整数、可能重复、可能为0、但三个数至少有一个不为 0
2、输入结果的说明:
以 A3:C3 举例,根据 A3:C3 分别除以三个数之和后再乘4的结果进行转换
A3/(A3+B3+C3)=0.857143,结果若小于1,则转换为1
如结果大于等于1,则四舍五入
即 B3/(A3+B3+C3)=1.428571 四舍为1
C3/(A3+B3+C3)=1.714286 五入为2
若其中有一为0,则转换为0,即如 A13:C13 转化为 G13:I13 或 A21:C21 转化为 G21:I21
若三数相同,即 A26:C26={8,8,8},则最后一个重复数转为2,即如 G3:I3
也有特殊情况,比如 A27:C27={11,1,1},因有两个小于1的,故转化后为 {2,1,1}
转换后的三数之和必须为4,模拟结果在 G:I 列,请参照
3、在 K:M 列输入公式,可用多单元格数组公式或右拉下拉的单个公式;
4、函数题目、不定义名称、不使用 D:F 列辅助,下拉一次完成;
5、题目截止 2012-12-27 8:00;
6、评分规则开贴待定。
部分特殊情况的已标红
20121204按条件取整数问题.rar (10.09 KB, 下载次数: 182)

点评

因有事,延期至 2013-1-6  发表于 2012-12-24 16:42
楼主可参照楼下网友解答,自选一个答案。  发表于 2012-12-3 17:18

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-12-2 20:30 | 显示全部楼层
clarezhang 发表于 2012-12-2 19:46
没看出规律呀!楼主解释一下吧!

如果3个数中有2个为0的话,那么剩下的一个数之间取4.如果有一个为0的话,剩下的两个数如果教大的数大于较小的数的两倍的话,那么较小的数是1,较大的数是3,否则各为2.如果三个都不为零,最大的数取值2,剩下两个各为1.

TA的精华主题

TA的得分主题

发表于 2012-12-3 17:17 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 piny 于 2012-12-4 17:52 编辑

K3:M3

  1. =IF(A3:C3,(2+COUNTIF(A3:C3,0))^((A3:C3+{1,2,3}%)=MAX(A3:C3+{1,2,3}%)),0)
复制代码

点评

綜合所有答案存在沒有四捨五入,当一個為0,其餘兩個比值大於0.6時全部顯示0,1,3的情況,再評財富10分,合計40財富  发表于 2013-1-7 20:10
沒有四捨五入,不存在0,2,2情況,評30財富  发表于 2013-1-7 19:32

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-12-4 01:04 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
wangg913 发表于 2012-12-3 17:13
题目挺好,要不大家练练手。

我说一下我的看法啊。第一步;先把大于4的转为4,用IF函数实现。第二部;排列组合,三行里面没个数可能取0,1,2,3,4,五个数。排列成125种,然后去掉里面三数之和小于4的。最后用VLookup函数去匹配。比方说三个数依次为1,4,8。经过第一步后变为1,4,4.有因为这三个数都不为零,且最大值2个,所以最后取1,1,2或者1,2,1.(最大值是2个的取哪个都行)。如果三数依次为0,2,5.第一步后变为0,2,4.然后判断最大值大于或者等于最小值(非0)的2倍,故一个取3,一个取1.
我的第二步主要是想省去用IF函数判断,直接把可能出现的结果全部列出来,然后是什么结果直接匹配就可以了

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-12-4 01:06 | 显示全部楼层
以上只是我的想法。本人对函数不精通,故很难实现。各位哥哥们有什么好公式能替俺解决不。要不然我只能按照老方法用鼠标一个一个的点击了,主要是数据量太大了,很费事

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-12-4 01:08 | 显示全部楼层
piny 发表于 2012-12-3 17:17
G20, G21都是2吧?

对。我那是原先写的,不是很正确。哥们可以看一下我的解释,希望能明白我的意思

TA的精华主题

TA的得分主题

发表于 2012-12-4 16:37 | 显示全部楼层
本帖最后由 祝洪忠- 于 2012-12-6 08:13 编辑

=MIN(4-SUM($J3:J3),((MAX($A3:$C3+{1,2,3}%)=A3+COLUMN(A1)%)+1+COUNTIF($A3:$C3,0))*(A3>0))

切入点与题目要求不一样了,不知是否属于违规

副本Xl0000047.zip

9.34 KB, 下载次数: 18

点评

使用輔助單元格,且相同數字不同位置返回結果不同,評20財富  发表于 2013-1-7 19:26

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-12-4 23:33 | 显示全部楼层
哥们不是四舍五入,是看最大数于最小数的倍数。如果3个数中有2个为0的话,那么剩下的一个数直接取4.如果有一个为0的话,剩下的两个数如果较大的数大于或者等于较小的数的两倍的话,那么较小的数是1,较大的数是3,否则各为2.如果三个都不为零,最大的数取值2,剩下两个各为1.另外可以加辅助列,怎么着都行,只要能给我弄出我想要的结果我就谢天谢地啦

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-12-4 23:55 | 显示全部楼层
我举个例子说一下我想要的结果的意思啊。比方说年底发奖金,奖金额已经定死了,就是4万。如果这一年你一个项目都没干,那就是0.如果你干项目了,并且干的也很多,由于考虑到平均问题,也不可能把所有的奖金都给你。所以只要干了项目的,哪怕你是干了1元的项目额(实际上没有1元的合同额),也给你按一定的基数额度发放,比方说基数是1万。因为人数是一定的(暂定3人),如果干的最多的是最少的(不包括一个项目也没干的)2倍或者2倍以上,那么干的最多的拿3万,最少的拿一万。如果大家干的项目都差不多,比方说大家都干了或者一人没干但是另外两人的差距不大(即没有超过两倍),那就干活的那两人把奖金平分。我一直觉得这制度不合理,但是也没办法。

TA的精华主题

TA的得分主题

发表于 2012-12-5 11:13 | 显示全部楼层
本帖最后由 Zaezhong 于 2012-12-15 18:52 编辑

要求还真多,很容易考虑不周,有时间再简化
如果是20,12,0返回3,1,0使用上面公式,返回2,2,0 使用下面的,具体也就相差一字符
  1. =IF(A3:C3,IF(COUNT(0/A3:C3)*(MEDIAN(A3:C3)>MAX(A3:C3)*0.6)=2,2,(5-COUNT(0/A3:C3)-(MEDIAN(A3:C3)=MAX(A3:C3))*({0,1,2}<(B3=C3)+1))^(RANK(A3:C3,A3:C3)=1)),)
复制代码
  1. =IF(A3:C3,IF(COUNT(0/A3:C3)*(MEDIAN(A3:C3)>=MAX(A3:C3)*0.6)=2,2,(5-COUNT(0/A3:C3)-(MEDIAN(A3:C3)=MAX(A3:C3))*({0,1,2}<(B3=C3)+1))^(RANK(A3:C3,A3:C3)=1)),)
复制代码

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-23 14:39 , Processed in 0.047244 second(s), 18 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表