摘要:

昨天有个同事让村长帮忙设置几个公式 ,需求是这样子的,有一个订单的明细表(真实数据涉及私密,以下数据纯属我后来虚拟的)她需要根据这个订单明细做一个单据查询(打印)的模板,如下图(虚拟)填写单据号后自动带出客户名称、发货日期、发货仓库及发货的明细,其中根据单据号查询客户名称、发货日期、发货仓库比较简单,就是普通的VLOOKUP查询就可以了,这里简单写一下公式客户名称=IFERROR(VLOOKUP(C2,订单明细!$A$1:$D$381,4,0),"")发

昨天有个同事让村长帮忙设置几个公式 ,需求是这样子的,有一个订单的明细表(真实数据涉及私密,以下数据纯属我后来虚拟的)

她需要根据这个订单明细做一个单据查询(打印)的模板,如下图(虚拟)

填写单据号后自动带出客户名称、发货日期、发货仓库及发货的明细,其中根据单据号查询客户名称、发货日期、发货仓库比较简单,就是普通的VLOOKUP查询就可以了,这里简单写一下公式

客户名称

=IFERROR(VLOOKUP(C2,订单明细!$A$1:$D$381,4,0),"")

发货日期

=IFERROR(VLOOKUP(C2,订单明细!$A$1:$B$381,2,0),"")

发货仓库

=IFERROR(VLOOKUP(C2,订单明细!$A$1:$C$381,3,0),"")

接下来主要讲解一下怎么根据订单号查询相应的订单明细,对实际业务了解的人都知道,一张订单里面一般只有一个客户、一个发货日期,一个发货仓库,但是一张订单却可能会有多个产品,这个时候我们就不能简单的用VLOOKUP函数进行查询了,因为VLOOKUP函数用得是遍历法查找,只会自上而下查找到第一个符合条件的结果然后结束查找,不能查询到所有的结果,那么我们要怎么做呢?

首先我们可以在订单明细里面设置一列辅助列,订单明细J列是金额,那么我们就把J列右边那一列K列作为辅助列,K2单元格输入公式并下拉

=COUNTIF($A$2:A2,A2)&A2

效果如下图所示

这么做的用途是将单据号变成唯一,原来一个单据号对应多个产品明细,现在我们根据产品明细的个数给单据号编号,将不唯一变成了唯一,接下来就是简单的条件查询了,这里我们用INDEX+MATCH这对黄金组合函数做一下

B6单元格输入公式

=IFERROR(INDEX(订单明细!E$1:E$381,MATCH(ROW(A1)&$C$2,订单明细!$K$1:$K$381,0)),"")

然后将公式右拉下拉,效果如下图所示

正常来说需求到这里就结束了,可是村长总觉得很不对劲,为什么呢?因为一般单据号比较长我们很难记住,也不容易输入,只能从其他地方把单据号复制过来,这样使用体验就很不好了,那么我们是否可以反过来想一下,如果可以通过名称带出单据信息是不是更好一点呢?可是一个客户有多张订单,输入客户之后Excel怎么知道我们想查询哪一张订单呢?

我们再来想一下,如果我们能输入客户后,带出这个客户的所有单据号,然后单据号字段那里可以通过数据有效性进行选择,这样是不是可以呢?说做就做

首先,单据查询表里面的I列作为辅助列,查询指定客户的所有订单列表,公式如下

=IFERROR(INDEX(订单明细!A:A,SMALL(IF((订单明细!$D$1:$D$381=$F$2)*(MATCH(订单明细!$A$1:$A$381,订单明细!$A$1:$A$381,0)=ROW($1:$381)),ROW($1:$381),9^9),ROW(A1))),"")

效果如下图所示

然后J1单元格输入公式统计客户的订单总数

=SUMPRODUCT(N(I2:I13<>""))

接着我们需要打开“公式”选项卡,选择“名称管理器”,新建一个定义名称,名称设为“单据号”(可自定义),然后引用位置输入如下公式

=OFFSET($I$1,1,,$J$1)

最后我们选中C2单元格(单据号),打开“数据”选项卡,选择“数据验证”(13版本以下叫数据有效性),允许处选择“序列”,来源输入“=单据号”,保存即可。

做完以上操作已经大功告成,接下来我们通过下面两张截图对比看一下成果:

好久没有写Excel相关的教程了,一个是工作确实有点忙,再就是也想腾点时间学习一下新知识(Python),今天实在忍不住了所以就写一下,希望能对大家有所帮助,由于篇幅有限,写得太多也不知道大家喜不喜欢,所以有些优化的地方这里没有接着写,例如:

1、可以用几句VBA代码加一个按钮设置一键打印单据;

2、还可以把查询客户所有单据号的辅助列放置在一个新的工作表,既不影响单据查询(打印)模板的美观,也不影响使用;

3、再有就是当我们重新输入一个客户名称的时候,单据号字段(C2)和客户是不匹配的,需要我们重新选择单据号,否则这个单据是错的,从使用上来说应该是选择了新的客户之后订单明细应该是查询数据为空白,因为这个客户和当前单据号不匹配,这一点的修改也比较简单,只要把产品明细的查询条件再加上客户名称就可以了。

4、单据查询最多只能显示8行,如果该订单明细的实际行数超过8号需要分页该怎么处理?

好了文章就写到这里吧,如果你喜欢村长写得文章,请帮忙点赞加关注再转发,村长会争取多写一点跟实际工作相关的Excel教程跟大家一起分享。

