【Excel】函数之易踩坑系列(常用函数干货)

2023-10-12 09:40

本文主要是介绍【Excel】函数之易踩坑系列(常用函数干货),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

失效的日期:

数据库导出来的日期通常是字符串格式的!!,超级容易忽略掉的格式问题,成为了统计数目时的一大出错点。

解决办法:用DATE 或 DATEVALUE+MID转化为日期格式

季度和周期的计算公式
  • 【如:第1季度】 =“第”&TEXT((MONTH(A2)+2)/3,“0”)&“季度”
  • 【如:2023/1/2-2023/1/8】=TEXT(A2-WEEKDAY(A2,2)+1,“YYYY/M/D”)&“-”&TEXT(A2-WEEKDAY(A2,2)+7,“YYYY/M/D”)

劝退之老是#N/A的VLOOKUP:

在这里插入图片描述
场景:由于数据库权限问题,重要数据只能导出脱敏文件,需要用到vlookup函数查找另一张源表补全信息。
  然而问题来了:为什么同样的一列,有大部分的单元格能查找到,却有小部分是#N/A(用Ctrl+F是能在两个表都找到的value)呢?
  带着疑惑,我先检查了格式是否相等,再用IF函数验证两个单元格是否相等,答案是TRUE的!!那为什么用VLOOKUP还是找不到呢,我想是出现了薛定谔的格式吧。
  所以我改用了Index函数,结果是理想的,全部都能找到,而且index函数可灵活多了,完全可以代替VLOOKUP。

=INDEX(查询结果!A:B,MATCH(TEXT(F2,“0”),查询结果!A:A,0),2)


强大的COUNTIFS函数:

在这里插入图片描述

场景:统计二级、三级指标完成数量任务,需要用到辅助列+条件列+search函数提取目标列中包含任意关键词的行。
于是乎又臭又长的公式就诞生了(B:B为目标列,F2:F6为条件列):

单条件查询: =IF(ISNUMBER(SEARCH(F2,B2)),1,0)
多条件查询: =IF(SUMPRODUCT(N(NOT(ISERROR(SEARCH(F2:F6,B2))))),1,0)

既然条件列能用通配符,那优化:

单条件查询: =IF(COUNTIF(F2,B2),1,0)
多条件查询: =IF(SUMPRODUCT((COUNTIF(B2,F2:F6))),1,0)

此外,COUNTIFS的其他应用场景:

  • 去重:=IF(COUNTIF(B:B,B2)>1,0,1)
  • 判断该元素是否在另一列出现过:=IF(COUNTIF(B:B,A2),1,0)
  • 分组统计(条件顺序:有重大区分的放在前面)

SEARCH函数的用武之地:

在这里插入图片描述
场景:从字符串中截取关键句,如:把字符串里的日期提取出来、截取包含某个关键字的完整地名。

计算公式: =MID(G2,SEARCH(“保利*”,G2),10)


想用数组就找OFFSET函数:

场景:想返回一组满足多个条件的数组,比如:求出2022年的某个地区的某项指标的中位数。
思路:先利用INDEX+MATCH找到符合条件的单元格组的首格,再用OFFSET返回整个数组,最后用MEDIAN求出中位数。(记得按三键:Ctrl+Shift+Enter)

=MEDIAN(OFFSET(INDEX(数据源!B:H,MATCH(1,(数据源!B:B=B1)*(数据源!D:D=4),0),7),0,0,12,1))


Excel版的case when语句

在这里插入图片描述
场景:根据销售业绩分配不同的提成比例或者根据特定的人给提成。
思路:先用MATCH找到目标值在数组中的位置,再配合CHOOSE返回该位置的值。

=CHOOSE(MATCH(B2,{0,10001,20001,30001}),0.05,0.1,0.15,0.2) # 根据销售业绩分配拟定的提成比例,如:销售额为[0,10000]的提成比例只有0.0.5,大于30000的提成比例有0.2;
=IFERROR(CHOOSE(MATCH(A2,{“小明3”,“小明4”,“小明5”},0),0.1,0.12,0.15),0) # 给特定的员工设置提成比例;


长文本类型数字下拉递增问题

场景:商品的编号通常由字母+10位以上的数字组成,想要在Excel中下拉数字递增是做不到的,因此要借用函数ROW() + 字符串拼接:

=J898615001923000&TEXT(ROW($A1)-1,“00”)

这篇关于【Excel】函数之易踩坑系列(常用函数干货)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/194983

相关文章

C/C++错误信息处理的常见方法及函数

《C/C++错误信息处理的常见方法及函数》C/C++是两种广泛使用的编程语言,特别是在系统编程、嵌入式开发以及高性能计算领域,:本文主要介绍C/C++错误信息处理的常见方法及函数,文中通过代码介绍... 目录前言1. errno 和 perror()示例:2. strerror()示例:3. perror(

Kotlin 作用域函数apply、let、run、with、also使用指南

《Kotlin作用域函数apply、let、run、with、also使用指南》在Kotlin开发中,作用域函数(ScopeFunctions)是一组能让代码更简洁、更函数式的高阶函数,本文将... 目录一、引言:为什么需要作用域函数?二、作用域函China编程数详解1. apply:对象配置的 “流式构建器”最

java中使用POI生成Excel并导出过程

《java中使用POI生成Excel并导出过程》:本文主要介绍java中使用POI生成Excel并导出过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录需求说明及实现方式需求完成通用代码版本1版本2结果展示type参数为atype参数为b总结注:本文章中代码均为

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda

Linux上设置Ollama服务配置(常用环境变量)

《Linux上设置Ollama服务配置(常用环境变量)》本文主要介绍了Linux上设置Ollama服务配置(常用环境变量),Ollama提供了多种环境变量供配置,如调试模式、模型目录等,下面就来介绍一... 目录在 linux 上设置环境变量配置 OllamPOgxSRJfa手动安装安装特定版本查看日志在

Java常用注解扩展对比举例详解

《Java常用注解扩展对比举例详解》:本文主要介绍Java常用注解扩展对比的相关资料,提供了丰富的代码示例,并总结了最佳实践建议,帮助开发者更好地理解和应用这些注解,需要的朋友可以参考下... 目录一、@Controller 与 @RestController 对比二、使用 @Data 与 不使用 @Dat

Mysql中深分页的五种常用方法整理

《Mysql中深分页的五种常用方法整理》在数据量非常大的情况下,深分页查询则变得很常见,这篇文章为大家整理了5个常用的方法,文中的示例代码讲解详细,大家可以根据自己的需求进行选择... 目录方案一:延迟关联 (Deferred Join)方案二:有序唯一键分页 (Cursor-based Paginatio

C++中::SHCreateDirectoryEx函数使用方法

《C++中::SHCreateDirectoryEx函数使用方法》::SHCreateDirectoryEx用于创建多级目录,类似于mkdir-p命令,本文主要介绍了C++中::SHCreateDir... 目录1. 函数原型与依赖项2. 基本使用示例示例 1:创建单层目录示例 2:创建多级目录3. 关键注

Python实现常用文本内容提取

《Python实现常用文本内容提取》在日常工作和学习中,我们经常需要从PDF、Word文档中提取文本,本文将介绍如何使用Python编写一个文本内容提取工具,有需要的小伙伴可以参考下... 目录一、引言二、文本内容提取的原理三、文本内容提取的设计四、文本内容提取的实现五、完整代码示例一、引言在日常工作和学