. : : ClassiClub ForuM : : .

会员中心 论坛帮助 日历事件 标记论坛已读
返回   精品技术论坛 » 技术论坛 » 『软件使用』

『软件使用』: 电脑软件推荐, 电脑软件使用, 经验分享



发表新主题 回复
 
主题工具
hearty
 
hearty 的头像
热心会员
 
资 料:
注册日期: Feb 2001
帖子: 4,963 声望值: 9
精华: 0,解答: 5
#1 旧 2019-12-05, 15:49:24 默认 【求助】一个经常重复使用的EXCEL操作,怎么弄成自动化可重复利用的?
hearty 当前离线  

从系统中导出来的EXCEL表格,常要进行一些格式调整、替换等工作。
比如导出来的日期某是:2014-10-20 00:00:00.0,我要把后面的 00:00:00.0去掉,此列改为XXXX年-XX月-XX日格式……
对010这样的某列,区号替换为:北京市……
都是这样重复性的工作,大概有日期格式、替换、分列(按照固定宽度)几个操作。

是经常性的需要做这些工作,怎么弄成不同的EXCLE里不同的列都能使用呢?

简单的样表。

谢谢啊。
上传的附件
文件类型: rar 样表.rar (22.0 KB, 6 次查看)

此帖于 2019-12-05 15:57:58 被 hearty 编辑. .


策略的理想 温和的坚定!
回复时引用此帖
askformore
 
askformore 的头像
核心会员
 
资 料:
注册日期: Sep 2003
帖子: 2,842 声望值: 3
精华: 0,解答: 20
#2 旧 2019-12-05, 16:06:03 默认
askformore 当前在线  

需要写vba...
回复时引用此帖
hearty
 
hearty 的头像
热心会员
 
资 料:
注册日期: Feb 2001
帖子: 4,963 声望值: 9
精华: 0,解答: 5
#3 旧 2019-12-05, 16:14:24 默认
hearty 当前离线  

用到VBA哪些知识点?
回复时引用此帖
wgf4242
 
wgf4242 的头像
热心会员
 
资 料:
注册日期: Aug 2001
帖子: 6,880 声望值: 6
精华: 0,解答: 40
#4 旧 2019-12-05, 16:41:24 默认
wgf4242 当前离线  

公式
vba
powerquery

都行。
回复时引用此帖
lllaaa
 
lllaaa 的头像
高级会员
 
资 料:
注册日期: Feb 2002
帖子: 1,017 声望值: 3
精华: 1,解答: 2
#5 旧 2019-12-05, 16:59:57 默认
lllaaa 当前离线  

powerquery is wangdao.


换了马甲还是条好汉。。。。。。
回复时引用此帖
sczhoubing
 
sczhoubing 的头像
超级会员
 
资 料:
注册日期: Jan 2001
帖子: 1,934 声望值: 4
精华: 0,解答: 5
#6 旧 2019-12-05, 17:21:17 默认
sczhoubing 当前离线  

Grid Studio,pandas也不错
https://www.jiqizhixin.com/articles/2019-08-06-5


我住长江头,君住长江尾。日日思君不见君,共饮长江水。
此水几时休,此恨何时已。只愿君心似我心,定不负相思意。
回复时引用此帖
venchia
 
venchia 的头像
热心会员
 
资 料:
注册日期: Nov 2005
帖子: 2,398 声望值: 7
精华: 0,解答: 6
#7 旧 2019-12-05, 20:16:24 默认
venchia 当前离线  

我觉得应该录制宏
回复时引用此帖
michael80
 
michael80 的头像
超级会员
 
资 料:
注册日期: May 2011
帖子: 1,193 声望值: 4
精华: 0,解答: 32
#8 旧 2019-12-05, 20:38:02 默认
michael80 当前离线  

一楼描述的需求都是通过公式可以解决的
回复时引用此帖
aquayhy
 
aquayhy 的头像
支柱会员
 
资 料:
注册日期: Mar 2002
帖子: 4,186 声望值: 3
精华: 2,解答: 10
#9 旧 2019-12-05, 21:43:34 默认
aquayhy 当前离线  

直接用公式做呗
2014-10-20 00:00:00.0,我要把后面的 00:00:00.0去掉,此列改为XXXX年-XX月-XX日格式
先截取第xx到第xx的字段,一段段的提取出来,然后再拼接。

对010这样的某列,区号替换为:北京市。——如果有明确对应关系的话,用vlookup

