ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 请教一个关于if函数条件过多如何优化的问题。

[复制链接]

TA的精华主题

TA的得分主题

发表于 2019-12-7 10:22 | 显示全部楼层 |阅读模式
问题描述:对于员工工资调薪有多种标准。其中之一是大学生学历调薪。条件为工作未满一年,同时学历在大专以上 最终工资+300(包含本科 本科(一本) 本科(二本) 本科(三本) 本科(自考) 大专 大专(自考)......)共16个学历(学历种类一言难尽,大概人家想便于查看吧)。
实现目的:我的想法是插入一列,输入公式if进行判断,工作未满一年和学历用and函数就好了,但是满足的学历条件太多。虽然全部用or函数覆盖,这样不就违反了excel让工作变得更加简单的初衷了。=IF(AND(N5=0,OR(AK5="博士",AK5="硕士",,AK5="本科",AK5="大专",AK5="本科"..........)),"参加学历调薪","")
或者能否把16个学历标准提取出了弄一列,然后用目标的学历去vlookup这个标准,不在的话会返回一个#N/A 利用以下这一点呢?
想多看看正确的思路。学习正确的思考方式。

附加一个问题。工龄计算用datedif计算后都是0年3月  5年6月这种。不太方便直接计算。我就直接取年前这个数字 重新弄了一个工龄 0 5这样,有其他方案又好看又可以用来计算的办法么。

附件如下


薪酬调整.zip

8.24 KB, 下载次数: 8

TA的精华主题

TA的得分主题

发表于 2019-12-7 10:38 | 显示全部楼层
看看可以不,猜了下你的意思。

薪酬调整.zip

8.05 KB, 下载次数: 4

TA的精华主题

TA的得分主题

发表于 2019-12-7 10:41 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
=IF(AND(N5=0,OR(AK5="博士",AK5="硕士",,AK5="本科",AK5="大专",AK5="本科"..........)),"参加学历调薪","")
可以采取这种方式,学历前后附加字符#可以避免学历字符串误识别
=IF(AND(N5=0,NOT(ISERROR(FIND("#"&AK5&"#","#博士#硕士#本科#大专#本科#……#"))),"参加学历调薪","")

TA的精华主题

TA的得分主题

发表于 2019-12-7 11:06 | 显示全部楼层
这个意思么?
=IF(ISNUMBER(LOOKUP(1,-FIND(","&C2&",",","&$N$3:$N$20&",")))*(B2<1),"调薪","")

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-12-7 11:13 | 显示全部楼层
xliutree 发表于 2019-12-7 10:41
=IF(AND(N5=0,OR(AK5="博士",AK5="硕士",,AK5="本科",AK5="大专",AK5="本科"..........)),"参加学历调薪"," ...

这个应该是看可以的,就是公式太麻烦了。有没有更简单一点的,excel的初衷不就是减少重复操作。虽然我不知道怎么做。谢谢哈

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-12-7 11:16 | 显示全部楼层
cq023112 发表于 2019-12-7 10:38
看看可以不,猜了下你的意思。

哈哈~~您这是一步到位了。我还是需要一列来表示这个人是参加普调还是学历调薪的说~~谢谢哈

TA的精华主题

TA的得分主题

发表于 2019-12-7 11:23 | 显示全部楼层
我走我流 发表于 2019-12-7 11:06
这个意思么?
=IF(ISNUMBER(LOOKUP(1,-FIND(","&C2&",",","&$N$3:$N$20&",")))*(B2

我了解到某公司 薪酬分配比较合理,招工从不看学历,工资按业绩和服务核算,年终也不评先进,多劳多得相当公平 。

原来是 快递 公司。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-12-7 11:52 | 显示全部楼层
我走我流 发表于 2019-12-7 11:06
这个意思么?
=IF(ISNUMBER(LOOKUP(1,-FIND(","&C2&",",","&$N$3:$N$20&",")))*(B2

您这个办法的确可行,就是有时候会提示是什么循环计算
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-3-29 18:13 , Processed in 0.047412 second(s), 15 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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