各位大神动态规划求解tsp问题,EXCEL问题!

查看: 708|回复: 4
excel查漏补缺问题,求助各位大神
阅读权限20
在线时间 小时
文件里有需要处理的内容,即查漏补缺,自动完成,拜谢各位大神啦{:soso_e100:},
18:18 上传
点击文件名下载附件
160.93 KB, 下载次数: 17
阅读权限30
在线时间 小时
只查找出重漏,要修正补全就无能为力啦,只能由楼主手工操作。
18:42 上传
点击文件名下载附件
194.83 KB, 下载次数: 12
阅读权限20
在线时间 小时
同样只能找出来,补漏函数没办法实现,条件格式
=OR($A3-$A2&0.0416,$A3-$A2&0.05)复制代码
阅读权限20
在线时间 小时
同样只能找出来,补漏函数没办法实现,条件格式
谢谢,查出来之后就好弄了,我自己再研究研究
阅读权限20
在线时间 小时
只查找出重漏,要修正补全就无能为力啦,只能由楼主手工操作。
万分感谢,之后手动的也只能靠自己了
最新热点 /1
ExcelHome每周都有线上直播公开课,
国内一流讲师真身分享,高手贴身答疑,
赶不上直播还能看录像,
关键居然是免费的!
厚木哥们都已经这么努力了,
你还好意思说学不好Office。
玩命加载中,请稍候
玩命加载中,请稍候
Powered by
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任! & & 本站特聘法律顾问:徐怀玉律师 李志群律师速求!各位大神。【excel吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:164,362贴子:
速求!各位大神。收藏
我想问下怎用函数公式在这张考勤表中显示迟到,早退、未打卡、漏打卡等状态,急求!
自己添加一个上班时间 、下班时间的单元格,然后用条件,上班时间减去上班打卡时间,下班时间-下班打卡时间,大于0的就为正常,小于0的就为迟到或者早退,空白的就是未打卡
用VBA比较好一点
直接条件格式不就行了
做出来了。结果类似图第二个日期列运用了公式,=TEXT(D2,&yyyy-mm-dd&)星期列也运用了公式,=WEEKDAY(F2),用来判断是否为周末最终状态运用了字符串合并公式,=CONCATENATE(I2,J2,K2,L2,M2)统计按钮对应的代码Sub 按钮2_Click()Dim y As Integery = 1While (ActiveSheet.Cells(y, 4) && &&)y = y + 1Wendi = 2Dim lqz As VariantDo While i &= y - 1
If ActiveSheet.Cells(i, 7) && 1 And ActiveSheet.Cells(i, 7) && 7 And ActiveSheet.Cells(i, 5) = && Then
ActiveSheet.Cells(i, 9) = &未打卡&
ElseIf ActiveSheet.Cells(i, 7) && 1 And ActiveSheet.Cells(i, 7) && 7 And ActiveSheet.Cells(i, 5) && && Then
lsj = Len(ActiveSheet.Cells(i, 5)) '取时间单元格的长度
lqz = Application.WorksheetFunction.RoundUp(lsj / 6, 0) '取打卡次数
If lqz = 1 Then
ActiveSheet.Cells(i, 9) = &漏打卡&
If lqz & 1 Then
ReDim qz(1 To lqz) As String
m = 1 '数据标界
Do While x &= lqz
qz(x) = Mid(ActiveSheet.Cells(i, 5), m, 5)
sz1 = qz(1)
'第1次打卡时间
szx = qz(lqz)
'取最后一次打卡时间
szs1 = Hour(sz1) * 60 + Minute(sz1) '取第一次打卡时间段分钟数
szsx = Hour(szx) * 60 + Minute(szx) '取最后一次打卡时间段分钟数
cdfzs = szs1 - 540 '迟到分钟数
ztfzs = 1080 - szsx '早退分钟数
If cdfzs & 0 And cdfzx &= 180 Then
ActiveSheet.Cells(i, 11) = cdfzs
ActiveSheet.Cells(i, 10) = &迟到&
If ztfzs & 0 And ztfzs &= 180 Then
ActiveSheet.Cells(i, 13) = ztfzs
ActiveSheet.Cells(i, 12) = &早退&
If cdfzs & 0 And ztfzs & 0 Then
ActiveSheet.Cells(i, 9) = &正常&
End Ifi = i + 1LoopEnd Sub如有疑问,可发邮件到
万能的吧群
还有大神在吗
B列,C列为辅助列,D列为结果列b1单元格输入数组公式=IF(SMALL(VALUE(MID(A1,ROW(INDIRECT(&a1:a&&INT(LEN(A1)/5)))*6-6+1,5)),1)&TIMEVALUE(&12:00&),SMALL(VALUE(MID(A1,ROW(INDIRECT(&a1:a&&INT(LEN(A1)/5)))*6-6+1,5)),1),&&),输入后,依次按下Ctrl,shift,enter键,同时松开,向下填充。c1单元格输入数组公式=IF(LARGE(VALUE(MID(A1,ROW(INDIRECT(&a1:a&&INT(LEN(A1)/5)))*6-6+1,5)),1)&TIMEVALUE(&12:00&),LARGE(VALUE(MID(A1,ROW(INDIRECT(&a1:a&&INT(LEN(A1)/5)))*6-6+1,5)),1),&&),输入后,依次按下Ctrl,shift,enter键,同时松开,向下填充。d1单元格输入数组公式=IF(AND(B1&&&&,C1&&&&),IF(AND(B1&=TIMEVALUE(&9:00&),C1&=TIMEVALUE(&18:00&)),&&,IF(AND(B1&=TIMEVALUE(&9:00&),C1&TIMEVALUE(&12:00&),C1&TIMEVALUE(&18:00&)),&早退&,IF(AND(B1&TIMEVALUE(&9:00&),B1&=TIMEVALUE(&12:00&),C1&=TIMEVALUE(&18:00&)),&迟到&,IF(AND(B1&TIMEVALUE(&9:00&),B1&=TIMEVALUE(&12:00&),C1&TIMEVALUE(&12:00&),C1&TIMEVALUE(&18:00&)),&迟到并早退&,&&)))),IF(AND(B1=&&,C1=&&),&未打卡&,IF(AND(B1=&&,C1&=TIMEVALUE(&18:00&)),&上午漏打卡&,IF(AND(B1=&&,C1&TIMEVALUE(&12:00&),C1&TIMEVALUE(&18:00&)),&早退并漏打卡&,IF(AND(C1=&&,B1&=TIMEVALUE(&9:00&)),&下午漏打卡&,IF(AND(C1=&&,B1&TIMEVALUE(&9:00&),B1&=TIMEVALUE(&12:00&)),&迟到并漏打卡&,&&)))))),输入后,依次按下Ctrl,shift,enter键,同时松开,向下填充。
都好复杂啊。。。我看这个象是类似于指纹机或是刷脸机上导出的数据,这种设备有自己的管理软件的,不用自己去这么累的用公式来做。如果非要用公式,我也试过,提取出上下班的时间到一个列中,然后做个标准时间,一减不就可以了嘛。。。然后用IF公式就能算出这几个结果来了啊
问题解决了吗?
=IF(ISLOGICAL(IF(LEN(E2)=0,&未打卡&,IF(LEN(E2)=5,IF(LEFT(E2,5)&=&09:00&,&下班漏打卡&,IF(MID(E2,LEN(E2)-4,5)&=&18:00&,&上班漏打卡&,&问题漏打卡&)),IF(LEN(E2)=11,IF(AND(LEFT(E2,5)&=&09:00&,MID(E2,LEN(E2)-4,5)&=&09:00&),&下班漏打卡&,IF(AND(LEFT(E2,5)&=&18:00&,MID(E2,LEN(E2)-4,5)&=&18:00&),&上班漏打卡&,IF(AND(LEFT(E2,5)&&09:00&,MID(E2,LEN(E2)-4,5)&&18:00&),&迟到早退&,IF(AND(LEFT(E2,5)&=&09:00&,MID(E2,LEN(E2)-4,5)&&18:00&),&早退&,IF(AND(LEFT(E2,5)&&09:00&,MID(E2,LEN(E2)-4,5)&=&18:00&),&迟到&))))),IF(LEN(E2)=17,IF(AND(LEFT(E2,5)&=&09:00&,MID(E2,LEN(E2)-4,5)&=&09:00&),&下班漏打卡&,IF(AND(LEFT(E2,5)&=&18:00&,MID(E2,LEN(E2)-4,5)&=&18:00&),&上班漏打卡&,IF(AND(LEFT(E2,5)&&09:00&,MID(E2,LEN(E2)-4,5)&&18:00&),&迟到早退&,IF(AND(LEFT(E2,5)&=&09:00&,MID(E2,LEN(E2)-4,5)&&18:00&),&早退&,IF(AND(LEFT(E2,5)&&09:00&,MID(E2,LEN(E2)-4,5)&=&18:00&),&迟到&))))),IF(LEN(E2)=23,IF(AND(LEFT(E2,5)&=&09:00&,MID(E2,LEN(E2)-4,5)&=&09:00&),&下班漏打卡&,IF(AND(LEFT(E2,5)&=&18:00&,MID(E2,LEN(E2)-4,5)&=&18:00&),&上班漏打卡&,IF(AND(LEFT(E2,5)&&09:00&,MID(E2,LEN(E2)-4,5)&&18:00&),&迟到早退&,IF(AND(LEFT(E2,5)&=&09:00&,MID(E2,LEN(E2)-4,5)&&18:00&),&早退&,IF(AND(LEFT(E2,5)&&09:00&,MID(E2,LEN(E2)-4,5)&=&18:00&),&迟到&))))))))))),&&,IF(LEN(E2)=0,&未打卡&,IF(LEN(E2)=5,IF(LEFT(E2,5)&=&09:00&,&下班漏打卡&,IF(MID(E2,LEN(E2)-4,5)&=&18:00&,&上班漏打卡&,&问题漏打卡&)),IF(LEN(E2)=11,IF(AND(LEFT(E2,5)&=&09:00&,MID(E2,LEN(E2)-4,5)&=&09:00&),&下班漏打卡&,IF(AND(LEFT(E2,5)&=&18:00&,MID(E2,LEN(E2)-4,5)&=&18:00&),&上班漏打卡&,IF(AND(LEFT(E2,5)&&09:00&,MID(E2,LEN(E2)-4,5)&&18:00&),&迟到早退&,IF(AND(LEFT(E2,5)&=&09:00&,MID(E2,LEN(E2)-4,5)&&18:00&),&早退&,IF(AND(LEFT(E2,5)&&09:00&,MID(E2,LEN(E2)-4,5)&=&18:00&),&迟到&))))),IF(LEN(E2)=17,IF(AND(LEFT(E2,5)&=&09:00&,MID(E2,LEN(E2)-4,5)&=&09:00&),&下班漏打卡&,IF(AND(LEFT(E2,5)&=&18:00&,MID(E2,LEN(E2)-4,5)&=&18:00&),&上班漏打卡&,IF(AND(LEFT(E2,5)&&09:00&,MID(E2,LEN(E2)-4,5)&&18:00&),&迟到早退&,IF(AND(LEFT(E2,5)&=&09:00&,MID(E2,LEN(E2)-4,5)&&18:00&),&早退&,IF(AND(LEFT(E2,5)&&09:00&,MID(E2,LEN(E2)-4,5)&=&18:00&),&迟到&))))),IF(LEN(E2)=23,IF(AND(LEFT(E2,5)&=&09:00&,MID(E2,LEN(E2)-4,5)&=&09:00&),&下班漏打卡&,IF(AND(LEFT(E2,5)&=&18:00&,MID(E2,LEN(E2)-4,5)&=&18:00&),&上班漏打卡&,IF(AND(LEFT(E2,5)&&09:00&,MID(E2,LEN(E2)-4,5)&&18:00&),&迟到早退&,IF(AND(LEFT(E2,5)&=&09:00&,MID(E2,LEN(E2)-4,5)&&18:00&),&早退&,IF(AND(LEFT(E2,5)&&09:00&,MID(E2,LEN(E2)-4,5)&=&18:00&),&迟到&)))))))))))
这帖子[FIRE]了要一个月了
登录百度帐号各位大神求解,EXCEL问题!_百度知道
各位大神求解,EXCEL问题!
求解,有举例,阶梯奖励!
我有更好的答案
=MAX(0,MIN(150,(B2-10)*15))+MAX(0,(B2-20)*20)20以内=MAX(0,MIN(150,(B2-10)*15))20以上=MAX(0,(B2-20)*20)
采纳率:53%
来自团队:
if(b2&20,(b2-10)*15,150))D2输入&quot.5c2输入&=if(B2&10,0.5;=if(B2&lt
C3=MIN(20-10,B3-10)*15下拉,D列的公式类似,自己琢磨。
把问题描述清楚!
其他1条回答
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。【图片】求教各位大神【excel吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:164,362贴子:
求教各位大神收藏
求教大神:sheet1 (导出)为一张统计表 sheet2 (导入)为数据表,现要将sheet2里C以后的最后一个有字的单元格导入到sheet1 H列里 ,我是考虑用vlookup写 但是遇到了一个问题 :就是用vlookup 函数,返回值的列数难以用表达式表示 因为如果我用match函数(或者lookup函数)找每行最后一个有字的单元格 而match 里的指定区域 比如2:2 是不能用函数表达的 请教大神有没有解决的方法 谢谢
第一张表还行,第二张表根本就不能算表,毫无数据的概念,跟word没啥区别。
同意楼上观点,你要用Excel快速简单的处理,需要把数据源整理的更好些,比如可以单独将日期分成一列~事件可以按照姓名,时间,备注,记成流水账形式,不然想实现功能很复杂。
vba applicatian.counta 这个怎么用?我只想找到每行最后一个非空单元格的列数 请问怎么编程?
vba applicatian.counta 这个怎么用?我只想找到每行最后一个非空单元格的列数 请问怎么编程?
range(&A65535&).end(xlup).row
Sub ABCD()
Dim N As Long
For N = 2 To 20
'从第2行到第20行,假设最右边的也不会超过第“IV”列
MsgBox Range(&IV& & N).End(xlToLeft).Column
NextEnd Sub
Sub text()Dim i%, k%Dim arr(1 To 20) As StringFor i = 1 To 20
k = Sheet2.Range(&iv& & i).End(xlToLeft).Column
Sheet1.Range(&H& & i + 3) = Sheet2.Cells(i, k)Next iEnd Sub
Sub ABCD()Dim N As LongFor N = 2 To 20 '从第2行到第20行,假设最右边的也不会超过第“IV”列MsgBox Range(&IV& & N).End(xlToLeft).ColumnNextEnd Sub以上编程内容到底是什么意思啊?我的设想是
求出 EXCEL SHEET2 里 每一列 中 最后一个 非空函数的位置(求列 比如 E列 )然后 反馈到 同一列 某个单元格中(比如 每一行D中为配合使用VLOOKUP 函数)请问 上述的VBA 程序 怎么改能够实现?
Sub 找每行最后一列()For x = 1 To 100
'100是假设sheet2最大行数Sheet2.Range(&h& & x) = Sheet2.Range(&z& & x).End(xlToLeft)
'这个是把每一行提取的最后一列(有内容)的值放到第h列,你可以放到最大的列数(有内容)+1列NextEnd Sub'运行后会得到一列值,再用vlookup进行匹配
Public Function ABC(AAA As Range) As Long
Dim N As Long
For N = AAA.Columns.Count To 1 Step -1
If AAA(N) && && Then
Exit Function
NextEnd Function
15楼大神 请看
Public Function ABCD(AAA As Range) As Variant
Dim N As Long
For N = AAA.Columns.Count To 1 Step -1
If AAA(N) && && Then
ABCD = AAA(N)
Exit Function
ABCD = &&End Function在D4单元格中按照图最上方编辑栏里的函数输入,再向下拖动复制。这能实现12楼中的效果。
Public Function vlookup2(Myname As Range, Myrange As Range) As Variant
Dim c As Range, N As Long, m As Long
N = Myrange.Columns.Count
For Each c In Myrange.Columns(1).Cells
If c = Myname Then
For m = N To 2 Step -1
If c.Offset(0, m - 1) && && Then
vlookup2 = c.Offset(0, m - 1)
Exit Function
vlookup2 = &&End Function在C5单元格中输入自定义函数vlookup2(见图最上面编辑栏中的函数,与vlookup函数相似,但只要输入前两个参数即可。vlookup函数有4个参数。)
建议楼主百度下自定义函数的意思
在输入18楼 程序后 电脑会跳出命名宏名字的对话框 我输入名字后 出现这张图 运行后 没有出现18楼的效果
Sub 处理()Dim a As StringDim arrSheets(2).Selecta = Range(&b65535&).End(xlUp).RowReDim arr(1 To a, 1 To 1)For i = 1 To a - 1b = Range(&IV& & i + 1).End(xlToLeft).Columnarr(i, 1) = Cells(i + 1, b)Next Sheets(1).Select[H4].Resize(a - 1) = arrEnd Sub
(表一)反馈数据的表格表二(输入数据的表格)VBA 界面(ALT+F11 插入 表二 写程序)
表一(数据输出)表二(数据输入表)(以上是在下想实现的Excel 功能)
各位大神 在线等
你意思是不是 第二张图片中 C后面有内容的
复制到 H列?比如张三
C D都有内容 合起来写在H列?
另外求最大列 我觉得 可以用
拿张三一行来说dim i as integeri=3
cells(2,i)&&&&
'这里的2可以做变量,现在以张三为例所以取2i=i+1loop这个循环出来
到最后 变成空,那么他前面一个就是有内容的所以 I-1
就是你要的行数。这里的前提是 c d e f 这样要连续有内容直到空如果
f 不是这样连续的
c有内容 d e 没有 F有可以用usedrang来判断所使用的最大列在哪里,然后再做循环dim A,B,i as integerA=activesheet.usedrange.column+activesheet.usedrange.columns.count-1‘上面这句的意思,求已使用范围开始列,和使用范围一共几列加起来减去1 就是最后一列了。for i=3 to a
if cells(2,i)&&&& then
end ifnext这样B求出来的是最后一格
不为空的列。
问题已解决 感谢各位大神的指导 (特别感谢8楼 18楼 和各位耐心指导我的朋友们)
登录百度帐号}

我要回帖

更多关于 问题求解 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信