>凡事网 导航

excel 查找满足条件的数据并引用 excel按条件查找引用符合条件的数据

2024-06-29m.fan-pin.com
Excel中,需要满足多个条件的数据查找并引用到另一个工作表中~

有这么一个公式你可以用用:
=LOOKUP(1,0/((Sheet1!$A$2:$A$101=$A2)*(Sheet1!$C$2:$C$101=$C2)),Sheet1!D$2:D$101)
1、新建一个excel表,新建如图数据,命名为表1

2、新建另外一个excel表格,新增如图数据,命名为表2

3、先在表2”d2“单元格中输入”=LOOKUP(1,0/((Sheet1!$A$2:$A$101=$A2)*(Sheet1!$C$2:$C$101=$C2)),Sheet1!D$2:D$101)“。

4、就可以得到对应的引用结果。

5、使用向下填充方式,看到引用结果就算完成引用了。

C3公式:
=IF(B3VLOOKUP(A3,F:G,2,),VLOOKUP(A3,F:G,2,),"")
下拉。

  筛选满足条件的多个记录,可以使用数组公式解法。如图为Sheet1原始记录表:

  第1步    在Sheet2表A2单元格输入以下公式并按下CTRL+SHIFT+ENTER结束:

  =IF(ROW(1:1)>COUNTIF(Sheet1!$B:$B,"0101"),"",INDEX(Sheet1!A:A,SMALL(IF(Sheet1!$B$2:$B$5="0101",ROW($2:$5)),ROW(1:1))))

  第2步    将A2单元格公式向右向下复制多行多列

  第3步    选Sheet1的A:C列,单击格式刷,再刷到Sheet2的A:C列,将两表单元格格式设置一致。

 

  【公式含义】IF函数第1参数判断ROW行号是否超过Sheet1的B列中"0101"的个数,就返回空文本"",否则:用IF函数判断Sheet1!B2:B5是否等于"0101"如果是,就返回他们的行号ROW($2:$5)即数组{2;3;4;5},不是则返回FASLE,得到数组{2;FALSE;4;5}。然后SMALL函数+row函数依次将其中的2、4、5取出,并与INDEX函数结合取出对应Sheet的A2、A4、A5等单元格。

  



假设表二,表三第一行是标题 日期 内部号 金额

在表二的A2单元格输入公式

=INDEX(表一!A:A,SMALL(IF(表一!$B$2:$B$2000="0101",ROW(Sheet2!$A$2:$A$2000),4^8),ROW(A1)))

数组公式,按CTRL+SHIFT+回车三键确定,鼠标移到单元格右下角,当出现一个黑色小十字时,同时按住鼠标左键往下拖动

在表三的A2单元格输入公式

=INDEX(表一!A:A,SMALL(IF(表一!$B$2:$B$2000="0102",ROW(Sheet2!$A$2:$A$2000),4^8),ROW(A1)))

数组公式,按CTRL+SHIFT+回车三键确定,鼠标移到单元格右下角,当出现一个黑色小十字时,同时按住鼠标左键往下拖动

注意公式中的表格名字要是你实际的表格名字,我现在假设你是用的表格名字是表一,表二,表三
就会得到你要的效果,且表一数据更新时,表二和表三的数据自动更新

数组公式如下,CTRL+SHIFT+ENTER。公式下拉、右拉
***有容错;自动调整内部号和日期列号***

sheet2的A2
=IF(ROW(A1)>COUNTIF(Sheet1!$B:$B,"0101"),"",INDEX(Sheet1!$A:$C,SMALL(IF(Sheet1!$B$1:$B$1000="0101",ROW($A$1:$A$1000),65536),ROW(A1)),3-MOD(COLUMN(A1),3)))

SHEET3的A2
=IF(ROW(A1)>COUNTIF(Sheet1!$B:$B,"0102"),"",INDEX(Sheet1!$A:$C,SMALL(IF(Sheet1!$B$1:$B$1000="0102",ROW($A$1:$A$1000),65536),ROW(A1)),3-MOD(COLUMN(A1),3)))

将日期列格式设置为日期格式(设置一次即可)
------------------------
有可能是内部号格式原因:
sheet2的A2
=IF(ROW(A1)>COUNTIF(Sheet1!$B:$B,101),"",INDEX(Sheet1!$A:$C,SMALL(IF(Sheet1!$B$1:$B$1000=101,ROW($A$1:$A$1000),65536),ROW(A1)),3-MOD(COLUMN(A1),3)))

SHEET3的A2
=IF(ROW(A1)>COUNTIF(Sheet1!$B:$B,102),"",INDEX(Sheet1!$A:$C,SMALL(IF(Sheet1!$B$1:$B$1000=102,ROW($A$1:$A$1000),65536),ROW(A1)),3-MOD(COLUMN(A1),3)))

为了引用方便,首先将表一的"内部号"列剪切插入到日期前面。
在表二的a2输入:
=INDEX(表一!A:A,SMALL(IF(表一!$A$2:$A$31000="0101",ROW(表一!$A$2:$A$31000),65536),ROW(A1)))&""
在表三的a2输入:
=INDEX(表一!A:A,SMALL(IF(表一!$A$2:$A$31000="0102",ROW(表一!$A$2:$A$31000),65536),ROW(A1)))&""
数组公式,同时按下ctrl shift enter 三键,公式下拉右拉

