为什么它会小于那个数,if函数大于小于区间那个数,是怎么算出来的?

查看: 57587|回复: 14
统计小于90大于80的个数怎么计算
阅读权限30
在线时间 小时
如:100个学生的成绩,各个分数段都有的。要统计<90,>80,有几个学生。我用公式:COUNTIF('1'!$D:$D,&&94&100&),不管你这个分数段中有没有符合条件的数据有多少,总是显示1。请大师们指教一下哦。谢谢!急用哦,再次谢谢!
阅读权限100
在线时间 小时
=COUNTIF('1'!$D:$D,&&80&)-COUNTIF('1'!$D:$D,&&90&)
阅读权限50
在线时间 小时
countif('1'!$D:$D,&&80&)-countif('1'!$D:$D,&&90&)
阅读权限95
在线时间 小时
方法1 =SUM(COUNTIF(A1:A8,{&&80&,&&=90&})*{1,-1})
方法2 =SUMPRODUCT((A1:A8&80)*(A1:A8&90))
方法3&&=COUNTIF(A1:A8,&&90&)-COUNTIF(A1:A8,&&80&)
阅读权限50
在线时间 小时
来晚了!来晚了!
阅读权限100
在线时间 小时
到底是80~90,还是94~100?
前者:=countif(&1&!$D:$D,&&90&)-countif(&1&!$D:$D,&&=80&)
阅读权限30
在线时间 小时
谢谢大师!最好不用二个公式去减,直接用一个类似“<90,>80”的表达式来计算,我请教的就是这个意思哦。
阅读权限20
在线时间 小时
=COUNTIF('1'!$D:$D,&&94&)-COUNTIF('1'!$D:$D,&&100&)
阅读权限30
在线时间 小时
原帖由 lstxyzh 于
14:01 发表
方法1 =SUM(COUNTIF(A1:A8,{&&80&,&&=90&})*{1,-1})
方法2 =SUMPRODUCT((A1:A8&80)*(A1:A8
谢谢指导!不过这二个方法,有个问题,就是并列81分的有好几个,但只统计得一个,不知是什么原因啊
阅读权限95
在线时间 小时
你是说少统计了还是重复分数只能统计一个?
最新热点 /1
ExcelHome每周都有线上直播公开课,
国内一流讲师真身分享,高手贴身答疑,
赶不上直播还能看录像,
关键居然是免费的!
厚木哥们都已经这么努力了,
你还好意思说学不好Office。
玩命加载中,请稍候
玩命加载中,请稍候
Powered by
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任! & & 本站特聘法律顾问:徐怀玉律师 李志群律师数组/集合 (array / set)(27)
一个int数组, 比如 array[],里面数据无任何限制,要求求出所有这样的数array[i],其左边的数都小于等于它,右边的数都大于等于它。能否只用一个额外数组和少量其它空间实现。
最原始的方法是检查每一个数 array[i] ,看是否左边的数都小于等于它,右边的数都大于等于它。这样做的话,要找出所有这样的数,时间复杂度为O(N^2)。
其实可以有更简单的方法,我们使用额外数组,比如rightMin[],来帮我们记录原始数组array[i]右边(包括自己)的最小值。假如原始数组为: array[] = {7, 10, 2, 6, 19, 22, 32}, 那么rightMin[] = {2, 2, 2, 6, 19, 22, 32}. 也就是说,7右边的最小值为2, 2右边的最小值也是2。
有了这样一个额外数组,当我们从头开始遍历原始数组时,我们保存一个当前最大值 max, 如果当前最大值刚好等于rightMin[i], 那么这个最大值一定满足条件。还是刚才的例子。
第一个值是7,最大值也是7,因为7 不等于 2, 继续,
第二个值是10,最大值变成了10,但是10也不等于2,继续,
第三个值是2,最大值是10,但是10也不等于2,继续,
第四个值是6,最大值是10,但是10不等于6,继续,
第五个值是19,最大值变成了19,而且19也等于当前rightMin[4] = 19, 所以,满足条件。
如此继续下去,后面的几个都满足。
public static ArrayList&Integer& smallAndRight(int[] arr) {
assert (arr != null && arr.length &= 1);
ArrayList&Integer& list = new ArrayList&Integer&();
int[] rightMin = new int[arr.length];
rightMin[arr.length - 1] = arr[arr.length - 1];
for (int i = arr.length - 2; i &= 0; i--) {
if(arr[i] & rightMin[i + 1]) {
rightMin[i] = arr[i];
rightMin[i] = rightMin[i + 1];
int leftMax = Integer.MIN_VALUE;
for (int i = 0; i & arr. i++) {
if (leftMax & arr[i]) {
leftMax = arr[i];
if (arr[i] &= leftMax && arr[i] &= rightMin[i]) {
list.add(arr[i]);
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:370331次
积分:5555
积分:5555
排名:第4621名
原创:170篇
转载:32篇
评论:32条
(1)(1)(14)(1)(1)(1)(4)(9)(4)(20)(25)(40)(2)(9)(7)(14)(14)(27)(8)求,解析那里怎么知道b大于0小于等于二分之一诶【高中数学吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:222,122贴子:
求,解析那里怎么知道b大于0小收藏
求,解析那里怎么知道b大于0小于等于二分之一诶
b一定大于0啊,因为解出定义域是-1/2到1/2,所以b就包含于这个定义域,而且b大于0
因为有负号,所以b是大于零的,小于二分之一是因为根据函数的意义算出来的
为什么关注列表会出现这个
登录百度帐号推荐应用

我要回帖

更多关于 if函数大于小于区间 的文章

 

随机推荐