发布网友 发布时间:2024-09-06 11:06
共2个回答
热心网友 时间:2024-10-16 13:59
这表是我给你做的,还是我来给你解释吧
1、=IF(B3="","",查询语句体)------------B3不为空时,才执行查询
2、查询语句体=VLOOKUP(B3,IF({1,0},源数据!D$2:D$2000,源数据!B$2:B$2000),2,0)
VLOOKUP有四个参数,你的疑问是第二个参数:查询区域的设置
公式中用IF({1,0},源数据!D$2:D$2000,源数据!B$2:B$2000)产生查询区域
{1,0}是一个有两个元素的常量数组,作为IF的条件参数,则分别对应为真假;
若真,则返回数据区源数据!D$2:D$2000;
若假,则返回数据区源数据!B$2:B$2000;
于是IF({1,0},源数据!D$2:D$2000,源数据!B$2:B$2000)在内存中产生查询区域-----而非常态的矩形区域
3、数据有效性设置
假设H1:H100这个区域有型号,现在B列要使用这些型号
选中B列,数据有效性序列,来源中填入=$H$1:$H$100
就行了
但是,Excel序列来源不能跨表引用,所以,得将你的序列来源区域先进行名称定义。方法:选中你的源数据表中的型号区域,Ctrl+F3,新建一个名称(假设名称为abc)
于是,你的当前表的B列的数据有效性的来源中就填入:=abc
就行了追问您回答的1,3我都明白了,先谢谢您。
第2个
a、IF{1,0}能不能具体说下,或者是举个例子。还是1代表近似匹配,0代表精确匹配。
b、VLOOKUP函数“要查找的值”像只能在“查找范围”的首列,这样的话用IF函数得出来的范围要是要查找的值不是在查找范围首列也可以吗?这样的话不用“IF”函数或“CHOOSE”是不是就导不出要查找的东西?
追答由于要查找的值不在查找区域的首列,所以这就涉及到VLOOKUP反向查询。
你可以百度VLOOKUP反向查询,相信可以得到更详尽的解释
热心网友 时间:2024-10-16 14:00
第一个问题:
这是一个数组函数,意思是如果B3是空的话,A3也是空,如果B3有数据,则在工作表“源数据"的D$2:D$2000范围内查找B3的数据,如果找到则A3等于“源数据"的D$2:D$2000找到的单元格同行C列的数据。
其中IF({1,0},源数据!D$2:D$2000,源数据!C$2:C$2000),这一段时建立VLOOKUP的查找范围的,使用if只能引用两个范围,如果用choose则最多25个范围
第二个问题:
参照第一个问题
第三个问题:
可以直接输入具体的数据,不同数据用逗号隔开,或者输入数据的地址也行,比如=A2:D40追问问1、a、IF{1,0}是什么意思?b、VLOOKUP函数“要查找的值”像只能在“查找范围”的首列,这样的话不用“IF”函数或“CHOOSE”是不是就导不出要查找的东西?c、IF函数我会用,CHOOSE函数怎么用,您要有时间的话能教下呈。
问3、有效性范围有2000种,具体的内容都在Sheet 2 (数据源)中,里面选择只能选Sheet 1 中的内容。
追答这个几句话很难说清楚,你到网上找下教程吧,我当时也是弄了很久才明白的。