excel满足多个条件后返回固定值并求和怎么用函数实现?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了excel满足多个条件后返回固定值并求和怎么用函数实现?相关的知识,希望对你有一定的参考价值。
如图,用什么函数可直接算出累计绩点?(红色字体那行不要列出)第二行是日期,第二行是工作时长。第三行是获得绩点数。工作日:大于等于8可获得1个绩点。周末(图中黄色单元格):大于等于4可获得1个绩点,大于等于8可获得2个绩点。表格中只需要手动填写每日工作时长(或者引用考勤数据,这里不要求),即可直接得出绩点总和。请问用什么函数可以实现?请老师指教谢谢!(如果是用函数先算出每天绩点,再求和这种方法我知道。我想知道可不可以直接一个函数搞定)
我给你提供另一种思路,表格的日期不能只天日,因为我们判断周末必须根据完整日期来,所以你的日期选项里面必须要全填。
然后使用函数来判断周末还是工作日,工作日每8小时取一个绩点,周末每4小时取一个绩点。然后取出来的值求和即可。
公式:
=SUM(IF(WEEKDAY(B1:Z1,2)>5,INT(B2:Z2/4),INT(B2:Z2/8)))
数组公式,同时按下Ctrl+Shift+Enter结束输入。
参考技术A建议你更换下表格,一个公式搞定,而且选择任意年份和月份,双休日会自动变色。
第一步:函数设置日期
第一行输入年份和月份,可供选择不同年份和月份。A1填年份,C1填月份。在日期之上增加一行星期,日期和星期根据选择的年份和月份自动更新。
B2单元格输入以下公式
=TEXT(IF(DATE($A$1,$C$1,COLUMN(A1))<DATE($A$1,$C$1+1,1),DATE($A$1,$C$1,COLUMN(A1)),""),"aaa")
B3单元格输入以下公式
=TEXT(IF(DATE($A$1,$C$1,COLUMN(A1))<DATE($A$1,$C$1+1,1),DATE($A$1,$C$1,COLUMN(A1)),""),"d日")
依次右拉填充到31,如果当月没有31号,最后几个单元格会自动显示控制。
第二步:条件格式设置双休日变色
选中B2到AF4单元格,“开始”菜单点击“条件格式”,选择“新建规则”。
选择“使用公式确定要设置格式的单元格”,公式输入
=OR(B$2="六",B$2="日")
格式选择颜色填充。确定后,凡是周六和周日的列都会变成黄色。
第三步:计算总绩点
AG4单元格内输入以下公式
=SUMPRODUCT((B2:AF2<>"六")*(B2:AF2<>"日")*IF(B4:AF4>=8,1,0))+SUMPRODUCT(((B2:AF2="六")+(B2:AF2="日"))*IF(B4:AF4>=8,2,IF(B4:AF4>=4,1,0)))
输入完成后同时按Ctrl+Shift+Enter组合键,单独按Enter无效。
参考技术B在AG2中输入或复制粘贴下列公式
=SUMPRODUCT((WEEKDAY(B$1:AF$1,2)<6)*(B2:AF2>=8))+SUMPRODUCT((WEEKDAY(B$1:AF$1,2)>5)*INT(B2:AF2/4))
下拉填充
参考技术C 1、要对区域中满足多个条件的单元格求和,可以使用SUMIFS函数。2、如果需要对区域 A1:A20 中符合以下条件的单元格的数值求和:B1:B20 中的相应数值大于零 (0) 且 C1:C20 中的相应数值小于 10,则可以使用以下公式:=SUMIFS(A1:A20, B1:B20, ">0", C1:C20, "<10")3、SUMIFS函数还可以在条件中使用通配符,即问号 (?) 和星号 (*)。问号匹配任一单个字符;星号匹配任一字符序列。如果要查找实际的问号或星号,请在字符前键入波形符 (~)。excel 函数 同时满足两个条件的求和EXCEL满足多个条件的一个,返回某个值
1、首先在excel表格中一组数据,需要根据件返回。
2、然后在单元格中输入:=IF(OR((A4>=0)*(A4=3211.68)*(A4=4501.5)*(A4=6908.81)*(A4<=7053.81)),5.66,4.88)。
3、点击回车即可得到对应A4单元格数据的需要返回的数值,不满足条件时返回“4.88”。
4、下拉公式后即可批量得到对应单元格数据中的返回结果。
excel如何判断一个数在哪个区间并返回一个值
1、所需操作的数据表,如图,需各位同学的按照右侧规则划分为ABCD四等。
2、首先,构建一个范围,因为[0-60)为D,则0设为D,[60-80)为C,则设置60为C,以此设置B和A,如图。
3、点击鼠标左键,选中单元格C2。
4、输入VLOOKUP函数,其中参考值为B2,查找区间为我们构建的范围($I$2:$J$5)(绝对引用),列数为2,选择模糊查找(1),因此公式为“=VLOOKUP(B2,$I$2:$J$5,2,1)”。
5、点击回车键,拖动复制即可完成。
6、所需注意的是我们在构建范围时必须为升序排列,如果我们打乱顺序(如图)时,返回的是错误值。追问
可以就我发的图片解说一下吗?用最简洁的方法,你发的这段看起来和我的要求不太相符。sumifs是满足多条件的的单元格数值的求和,我要的不是单元格数值求和
参考技术D 可以一个公式得出结果,但是工作日的判断不要使用颜色,应该是日期,或者星期,例如第一行0、1表示工作日和节假日,那么公式为:=COUNTIFS(B1:J1,0,B2:J2,">=8") + COUNTIFS(B1:J1,1,B2:J2,">=4")+ COUNTIFS(B1:J1,1,B2:J2,">=8")
三个COUNTIFS分别计算工作日达到8的、节假日达到4的、节假日达到8的,总和就是需要的结果。追问
方法是挺好的,但这样的话,就比较难看出来是几号了。而且填写0、1以及工时还要对照日历来填写,操作不方便。
追答公式判断颜色的不可能的,如果是完整日期可以判断周末,但是五一、国庆都有调休无法处理,唯一的办法是日期下面增加一行节假日的标记,用数值表示颜色。
追问weekday()函数可以判断工作日或者周末(暂不考虑调休或者法定假日),颜色不考虑(图片添加颜色是举例说明那两天是周末)。如果按大佬所说的办法,还要另外在一个角落起一行,手动标记0和1作为参照是工作日还是休息日?
追答weekday需要的是年月日的日期格式参数,图上的1日、2日如果是显示格式定制的日期是可以的。如果这是考题,那就用weekday来答卷,如果实际工作,解决不了调休等于没用。
SQL 怎么用指定条件查询RANK函数生成的新排名列?
比如这样一张表
testxingming fenshu
张三 70
李四 80
王五 90
赵六 95
然后用SELECT xingming,fenshu,RANK() OVER(ORDER BY fenshu DESC) as paiming from test
能够生paiming列
问题是 paiming 列是临时生成的,我需要对paiming列做条件筛选,比如只选择排名大于1且小于4的行,想在后面加上 where paiming >1 and paiming <4
这时提示 "列名 'paiming' 无效"
请问大神这个问题有解吗?因为实在不想在数据表里添加一列"paiming",因为科目太多,会带来巨大的麻烦。。。
select *
from (SELECT xingming,fenshu,RANK() OVER(ORDER BY fenshu DESC) as paiming from test
) t
where paiming >1 and paiming <4本回答被提问者采纳
以上是关于excel满足多个条件后返回固定值并求和怎么用函数实现?的主要内容,如果未能解决你的问题,请参考以下文章
excel函数:计算是不是满足计算值,满足直接计算,如不满足则返回一个固定值?