1234

ExcelHome技术论坛

用户名  找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 能否根据指定单元格,自动增加行转换数据?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2015-1-24 12:34 | 显示全部楼层 |阅读模式
1、详细情况见附件。
2、要求根据Sheet1表格AM列的数据,在Sheet2中自动根据AM列的数据转换。
转换要求(1)如果AM列为空值,原来行数据保留直接到在Sheet2中,
(2)难点在于如果AM列不为空值,原来所在行数据在SHEET2中全部转换为负值暨*-1,并且在下面增加一行数据,其数据和*-1行数据相加为零,并且新增的这一行,原Sheet1表格G列单元格数据在SHEET2自动转换为Sheet1表格AM列单元格数据,这两行数据相加为0,不知是否可以用函数实现。每月都有几百条这样数据操作,手工处理很容易错,也很繁琐。
要求能在2003使用,用函数解决,函数越简洁易懂越好,尽量不用自定义函数或内置函数,如使用请附文字说明,谢谢!

20150124问题.zip

4.6 KB, 下载次数: 16

附件

TA的精华主题

TA的得分主题

发表于 2015-1-24 13:38 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
这样吗?
EH(WJG)c.rar (10.57 KB, 下载次数: 17)

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-1-24 13:51 | 显示全部楼层
wangjguo44 发表于 2015-1-24 13:38
这样吗?

老师,是这样的,但是就有一样,Sheet2的A列格式与Sheet1的A列格式不一致,VLookup的这种列引用我还是第一次看见,谢谢!能否更完美地实现A列格式一致,除另外设置Sheet2的A列格式的措施以外。

TA的精华主题

TA的得分主题

发表于 2015-1-24 14:11 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 wangjguo44 于 2015-1-24 14:13 编辑

A列增加一个判断,使之保持原数据格式,VLOOKUP的引用--$A3前的“--”去掉(本来想修改成根据Sheet1A列实际行数动态引用,但超过03版嵌套限制,只好作罢(A列公式中ROW($1:$6)、ROW($3:$8))

EH(WJG)c.rar

9.61 KB, 下载次数: 4

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-1-24 14:21 | 显示全部楼层
wangjguo44 发表于 2015-1-24 13:38
这样吗?

公式有错误,不好意思大侠,是根据发货单号暨Sheet1的E列来确定唯一性关联。因为当插入或追加行,就会根据Sheet1的A列暨客户代码来引用第一行值,会出现引用错误。对不起老师,是我没有说清楚。

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-1-24 14:34 | 显示全部楼层
wangjguo44 发表于 2015-1-24 14:11
A列增加一个判断,使之保持原数据格式,VLOOKUP的引用--$A3前的“--”去掉(本来想修改成根据Sheet1A列实际 ...

老师,我修改了公式=IF($E4="","",IF(E4=E5,-1,1)*VLOOKUP($E4,Sheet1!$A:$AM,COLUMN(K:K),))确定发货单号暨E列才是唯一性,结果却报错,是什么原因呢?

TA的精华主题

TA的得分主题

发表于 2015-1-24 15:25 | 显示全部楼层
510437958 发表于 2015-1-24 14:34
老师,我修改了公式=IF($E4="","",IF(E4=E5,-1,1)*VLOOKUP($E4,Sheet1!$A:$AM,COLUMN(K:K),))确定发货单号 ...

看看这个(以E列为基准)
EH(WJG)c.rar (9.26 KB, 下载次数: 20)

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-1-24 15:51 | 显示全部楼层
wangjguo44 发表于 2015-1-24 15:25
看看这个(以E列为基准)

谢谢老师,=IF($E4="","",IF($E4=$E5,-1,1)*VLOOKUP($E4,Sheet1!$E:$AM,COLUMN(G:G),))我明白了G列的值是返回结果,可是为什么没有后面的4,,false的格式也不会报错呢?盼科普!vlookup($e4:$am4,column(G:G),4,FALSE)一般格式好像是这样子的?

TA的精华主题

TA的得分主题

发表于 2015-1-24 17:25 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
510437958 发表于 2015-1-24 15:51
谢谢老师,=IF($E4="","",IF($E4=$E5,-1,1)*VLOOKUP($E4,Sheet1!$E:$AM,COLUMN(G:G),))我明白了G列的值是 ...

VLOOKUP($E4,Sheet1!$E:$AM,COLUMN(G:G),)——
1、VLOOKUP()的第一参数查找值$E4;
2、第二参数查找范围是Sheet1!$E:$AM,(第一参数在此范围首列E列);
3、第三参数列序号是COLUMN(G:G)=7,即第二参数范围的第7列,也即Sheet1!$K:$K列;
4、第四参数是false,即精确查找。这里是省写了false(0),但留下了一个逗号。(如果不是精确查找,则是省略true,没有逗号。)

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-1-24 22:18 | 显示全部楼层
wangjguo44 发表于 2015-1-24 17:25
VLOOKUP($E4,Sheet1!$E:$AM,COLUMN(G:G),)——
1、VLOOKUP()的第一参数查找值$E4;
2、第二参数查找范围 ...

谢谢王老师,让我再次认识了vlookup
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

1234

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

GMT+8, 2025-4-16 17:43 , Processed in 0.037487 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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