有两种思路:
1、做好一个excel表格,把要处理的某一列原始数据贴到第1列,然后后面自动按某种逻辑处理好,第N列是最终结果,然后直接复制出来。
2、如果一个sheet格式固定的,那么就整个的都复制进要做的sheet1表格里面,然后从sheet2中复制出来处理后的数据。
回复时引用此帖
xust
 
xust 的头像
热心会员
 
资 料:
注册日期: Feb 2001
帖子: 1,989 声望值: 7
精华: 0,解答: 30
#10 旧 2019-12-06, 14:01:47 默认
xust 当前离线  

现学了一下power query,帮楼主处理了一下,不知是否符合要求。
建议用excel2016以上版本

附件解压到D盘根目录,打开“转换后.xlsx”即可,“样表.xls”数据有变动后鼠标右键刷新即可。
假设城市代号是电话区号(3位数,不足前补0)
上传的附件
文件类型: rar 转换后.rar (88.1 KB, 2 次查看)
回复时引用此帖
POLO
 
POLO 的头像
超级会员
 
资 料:
注册日期: May 2002
帖子: 1,407 声望值: 4
精华: 0,解答: 2
#11 旧 2019-12-06, 14:36:02 默认
POLO 当前离线  

1、日期查找“ 00:00:00.0“ 按替换就可以了
2、区号vlookup函数
回复时引用此帖
samson1688
 
samson1688 的头像
热心会员
 
资 料:
注册日期: Jan 2002
帖子: 5,389 声望值: 1
精华: 0,解答: 3
#12 旧 2019-12-06, 14:54:05 默认
samson1688 当前在线  

我也有同样的需求

经常需要将别人发给我的表格执行“=raoundj(xx/10000,2)”,即将表格中的某些列的单元格转换为以万元为单位。

不知大家有没有好的解决方法?谢谢。
回复时引用此帖
xust
 
xust 的头像
热心会员
 
资 料:
注册日期: Feb 2001
帖子: 1,989 声望值: 7
精华: 0,解答: 30
#13 旧 2019-12-06, 15:06:49 默认
xust 当前离线  

引用:
作者: samson1688 查看帖子
我也有同样的需求

经常需要将别人发给我的表格执行“=raoundj(xx/10000,2)”,即将表格中的某些列的单元格转换为以万元为单位。

不知大家有没有好的解决方法?谢谢。
建议试试power query吧,今天临时学了一下,很方便。

或者,在excel里处理,先在无关的任意一个单元格里输入0.0001,然后复制这个单元格,然后选中要转换为万元的所有单元格,
使用“选择性粘贴”里的“乘”,点击“确定”就可以了。

此帖于 2019-12-06 15:13:48 被 xust 编辑. .
回复时引用此帖
ASBai
 
ASBai 的头像
热心会员
 
资 料:
注册日期: May 2005
帖子: 5,216 声望值: 5
精华: 18,解答: 29
#14 旧 2019-12-06, 22:49:34 默认
ASBai 当前离线  

我提供个最傻瓜的思路,写一个模板文件:在 sheet 1 粘贴每次的数据,在 sheet2 做好对 sheet1 的映射和公式。每次新数据来了都覆盖粘贴 sheet1,然后 sheet2 里就是你要的结果。


baiy.cn
俺的原创免费作品站
回复时引用此帖
hearty
 
hearty 的头像
热心会员
 
资 料:
注册日期: Feb 2001
帖子: 4,963 声望值: 9
精华: 0,解答: 5
#15 旧 2019-12-07, 18:19:15 默认
hearty 当前离线  

我现在是用替换,选中一列,ctrl+h……
主要麻烦的是好几个不连续的列。
行政区划是单独一列。
表里还有身份证号码,电话号码各种数字。
列的顺序会变化。
其实我想的就是选中1列,执行,选是修改日期还是区号然后自动帮我替换就好了。

看来,还是录个宏省事了。
回复时引用此帖
发表新主题 回复

标签
excel, python

主题工具

论坛规则  发帖规则
不可以发表主题
不可以回复帖子
不可以上传附件
不可以编辑自己的帖子
论坛启用 vB 代码
版面启用 表情符号
版面启用 [IMG] 代码
版面禁用 HTML 代码


所有时间均为北京时间, 现在的时间是 08:27:11.

本论坛带宽由迅通网络提供
SSL证书由TrustAsia提供

Copyright © 2000 - 2019 ClassiClub Forum All Rights Reserved.
粤ICP备09123456号