以文本方式查看主题

-  易表在线答疑  (http://egrid2000.com/dvbbs/index.asp)
--  用户社区  (http://egrid2000.com/dvbbs/list.asp?boardid=2)
----  求助 : 比较两个表的列标题的差异!  (http://egrid2000.com/dvbbs/dispbbs.asp?boardid=2&id=27334)

--  作者:oYo
--  发布时间:2014/7/28 17:04:00
--  求助 : 比较两个表的列标题的差异!


经常会用到EXCEL 导入后合并工作表的任务,另个表的标题存在差异时会有部分数据无法合并进来!

如何实现合并前比较下两个标的差异,然后手工调整一致后在进行表合并!

如后面 文件:

1、 要比较 表2 和表3 的列标题的差异
2、 用按钮公式生成结果体现在 稽核表中

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:表标题比较.egd



--  作者:dancedy
--  发布时间:2014/7/28 17:58:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:两表比较.egd


--  作者:oYo
--  发布时间:2014/7/28 22:42:00
--  
多谢,问题基本解决!
1、稽核1 和稽核 2 列标题 能初始化进去就OK了!
2、稽核1 和稽核2 列使用 CONGTFOR 刷新公式也可实现稽核结果!

--  作者:iyplx2425
--  发布时间:2014/7/29 8:47:00
--  

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:2233.egd

 

文件设置了变量[%表名%]。请看“表1”,当在[表2]列刷新公式中使用该变量时,变量的值为:A|B|C|S|E|F|G|H,同样,在[表3]列刷新公式中的值为:B|F|R|T|D|S|C|H,即分别为“表2”、“表3”各列列名。
现在比较“表1”、与“测试”。

“表1”中[表2]列刷新公式为

Split([%表2%],"|",[序号]),其中被分割的字符串用变量[%表名%]表达,但刷新公式无法正确运行出结果;

再看“测试”表,[表2]列刷新公式中被分割的字符串改用“A|B|C|S|E|F|G|H”,则刷新公式正确运行,其他列照此设置刷新公式,楼主的设计要求都得到满足。

请问:变量是不是不能用于类似于Split([%表2%],"|",[序号])这样的公式中?有什么规律可循?

谢谢。


--  作者:iyplx2425
--  发布时间:2014/7/29 8:57:00
--  
当然,如果我们在“表1”中增设两列,[p]、[n],将两列的刷新公式分别设为:ListCols("表2")和ListCols("表3"),将“表1”中[表2]与[表3]两列的刷新公式分别设为Split(“p”,"|",[序号])和Split("n,"|",[序号]),应该也能得到正确运行。这样,楼主的设计要求就无需使用按钮公式,而直接使用刷新公式就可以了。
--  作者:iyplx2425
--  发布时间:2014/7/29 9:09:00
--  
应该是Split([p],"|",[序号])和Split([n],"|",[序号])。
--  作者:dancedy
--  发布时间:2014/7/29 9:09:00
--  

Split([%表2%],"|",[序号]),split无法直接应用变量,可以用Eval

Eval("Split(""" + [%表2%] + """,""|"",[序号])")

 


--  作者:iyplx2425
--  发布时间:2014/7/29 9:10:00
--  
哦。谢谢了。
--  作者:iyplx2425
--  发布时间:2014/7/29 9:19:00
--  
共用一个变量[%表名%]即可:Eval("Split(""" + [%表名%] + """,""|"",[序号])")
--  作者:iyplx2425
--  发布时间:2014/7/29 9:22:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:2233.egd