【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

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

JS常用组件收集

收集了一些平时遇到的前端比较优秀的组件,方便以后开发的时候查找!!! 函数工具: Lodash 页面固定: stickUp、jQuery.Pin 轮播: unslider、swiper 开关: switch 复选框: icheck 气泡: grumble 隐藏元素: Headroom

hdu1171(母函数或多重背包)

题意:把物品分成两份,使得价值最接近 可以用背包,或者是母函数来解,母函数(1 + x^v+x^2v+.....+x^num*v)(1 + x^v+x^2v+.....+x^num*v)(1 + x^v+x^2v+.....+x^num*v) 其中指数为价值,每一项的数目为(该物品数+1)个 代码如下: #include<iostream>#include<algorithm>

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

常用的jdk下载地址

jdk下载地址 安装方式可以看之前的博客: mac安装jdk oracle 版本:https://www.oracle.com/java/technologies/downloads/ Eclipse Temurin版本:https://adoptium.net/zh-CN/temurin/releases/ 阿里版本: github:https://github.com/

30常用 Maven 命令

Maven 是一个强大的项目管理和构建工具,它广泛用于 Java 项目的依赖管理、构建流程和插件集成。Maven 的命令行工具提供了大量的命令来帮助开发人员管理项目的生命周期、依赖和插件。以下是 常用 Maven 命令的使用场景及其详细解释。 1. mvn clean 使用场景:清理项目的生成目录,通常用于删除项目中自动生成的文件(如 target/ 目录)。共性规律:清理操作

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

flume系列之:查看flume系统日志、查看统计flume日志类型、查看flume日志

遍历指定目录下多个文件查找指定内容 服务器系统日志会记录flume相关日志 cat /var/log/messages |grep -i oom 查找系统日志中关于flume的指定日志 import osdef search_string_in_files(directory, search_string):count = 0