excel 怎么用函数对二个条件查找唯一值,并且把查找结果向下填充?

表格如图,注意向下填充不能留空白单元格,所有符合条件值紧密排列在一起。

=双条件查找去重所有值(A:C,$E$3:$F$3,ROW(A1))

'自定义公式-按ALT+F11-插入模块-粘贴代码-将表格另存为启用宏的格式
Function 双条件查找去重所有值(a As Range, b As Range, c As String)
On Error Resume Next
For I = 3 To 100
If a.Cells(I, 1) = "" Then Exit For
If a.Cells(I, 1) = b.Cells(1, 1) And a.Cells(I, 2) = b.Cells(1, 2) Then
If InStr(jieguo, a.Cells(I, 3)) = 0 Then jieguo = jieguo & " " & a.Cells(I, 3)
End If
Next
arr = Split(jieguo, " ")
双条件查找去重所有值 = arr(c)
End Function

扩展资料:
1.什么是excel宏。
excel宏是用一系列代码来实现需求的功能。
2.使用宏的安全性。
正确使用宏代码可以实现较复杂的需求,也有一些代码会故意攻击电脑,请注意辨别。
3.如何使用宏代码。
按ALT+F11-插入模块-粘贴代码-将表格另存为启用宏的格式,按ALT+F8运行宏。
计算机excel应用快捷键
Ctrl+S 保存
Ctrl+W 关闭程序
Ctrl+N 新建
Ctrl+O 打开
Ctrl+Z 撤销
Ctrl+F 查找
Ctrl+P 打印文档
Ctrl+X 剪切
Ctrl+C 复制
Ctrl+V 粘贴
Ctrl+A全选
Ctrl+B 粗体
Ctrl+I 斜体
Ctrl+U 下划线
Ctrl+Shift输入法切换
Ctrl+ 空格 中英文切换
Ctrl+Home 光标快速移到文件头
Ctrl+End 光标快速移到文件尾
Ctrl+Esc 显示开始菜单
Ctrl+Shift+< 快速缩小文字
Ctrl+Shift+> 快速放大文字
Ctrl+F5 在IE中强行刷新
Ctrl+拖动文件 复制文件
Ctrl+Backspace 启动\关闭输入法
Ctrl+Alt+A 截屏(QQ的截屏)
shift + Alt + Print Screen(选中要截屏的地方,然后按这三个键,然后打开图画或者word,粘贴即可)
拖动文件时按住Ctrl+Shift 创建快捷方式
Ctrl+Tab+shift在打开的应用程序中以反方向切换
扩展资料:
快捷键的有效范围不一定相同,比如:系统级快捷键可以全局响应,不论当前焦点在哪里、运行什么程序,按下时都能起作用;而应用程序级热键只能在当前活动的程序中起作用,当应用程序热键的定义程序不活动或在后台运行时,热键就无效了;控件级的热键则仅在当前控件中起作用。
有专门用于设置热键的工具软件,此类工具需要在后台一直运行,否则通过这各种程序定义的快捷键会失效。通过修改键盘按键映射的软件则不属于此类。
通常Windows平台下应用程序级的快捷键有几个是通用的,如Ctrl+Z常用于撤销操作。这种快捷键在菜单项的右侧或是控件的提示框中往往会注明。

追问

=双条件查找去重所有值 对应的函数是什么

追答

这是个自定义函数,请注意看图片下方的方法及代码

追问

wps 没有这个功能吧

追答

wps非会员需要安装vba插件

公式法需要辅助列

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-12-26

1、打开Excel工作表;


2、由题意可知,在A2:G10单元格区域,存在着编号和日期对应的C列时间,现在需要由E列和F列的条件返回C列对应的时间,这可以通过INDEX+MATCH数组公式来实现;

3-(1) INDEX+MATCH数组公式

设置G列单元格格式为“时间格式”在G2单元格输入以下数组公式,按Ctrl+Shift+Enter组合键结束,然后向下填充公式

=IFERROR(INDEX(C:C,MATCH(E2&F2,A:A&B:B,0)),"")

公式表示:定位到C列,将同时满足A列为E2且B列为F2条件的对应行数据引用出来。如果查找条件不在引用区域,不返回错误值,而是返回空。

3-(2)  VLOOKUP+IF数组公式

设置G列单元格格式为“时间格式”在G2单元格输入以下数组公式,按Ctrl+Shift+Enter组合键结束,然后向下填充公式

=IFERROR(VLOOKUP(E2&F2,IF({1,0},A:A&B:B,C:C),2,0),"")

公式表示:将E2和F2合并为查找条件,并在A列和B列合并列中,找到对应的行,并返回对应C列的数据。如果查找条件不在引用区域,不返回错误值,而是返回空。

追问

你这个方法试了不行,能不能再讲解一下

第2个回答  2021-12-26
如果想要知道所有的 Excel 函数,那么你可以买一本介绍 Excel 函数的词典。但即便掌握了所有 Excel 函数,对工作也没有任何帮助。最重要的是,要知道「如何组合使用单个或多个函数,来实现需要 Excel 完成的处理」。

在本章中,我会介绍几个实例,看一下「在实际工作中应该如何使用函数」。我希望大家能从这些例子中明白一点:比起掌握具体的技巧,更重要的是学会如何「构思」。刚开始可能许多人会觉得很难,但习惯后,就可以灵活运用函数的各种特性,利用各种应用操作,思考如何自由地处理各种数据。运用 Excel 函数来提升工作效率,其实是一项富有创造性的脑力工作。

接下来,我们来举几个具体案例。
第3个回答  2021-12-26

楼主可以再等等看其他大神的,如果没其他方法,建议楼主用辅助列如图:

G3辅助列:

=IFERROR(INDEX($C$3:$C$1000,SMALL(IF(($A$3:$A$1000=E$3)*($B$3:$B$1000=F$3),ROW($1:$997),""),ROW(A1))),"")

下拉

H3:

=IFERROR(INDEX(G$3:G$1000,MATCH(,COUNTIFS($H$2:$H2,$G$3:$G$1000),))&"","")

以上都为数组公式,编辑状态下同时按下Ctrl+Shift+Enter,当出现如图箭头所指大括号即可。


第4个回答  2021-12-27

最简单的方法用数据透视表。

1、菜单-->插入-->数据透视表

2、选择数据

3、定义透视表

相似回答