excel中的vlookup如何实现根据多个条件查找?

news2024/11/26 2:40:27

目录

  • 简述
  • 问题
  • 公式思路
  • 通用公式
  • 三条件查找公式实例

简述

Excel 中根据一个条件查找非常方便,Excel 提供了内置函数 VLOOKUP。但是实际中往往有多种情形,需要根据多个条件进行查找操作,目前没有现成的内置函数。

本篇介绍 VLOOKP+CHOOSE 组合查找公式,可根据任意条件数量进行查找。

下面以两个条件进行查找为例,介绍 VLOOKP+CHOOSE 组合查找公式。

问题

如下图,现有一二手房价格表,表中记录了不同小区和不同户型的房子的价格。现需要根据小区和户型,找到对应的价格。
在这里插入图片描述

公式思路

  1. 主体使用 VLOOKUP 函数进行查找;
  2. VLOOKUP 函数第一个参数:查找值。本例是小区和户型,需要将它们连接为一个文本;
  3. VLOOKUP 函数第二参数:查找区域。查找区域的第一列必须是合并后的小区和户型列,第二列应是价格列;
  4. CHOOSE 函数结合数组公式,可以对多列进行连接合并后,与其他列组合成新的区域。
  5. VLOOKUP 函数的第三个参数,返回值列号。CHOOSE 函数返回的区域第二个列就是价格列。
  6. VLLOKUP 函数第四个参数,查找模式。本例中是精确查找,即 FALSE。

通用公式

根据以上思路可以写出 VLOOKUP + CHOOSE + 数组公式组合的查找公式。通用公式如下:

{=VLOOKUP(条件1&条件2, CHOOSE({1,2},条件1&条件2列,返回值列), 2, FALSE)}

注意,此公式是数组公式,需要以三键输入:CTRL + SHIFT + ENTER。

本例中,具体公式如下:

{=VLOOKUP(C13&C14,CHOOSE({1,2},B3:B10&C3:C10,D3:D10),2,FALSE)}

在这里插入图片描述

三条件查找公式实例

3个及以上条件公式与 2 个条件公式类似,只需要修改查找值和CHOOSE 函数第二个参数。通用公式如下:

{=VLOOKUP(条件1&条件2&...&条件n, CHOOSE({1,2},条件1&条件2&...&条件n列,返回值列), 2, FALSE)}

注意,公式是数组公式,需要以三键输入。

以3条件查找为例,具体公式如下:

{=VLOOKUP(C13&C14&C15,CHOOSE({1,2},B3:B10&C3:C10&D3:D10,E3:E10),2,FALSE)}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/782368.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot读取配置的几种方式

SpringBoot读取配置的方式有多种,这里介绍6种 1.第一种Value 注意:static和final修饰的变量不生效 2.通过ConfigurationProperties(prefix“”) 适用于对对象多个变量统一绑定,比Value高效 3.通过Environment Sprin…

信创环境下,使用国产服务器如何进行文件高速可靠传输?

信创,即信息技术应用创新,2018年以来,受“华为、中兴事件”影响,国家将信创产业纳入国家战略,并提出了“28n”发展体系。从产业链角度,信创产业生态体系较为庞大,主要包括基础硬件、基础软件、应…

堆和栈的区别以及栈的顺序存储和链式存储—Python数据结构(三)

栈 一、栈 1. 定义 栈是限制在一端进行插入操作和删除操作的线性表(俗称堆栈), 允许进行操作的一端称为”栈顶“,另一固定端称为”栈底“,当栈中没有元素时称为”空栈“。 2. 特点 栈只能在一端进行操作。 栈模型具有先进后出&#xff…

基于jeecg-boot的任务甘特图显示

更多功能看演示系统 gitee源代码地址 后端代码: https://gitee.com/nbacheng/nbcio-boot 前端代码:https://gitee.com/nbacheng/nbcio-vue.git 在线演示(包括H5) : http://122.227.135.243:9888 基于项目的任务显…

Redis项目 PART1

第一部分:含注册登入商户查询(使用缓存) 一、注册登入 1.1 session共享问题 使用redis而不用传统的session的原因(session共享问题):每个tomcat中都有一份属于自己的session,假设用户第一次访问第一台tomcat&#x…

网络子系统学习3:网络访问层

目录 网络访问层 网络设备的表示 数据结构 注册网络设备 接收分组 传统方法 对高速接口的支持 发送分组 网络访问层 网络实现的第一层,即网络访问层。该层主要负责在计算机之间传输信息,与网卡的设备驱动程序直接协作。 本次不会讲驱动程序的设计…

全面助力AI人工智能在科研、教学与实践技能

目录 模块一 编程入门与进阶提高 模块二 科研数据可视化 模块三 信息检索与常用科研工具 模块四 科技论文写作与技巧 模块五 数据预处理与特征工程 模块六 多元线性回归 模块七 机器学习 模块八 深度学习 模块九 答疑讨论 更多推荐 在人工智能领域进行研究和深耕&…