可以用高级筛选功能。
先在E1、E2分别输入“内部号”、“0101”,点选菜单“数据”->“筛选”->“高级筛选”,选择“将筛选结果复制到指定位置”,“列表区域”选择A、B、C列,条件区域选择E1:E2,“复制到”选择表二A1。同样,先在F1、F2分别输入“内部号”、“0102”,点选菜单“数据”->“筛选”->“高级筛选”,选择“将筛选结果复制到指定位置”,“列表区域”选择A、B、C列,条件区域选择F1:F2,“复制到”选择表三A1即可。

EXCEL函数问题求教(查找满足条件的第一个对应单元格内数值、第二个...
见下图:B10中的公式为:=SUMIF($A$2:$G$5,A10,$B$2:$H$5)下拉复制公式即可。公式中的区域根据实际情况修改。

同时满足多个条件进行查找的excel公式。
3、在右侧C2单元格输入公式:=IF(AND(A2="小王",B2>2000),"K","")。ADN右侧的括号意思为同时满足,得到结果如下图。4、还有部分满足的情形,只要A列是小王或者B列大于2000,那么直接在C列输出Z。5、输入OR公式,=IF(OR(A2="小王",B2>2000),"Z","")OR右侧括号代表诸多条件满足一个即可,...

excel,查找满足条件的行,并返回该行所对应的其它列的值
excel中有很多类似问题,其实只需要添加一个辅助列,问题就迎刃而解了。既然你要把结果显示在C、D两列里,可以把E、F列作为辅助列。假设你的表第一行是标题,数据从第二行开始,则在E2中输入公式 =IF(A2<>0,A2,E1)F2中输入公式 =IF(A2<>0,A2,F1)然后在C2中输入公式 =IF(A2=0,row(E2)...

excel如何查找返回第一次符合条件的值?
大致的方法是:1,用match定位第一个符合条件的单元格;2、用offset定位这个单元格之下的区域,用match定位这个区域出现的第一个符合条件的单元格;3、有了计算区域的第一、最后一个单元格位置,用offset定位计算区域,再用max、min数组公式求得符合条件的值。

EXCEL查找满足两个列条件一个行条件的公式?
用sumifs,可以实现你要的公式如下:=SUMIFS(H:H,Sheet6!D:D,D323,Sheet6!B:B,AU1,Sheet6!E:E,E323)这里你需要修改对应的单元格。=SUMIFS(合计单元格,条件1区域,条件1,条件2区域,条件2,条件3区域,条件3……)

EXCEL中如何实现依据条件同时满足两列的数据
EXCEL中,依据条件同时对两列进行筛选可以用公式解决。因为要对两列满足条件,所以可以用and公式,直接根据数据单元格区域输入条件。比如需要满足的条件在C列和D列,公式为and(c1=某条件,d1=某条件);要把满足条件的数据筛选出来,可以用if公式,公式为if(条件,"满足","不满足")。and公式先对条件...

excel中查找并返回满足多个条件的行中的某个单元格的数值怎么办?
1.如图所示工作表中,想在I列输入某个代码,自动在J列显示对应的规格。这是典型的VLOOKUP应用实例。1、此函数要求代码一列的数据必须是唯一的。也就是说代码中不能出现重复值。2、需要查找的内容必须在需要返回的数据前(右侧)。例如代码列在规格列右侧 2.点击J2单元格,点击插入函数按钮,弹出插入...

EXCEL同时满足2个条件查找数据?
Excel同时满足2个条件查找数据,根据补充信息及截图信息来看,可以使用SUMIFS多条件求和公式,在查找值表的I2单元格输入公式并向下填充,如下:=SUMIFS(原表!I:I,原表IB:B,B2,原表!C:C,C2)公式及效果图 原表数据 SUMIFS函数参数说明:第一个参数是:求和区域;第二个和第四个参数是:被查找的条...

EXCEL查找满足多个条件的行并返回该行某个值吗?
所以使用IF({1,0}的形式生成一个两列多行的虚拟区域,以致能将A表中的B、C两列对应合并构成虚拟区域的第一列,A表D列是第二列 备注:此公式由于区域过大,程序计算时间可能略长。但实际测试时,缩小区域有时会导致公式失效,可能与公式所在单元格坐标、引用数据内容、EXCEL版本等有关。

如何用EXCEL实现多条件查找?
如何用EXCEL实现多条件查找? 给你个例子 =VLOOKUP(A2&B2,IF({1,0},Sheet2!$A$2:$A$12&Sheet2!$B$2:$B$12,Sheet2!$C$2:$C$12),2,FALSE) 之后,再同时按Ctrl+Shift+Enter组合键结束。 公式解释: ①VLOOKUP的解释 VLOOKUP函数,使用中文描述语法,可以这样来理解。 VLOOKUP(查找值,在哪里找,找到了...

相关链接2

返回顶部
凡事房车自主流
凡事网