商品订单打印模板html,【EXCEL】如何制作订单单据查询与打印模板?相关推荐

  1. excel制作订单管理系统_如何在Excel中制作订单

    excel制作订单管理系统 When you first start to use Excel, you probably work with files that somebody else set ...

  2. 如何制作订单出货标签

    消费者在网上订购了商品,商家就会在自己的后台收到订单,然后配货发货.工厂也是一样,收到订单后,就会根据订单详情进行发货,这时候就需要根据订单情况打印一个订单出货标签,工作人员就根据订单出货标签的内容进 ...

  3. excel打印预览在哪里_Excel中如何设置自动分页打印

    经常在Excel中制作表格时,在打印的时候,需要将内容分成多页进行打印,但是总是找不到在哪里进行分页,是不是很着急呢?今天教你自动分页打印设置的技巧,学会了这个技巧,轻松掌握Excel分页符,做到举一 ...

  4. excel制作录入和查询系统_excel表格制作成绩查询系统攻略:让学生隐私更安全!

    对于班主任来说,无论是收集学生信息,还是发布考试成绩,用得最多的就是excel表格了!很多老师在发布成绩的时候,多半会把统计好的表格直接发到群里让学生自行查询,这样一来虽然省事,但却极易招到投诉!下面 ...

  5. 怎么安装php模板,PHPWind八风格模板的安装及制作教程

    PHPWind八风格模板的安装及制作教程 PHPWind 8风格模板的安装及制作教程 一.PHPWind风格模板的安装: 1.下载自己喜欢的PHPWind模板,由于PHPWind使用者众多,所以为了符 ...

  6. wps二维码根据一列自动生成_wps个人简历模板 免费的简历制作手机软件

    点击蓝字"制作简历模板"关注制作 wps个人简历模板 免费的简历制作手机软件 wps个人简历模板 相信办公的,会经常使用到文档的朋友对wps这一款软件并不感到陌生.毕竟wps可以说 ...

  7. 如何利用ExcelWPS表格制作智能成绩查询系统?只需半小时,让你的工作更高效!

    在现代教育中,学生成绩的管理和查询已经成为一项重要任务.为了更好地管理和跟踪学生的学术表现,许多学校和教育机构都在使用Excel和WPS表格来制作智能成绩查询系统.这种系统可以有效地帮助教师快速查询并 ...

  8. access如何保存小数点后_条码标签打印软件如何批量制作订单标签

    在生活中我们定外卖,商家收到订单,打印出来订单标签,方便配货,也有工厂收到订单后打印出订单标签,工人根据订单标签的内容进行配货发货,那么如何批量制作订单标签呢?今天用条码标签打印软件给大家演示批量制作 ...

  9. python excel模板 生成excel表格_python制作简单excel统计报表3之将mysql数据库中的数据导入excel模板并生成统计图...

    python制作简单excel统计报表3之将mysql数据库中的数据导入excel模板并生成统计图 #coding=utf-8 from openpyxl importload_workbookfro ...

  10. Excel VBA自动化办公:选择Excel文件合并订单数据生成订单汇总表、生成发货单并导出pdf文件、自动统计业绩生成业绩表

    基本需求: 让用户可以选择多个文件,根据用户选中的工作簿进行合并订单数据,按照预先设计好的订单模板写入数据. 对于同一个交易序号下面有多个订单的,需要计算该交易序号下所有订单的总金额.总票数.相同交易 ...

最新文章

  1. 蓝色版苹果iPhone 12开箱上手视频流出;谷歌回应司法部反垄断诉讼:存在严重漏洞;​Git 2.29 稳定版发布|极客头条
  2. 年报统计系统—基本信息模块的目标文档
  3. haproxy负载均衡_使用haproxy搭建web集群
  4. CV Code | 本周新出计算机视觉开源代码汇总(含目标跟踪、语义分割、姿态跟踪、少样本学习等)...
  5. 让这三个月来的更猛烈些吧,前端react同构项目
  6. 【论文笔记】一种有效攻击BERT等模型的方法
  7. 机器视觉——单目相机模型(坐标标定以及去畸变)
  8. Selenium模拟浏览器常见操作及问题
  9. PCS7 数据库解析
  10. Python3-word文档操作(六):word文档中表格的操作-单元格文字居中,字体颜色等的设置
  11. 筛选法求素数-c++
  12. 修改了DNS服务器网速慢,网络速度缓慢怎么办?轻松一键修改DNS设置让网速提升五倍...
  13. 二级分销系统对企业来说意味着什么?
  14. 编译程序、解释程序、汇编程序和编译、解释的概念
  15. 树莓派(Raspberry pi) 使用Pi Imager安装烧录操作系统
  16. python中range函数是什么意思_python中range什么意思
  17. [附源码]java毕业设计社区生鲜电商平台
  18. 解决电脑连接蓝牙耳机默认音量过大的问题
  19. undefined reference to 解决
  20. Vue Element Admin 使用mock模块模拟数据

热门文章

  1. Json解析工具类之GsonUtil类
  2. MYSQL基础:mysql客户端工具
  3. 三、Multisim放置门电路
  4. JVM内存管理------GC算法精解
  5. 模拟电子技术基础第五版习题 视频讲解 模拟电子技术基础第五版答案
  6. Dubbo 快速入门教程
  7. 算法导论第三版第一章答案
  8. libiconv移植
  9. JointJs快速入门
  10. 软考高项论文写作技巧