ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[已解决] 求助,考勤表中相同字母后面的数字相加

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-11-4 14:21 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
dipperrrr 发表于 2019-11-4 13:57
大体思路:
把每个单元格里面的内容按照"/"拆分,然后根据标题,替换掉H,NX,T等。用--把替换后的内容转 ...

我看的有点晕,我研究一下,REPT(" ",99)后面为什么是99,ROW($1:$9)*99-98这段是怎么理解?
豆豆老师的公式里为啥会出现一个“鱼”,我也有点蒙。
excel好深奥啊

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-11-4 14:29 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
sbdk007 发表于 2019-11-4 14:18
学一下各位老师
=SUMPRODUCT(--LEFT(0&SUBSTITUTE(MID($B2:$J2,FIND(LEFT(RIGHT(K$1,3)),$B2:$J2&LEFT(RIG ...

可以每段解释下是啥意思么?excel小白啊,我今天的脑细胞感觉在这几分钟全死光了。。。。。。

TA的精华主题

TA的得分主题

发表于 2019-11-4 14:33 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
  1. =SUM(--(0&SUBSTITUTE(LEFT(SUBSTITUTE(MID($B2:$J2,FIND(LEFT(K$1),$B2:$J2&LEFT(K$1)),9),"/",REPT(" ",9)),9),TRIM(LEFTB(K$1,2)),)))
复制代码

TA的精华主题

TA的得分主题

发表于 2019-11-4 17:12 | 显示全部楼层
{=SUM(IFERROR(TRIM(MID(SUBSTITUTE(SUBSTITUTE($B2:$J2,"/",REPT(" ",9)),LEFT(K$1,LEN(K$1)-2),),{1;9},9))*1,))

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-11-4 23:38 | 显示全部楼层
dipperrrr 发表于 2019-11-4 13:57
大体思路:
把每个单元格里面的内容按照"/"拆分,然后根据标题,替换掉H,NX,T等。用--把替换后的内容转 ...

大神,晚上研究了很久,里面有些数字我还是看不懂,可不可以帮忙解释下,谢谢谢谢!
1、REPT(" ",99),为什么要99,“/”替换不是1就可以的吗?
2、ROW($1:$9),这个是固定不变的吗?是不是因为我是9列数据,如果我的表格有30列,100行,我应该怎么办?
3、里面有一个“ROW($1:$9)*99-98”,是因为rept用了99的 关系吗?如果rept(" ",1)可以用,那这里应该怎么改?

TA的精华主题

TA的得分主题

发表于 2019-11-5 10:49 | 显示全部楼层
hermit02 发表于 2019-11-4 23:38
大神,晚上研究了很久,里面有些数字我还是看不懂,可不可以帮忙解释下,谢谢谢谢!
1、REPT(" ",99), ...

1.不一定非要99,足够大就可以。主要是把内容按照 / 分开,1是不行的,比如H2 TX11.5 N2, 你可以测试下,“ 空格不够的话,会把数据从中间截断。这里也可以用filterxml来操作:
=SUM(IFERROR(--FILTERXML("<a><b>"&SUBSTITUTE(SUBSTITUTE(TEXTJOIN("/",,$B2:$J2),"/","</b><b>"),TRIM(LEFTB(K$1,2)),"</b><b>")&"</b></ a>","//b"),))
2.row($1:$9)是根据你一个单元格里面的请假类型来的,如果超过9个就调整一下。跟行数无关;
3.见1.

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-11-5 12:28 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 hermit02 于 2019-11-5 13:33 编辑
dipperrrr 发表于 2019-11-5 10:49
1.不一定非要99,足够大就可以。主要是把内容按照 / 分开,1是不行的,比如H2 TX11.5 N2, 你可以测试下, ...

大神,这个ROW($1:$9)*99-98我可以直接写成1吗?它这里的意思是不是就是起始位置?那是不是就是“1”?
11.png
您之前说的“row($1:$9)是根据你一个单元格里面的请假类型来的,如果超过9个就调整一下”,我刚试着把一个单元格里填写了9种以上的字母,怎么结果还是没有改变(如图)
222.png
不好意思,基础太差,问题有点多。网上看了资料,脑子更疼了。。。。

TA的精华主题

TA的得分主题

发表于 2019-11-5 15:15 | 显示全部楼层
hermit02 发表于 2019-11-5 12:28
大神,这个ROW($1:$9)*99-98我可以直接写成1吗?它这里的意思是不是就是起始位置?那是不是就是“1”?
...

不可以,那个是数组。你按F9也看到了,他不是1个数,是9个数。
请假类型那个,你把第10个往后的请假类型加上时间,会发现第10个往后的请假类型计算有误。需要把row(1:9)改大点。可以用上面的filterxml公式核对下。

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-11-6 09:22 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
dipperrrr 发表于 2019-11-5 15:15
不可以,那个是数组。你按F9也看到了,他不是1个数,是9个数。
请假类型那个,你把第10个往后的请假类型 ...

谢谢大神~
filterxml感觉更看不懂了,里面出现<a><b>,百度上没有特别多的解释,所以这个我就更不明白了。我现在努力把您之前给的看懂,会改,我就很满足了,哈哈哈哈。

TA的精华主题

TA的得分主题

发表于 2019-11-6 09:59 | 显示全部楼层
K2单元格,数组公式:
=SUM(IFERROR(--MID($B2:$J2,FIND(LEFT(K$1,LEN(K$1)-2),$B2:$J2)+LEN(K$1)-2,5),0))

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

本版积分规则

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

GMT+8, 2024-5-22 13:45 , Processed in 0.042087 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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