ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
123
返回列表 发新帖
楼主: cnjade

[讨论] 如何提取单元格内容并自动填写到对应的单元格里面

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-9-6 15:10 | 显示全部楼层
niefeng160207 发表于 2011-9-6 15:07
用个笨办法,一个个来算

C列是自己输入的?这个工程量太大了,因为如果多是自己输入,大约有3000多行,呃,有点太疯狂了。 15楼里面需要补全,要不您帮忙看看。

TA的精华主题

TA的得分主题

发表于 2011-9-6 15:15 | 显示全部楼层
cnjade 发表于 2011-9-6 15:10
C列是自己输入的?这个工程量太大了,因为如果多是自己输入,大约有3000多行,呃,有点太疯狂了。 15楼里 ...

与C列没关系,可以删掉

TA的精华主题

TA的得分主题

发表于 2011-9-6 15:18 | 显示全部楼层
改了一下,你再试试~~ 周数-xhxdbxz.rar (14.62 KB, 下载次数: 81)

这个算法感觉太啰嗦了,先凑和用吧,汗~~

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-9-6 15:23 | 显示全部楼层
xhxdbxz 发表于 2011-9-6 15:18
改了一下,你再试试~~

这个算法感觉太啰嗦了,先凑和用吧,汗~~

虽然算法太罗嗦,但是,有效果。。。。。。
谢谢你。

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-9-6 15:34 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
niefeng160207 发表于 2011-9-6 15:15
与C列没关系,可以删掉

如果将B2改成5-9,D2:U2是不会自动变更的呀。

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-9-6 18:11 | 显示全部楼层
VBA版块的AVEL出了一个vba版本的解决方案,(⊙o⊙)…,我对vba一点不懂。
链接在此http://club.excelhome.net/thread-761284-2-1.html    13楼。{:soso_e179:}

TA的精华主题

TA的得分主题

发表于 2011-9-6 22:44 | 显示全部楼层
我来试着解决一下这个问题(首先要把B2—J2单元格中的数字转换为文本形式,另外如同13楼的朋友一样,把10开始的数字用英文字母依次排序),这个问题刚拿到的时候,可以大致想到应该是一个条件判断类型的问题,那么针对这个问题,我们考虑,某周到底应该被填充为1,还是空白,有什么规律呢?如果我们在纸上画一画,我想你会发现,某周应该被填充为什么,与它前一周有紧密的关系,那么,我在这里以第7周,第A3单元格作为数据源为例,说说第7周被填充为什么,和第六周有什么关系。

1、如果A3中只要有“7”,那么说明肯定有第7周,不管是“7,”,“-7”,“7-”等字样

2、如果A3中有“6-”也必然有第7周。至于为什么,我想我不用说了。

上面两个是“必然有”,那么既然是必然有,而且是只要满足上述的其中任何一个条件,就“必然有”,那么我们可以想到是OR的关系。我们可以先写成IF(OR(ISNUMBER(FIND(H$2,$A3)),ISNUMBER(FIND(G$2&"-",$A3))),1,其他的可能性)----式子1。

接下来是几个“必然无”:

3、如果A3单元格的右起第一个字符就是“6” ,那么,第七周肯定为空白。

4、如果A3中有“6,”那么第7周必然为空白。因为A3单元格的内容不可能出现例如:3—6,7---
这样的情况。

5、如果A3中有“-6”,那么第7周必然为空白,大家参照第一条想想为什么。

3、4和5条是三个必然为空白的情况,而且只要满足上述的其中任何一个条件,就“必然为空”,同样我们想到是OR的关系。我们可以写成:IF(OR(RIGHT($A3,1)=G$2,ISNUMBER(FIND(G$2&",",$A3)),ISNUMBER(FIND("-"&G$2,$A3))),"", 其他的可能性)------式子2。


我们将式子2带到式子1中得到:

=IF(OR(ISNUMBER(FIND(H$2,$A3)),ISNUMBER(FIND(G$2&"-",$A3))),1,IF(OR(RIGHT($A3,1)=G$2,ISNUMBER(FIND(G$2&",",$A3)),ISNUMBER(FIND("-"&G$2,$A3))),"",其他的可能性))-----式子3

现在我们要完成的是,当我们列举了1,2,3,4,5这几个必然之后,还有那些情况是没有包含在1,2,3,4,5这五条规律中的呢?有以下几个:比如仍以第7周为例,当A3单元格中为类似于“2-4”(范围跨度中不含7,且在7的前面),或者“2-8”(范围跨度中包含7)或者“8-9”(范围跨度中不含7,且在7的后面。)对于式子3来说,这三种情况发生的时候,我们应该让IF语句执行什么呢?其实就是执行前一个单元格的内容,即第6周被填充了什么。如何想到这里呢,因为我们让第7周的单元格填充前一周的内容,其实依次往前推,每个单元格在最后不满足1,2,3,4,5,这五条规律的时候,都会去填充前一个单元格的内容,这有些像递推公式。比如说A3是“2-8”,第2周满足上述五条中的第1条,则被填充为“1”;第3周满足上述五条中的第2条,则被填充为“1”;第四周不满足上述五条中的任何一条,因此填充为它的前一周,也就是第二周的内容,即“1”;第五周到第7周和第四周的原因一样,都被填充为“1”;第8周满足上述五条中的第1条,则被填充为“1”;第9周满足上述五条中的第5条,因此被填充为空白;第A(就是第10周)周以后,都因为不满足上述五条中的任何一条,因此填充为它的前一周,而自此以后,它们的前一周都成为了空白。
周数.rar (10.25 KB, 下载次数: 23)

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-9-7 08:34 | 显示全部楼层
moffic 发表于 2011-9-6 22:44
我来试着解决一下这个问题(首先要把B2—J2单元格中的数字转换为文本形式,另外如同13楼的朋友一样,把10开 ...

谢谢moffic,思路很清晰。这下更明白了。
你的附件貌似是没有公式的,等完成老板交代的认为我按照你的思路套用一下。然后上传,谢谢啦。

TA的精华主题

TA的得分主题

发表于 2011-9-7 13:36 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
cnjade 发表于 2011-9-7 08:34
谢谢moffic,思路很清晰。这下更明白了。
你的附件貌似是没有公式的,等完成老板交代的认为我按照你的思 ...

抱歉我传错了,等会我传上来
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-16 11:50 , Processed in 0.050354 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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