Excel公式知多少?

下午5点半傍下班来了个急活,领导从三方系统下载的对账单文件,要我导入到一个系统的数据库里。

写程序不赶趟。

凭着对excel操作有一些基础,那么,通过excel直接生成所需的insert语句,然后发给运维执行,也许更快!

原始数据如下:

接下来要生成数据表各字段的值了。

首先,要生成唯一单号。规则是 PD+yyyyMMdd+8位长度的序号。

先新建一列I列,首行是1,双击得到每行的序号。

然后借助excel公式将生成的单号放在H列:="PD"&SUBSTITUTE(A3,"-","")&RIGHT("00000000"&I3,8)

接下来,要根据修改时间,生成创建时间。规则是:创建时间比修改时间早1~100秒。

借助excel公式将生成的创建时间放在J列:=TEXT(F3-TIME(0,0,ROUND( RAND()*100,0)),"yyyy-mm-dd hh:mm:ss")

其中,

  1. RAND函数用来生成随机数,生成的是0~1之间的小数。
  2. ROUND函数是四舍五入的,这里取整。
  3. TIME函数返回的小数值为0 (零)到 0.99999999之间的数值,代表从0:00:00 (12:00:00 AM)到23:59:59 (11:59:59 P.M.)之间的时间。语法是TIME(hour,minute,second)。比如某单元格=TIME(0,0,5),将单元格格式设置为时间时,显示的是0:00:05。
  4. TEXT函数不知道什么意思,网上说好像还挺强大。我是把大概意思告诉了一个运营小姐姐,人家告诉我的。

接下来,基本上就没什么难度了。直接点击各单元格生成最终的insert就欧克了。

="INSERT INTO t_business_airorders"&RIGHT(LEFT(H6,8),6)&" (OrderId,OrderNo,OrderSt,PayMentSt,BusinessType,MerCode,MerName,ZFDate,ModifyDate,OrderAmount,CreatDate,HKStatus,PayType,KBCode,OrgCode,soncode,CounterFee,validityNum)VALUES(‘"&H6&"‘,‘"&B6&"‘,‘YWC‘,‘YWC‘,‘‘,‘9001004221‘,‘麦兜兜‘,‘"&F6&"‘,‘"&F6&"‘,‘"&E6&"‘,‘"&J6&"‘,‘YJS‘,‘25‘,‘"&H6&"‘,‘LD_YS_1_2‘,‘‘,‘0.00‘,‘15‘);"

最终的excel长这样:

把这些insert语句copy出来,放到记事本文件里,发给运维去生产库执行,确认无误,6:30完活。

如果是现写程序的话,怕是会比这个慢。手里有一把锤子,看到什么都是钉子。程序员嘛,编程良久,不管碰到什么需求,第一反应自然是写程序实现。我记得曾经在某东时,也有听到这样的导入数据的需求,那个转正不久的实习生说写程序得1天。如果他知道excel可以更快交差的话,那岂不是解放生产力了呢。程序员懂一些常用的excel操作是必要的。

原文地址:https://www.cnblogs.com/buguge/p/12196041.html

时间: 2024-10-02 00:26:11

Excel公式知多少?的相关文章

JAVA实现EXCEL公式专题(六)——查找引用函数

查找引用函数主要有match.lookup.vlookup.hlookup这4种,这几个常用的方法也就不解释啦,直接上干货: /** * 项目名称: * 文件说明: * 主要特点: EXCEL公式类型:查找公式 * 版本号:1.0 * 制作人:刘晨曦 * 创建时间:2013-12-3 **/ package EXCEL; import java.util.Calendar; import java.util.Date; /** * @author lcx * */ public class Se

JAVA实现EXCEL公式专题(四)——字符串函数