PCB封装设计指导(十二)画出器件禁布,过孔走线禁布

PCB封装设计指导(十二)画出器件禁布,过孔走线禁布 对于分离器件或者Datasheet中有标注出走线或者过孔禁布,在封装中需要把这些信息体现出来,如何添加,见如下说明 1. 一般来讲,只有分离器件,比如电阻,电容,晶振才会在中间加上route keepout 和via keepout Via keep o…

Qt与opencv学习记录2

我希望把这篇文章中的效果实现。 【Qt学习】 OpenCV美图特效_qt图像处理_顾城沐心的博客-CSDN博客 问题1: 我发现是因为我使用的是MSVC2017 32位套件,改为MSVC2017 64位套件debug就好了。 感觉这是因为我选用的lib库也是64位的。 E:\opencv454\opencv…

使用STM32 再实现PWM小车两轮分别调速

关于PWM调速的原理,其实在之前89C52开发小车的时候也已经详细的描述过,所以主要的区别还是STM32和89C52的PWM实现区别。 关于STM32的PWM实现,是从CubeMX的配置开始的: CubeMX 1. 在上节的CubeMX项目基础上进行修改 2. 两路PWM分…

2023牛客暑期多校训练营2

题目顺序不分难度 KBox 状态dp,因为每个棋子只能移动到 i-1 到 i1的位置,所以直接用4个状态表示棋子在哪 f[i][0] 表示前i个位置中,i-1到i1都没有棋子 f[i][1] 表示前i个位置中,i-1有棋子 f[i][2] 表示前i个位置中&#xff0…

Autosar - PDUR简介与配置

文章目录 一、PDUR是什么二、不同报文类型的信号流ECUC(EcucPduCollection)三、时序图CanIfs之间的路由CanIf与Com之间的路由CanTp通道间的路由一、PDUR是什么 PDU Router(路由器)在本文将简称为PduR,在AUTOSAR的架构中,通信部份中很重要的一个模块就是PduR,它能将IPdu…

C++: day6

1 思维导图 2 顺序栈模板和顺序队列模板 #include <iostream>using namespace std;template <typename T> class My_stack { private:T *ptr; //指向堆区空间int top; //记录栈顶元素public://无参构造My_stack():ptr(new T[10]), top(-1){}//有参构造My_sta…

ROS-Moveit机械臂追踪二维码(四)

ROS-Moveit机械臂追踪二维码(四) 在仿真环境增加相机 <gazebo reference"camera_depth_frame"><sensor name"camera1" type"depth"><always_on>true</always_on><update_rate>20.0</update_rate><came…

多路选择器设计实现

文章目录 一、多路选择器二、二选一多路选择器三、四选一多路选择器设计 一、多路选择器 多路选择器是数据选择器的别称。在多路数据传送过程中&#xff0c;能够根据需要将其中任意一路选出来的电路&#xff0c;叫做数据选择器&#xff0c;也称多路选择器或多路开关。 二、二…

【从删库到跑路】MySQL数据库的索引(一)——索引的结构(BTree B+Tree Hash),语法等

&#x1f38a;专栏【MySQL】 &#x1f354;喜欢的诗句&#xff1a;更喜岷山千里雪 三军过后尽开颜。 &#x1f386;音乐分享【如愿】 &#x1f970;欢迎并且感谢大家指出小吉的问题 文章目录 &#x1f354;概述&#x1f354;索引结构⭐B-Tree多路平衡查找树&#x1f3f3;️‍&a…

【分布式事务】CAP定理和Base理论

文章目录 1、事务的ACID原则2、分布式服务案例3、CAP定理4、Base理论5、分布式事务模型 1、事务的ACID原则 所有的事务都要满足ACID原则&#xff0c;在单体架构中&#xff0c;只有一个服务&#xff0c;这个服务访问一个数据库&#xff0c;场景简单。基于数据库本身的特性&…

React 组件使用

React 组件是一个 js 函数&#xff0c;函数可以添加 jsx 标记 当前页使用组件&#xff0c;基本使用 注意&#xff1a;组件的名称&#xff0c;第一个字母一定要大写&#xff0c;否则会报错 import { createRoot } from "react-dom/client"; import "./index.c…

深度学习(30)—— DeformableDETR(1)

深度学习&#xff08;30&#xff09;—— DeformableDETR&#xff08;1&#xff09; 原本想在一篇文章中就把理论和debug的过程都呈现&#xff0c;但是发现内容很多&#xff0c;所以就分开两篇&#xff0c;照常先记录理论学习过程&#xff0c;然后是实践过程。 注&#xff1a;…

Flutter学习—— Vscode创建项目

目录 一、Vscode创建项目 二、补充五种项目类型 Application: Module 模块开发&#xff0c; Package开发 Plugin 插件开发 Skeleton 骨架开发 一、Vscode创建项目 1.快捷键 CtrlShiftP 打开命令面板&#xff0c;选择新项目 2.选择需要开发的项目类型 Application 应用开…