直接上代码: /** * 项目名称: * 文件说明: ExCEL公式类型:字符串公式 * 主要特点: * 版本:1.0 * 制作人:刘晨曦 * 创建时间:2013-12-3 **/ package EXCEL; /** * @author lcx * */ public class StringFunctions { public static String right(String str,int len) { if(len>str.length()) throw new IllegalArg

JAVA实现EXCEL公式专题(一)——EXCEL公式分类与解析步骤

1)EXCEL公式分类 a. 数值: 从极端情况来说,数值也是一种最简单的公式如 A1=1; b. 简单函数:简单函数指的是参数只能是数值的函数,如公式A3(简单函数)=sum(A1:A2),,A1=1,A2=3; c. 复杂函数:复杂函数指的是参数中也存在函数的,如A4(复杂函数)=avg(A3,A1): d. 表达式:指的是四则运算表达式,如A5=(A4+A1)/A3; 在鄙人现有知识范围内,EXCEL公式函数不外乎以上四种情况. 2)EXCEL公式解析--递归 那上面最复杂的d类中的四则运

Excel公式无法重算,暂无法解决

一份复杂的excel报表,某些单元格是用求和公式算出来的值,但生成之后,用excel打开,无法显示公式结果,按F9也没有用,只能在单元格公式双击后回车才会显示.而在WPS2010按F9就可以重算,WPS2013则直接可以显示正确的结果 尝试用VBA解决,本地excel可以,选择sheet,复制,黏贴后会刷新显示结果.但我这个报表是用NPOI生成的,生成的excel的Workbook_SheetActivate段代码会丢失,找不到文件,无法保存. Private Sub Workbook_Shee

Excel公式与函数——每天学一个

说明(2018-5-29 20:35:53): 1. 根据刘伟的视频讲解进行总结,网上讲Excel公式与函数的貌似就他讲的还不错.在他的微博里看到现在的照片胖了不少,不过还挺帅的,不再是以前那个小屌丝了. 2. 一共53个视频,去掉一个开头,去掉一个结尾,还剩51个,一天看一个,俩月就能看完,美滋滋~ 3. 其实我已经看了好几个了,而且因为一个很短,所以一天能看好几个,只能看几个总结几个了. 开始! (1)TRUE与FALSE 公式:=A1=B1 效果:如果A1=B1,显示TRUE,否则显示FA

Excel 公式集

1.  Excel 公式集 1.查找重复内容公式:=IF(COUNTIF(A:A,A2)>1,"重复",""). 2.用出生年月来计算年龄公式:=TRUNC((DAYS360(H6,"2009/8/30",FALSE))/360,0). 3.从输入的18位身份证号的出生年月计算公式:=CONCATENATE(MID(E2,7,4),"/",MID(E2,11,2),"/",MID(E2,13,2)).

C# 创建、读取Excel公式

对于数据量较大的表格,需要计算一些特殊数值时,我们通过运用公式能有效提高我们数据处理的速度和效率,对于后期数据的增删改查等的批量操作也很方便.此外,对于某些数值的信息来源,我们也可以通过读取数据中包含的公式来获取.下面的示例中将分享通过C# 来创建.读取Excel公式的方法. 工具使用 Spire.XLS for .NET 8.0下载安装该类库后,注意在程序中添加引用Spire.Xls.dll(dll文件可在安装路径下的Bin文件夹中获取)代码示例(供参考) [示例1]创建Excel公式 C#

excel 公式 名称管理器 使用效果图

excel 公式 名称管理器 使用效果图 原文地址:https://blog.51cto.com/mflag/2411284

Excel公式 提取文件路径后缀

我们在代码中获取一个文件路径的后缀,是一个很简单的事. 如C#中,可以通过new FileInfo(filePath).Extension,或者Path.GetExtension(filePath)获取. 而Excel的大数据中,直接批量获取同行单元格内容中文件路径的后缀,该如何获取? 如上,想获取文件后缀,然后从中分析出文件的所属开发语言. 公式如下: 1.获取后缀 =RIGHT(D2,LEN(D2)-FIND("@",SUBSTITUTE(D2,".",&quo