1. index提取多行数据
在表二的A2单元格中输入=IF(ROW(1:1)>COUNTA(Sheet1!$C:$C),"",INDEX(Sheet1!A:A,SMALL(IF(Sheet1!$C$2:$C$3000="A",ROW(Sheet1!$2:$3000),4^8),ROW(1:1))))&""CTRL+SHIFT+回车向右,然后向下拉。这里有几个前提,1、你表一原数据不超过我定的3000行,当然你也可改我的定的行数。2、向下拉,拉到你认为符合条件内容的不可能超过的地方才停,比如你认为最多100行合条件,你就拉到101行才停,不然返回可能不全的。
2. index函数提取多行数据
查询多行多列数据的方法有多种,Vlookup、Hlookup、Index、Match、Union等等的综合使用,不管用哪种方法,只要能实现管理或者工作目标就可以了。高级筛选能够把符合条件的值复制到指定的位置,代码如下:
Private Sub Worksheet_Change(ByVal Target As Range)
'关闭屏幕闪烁及弹窗
Application.ScreenUpdating = False
Application.DisplayAlerts = False
with sheet1
If .Target.Row = 2 And .Target.Column = 1 Then
.[c2:j65536].ClearContents
'把数据库工作表中A1到H65536的内容,根据当前工作表的A2单元格的值复制到当前工作表的C1到J65536单元格
Sheet2.Range("A1:H65536").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=.Range("A1:A2"), CopyToRange:=.Range("C1:J65536"), Unique:=True
End If
End with
'开启屏幕闪烁及弹窗
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
3. excel查找并提取出来多行
在Sheet2工作表的A3中输入=INDEX(Sheet1!A:A,SMALL(IF((Sheet1!$A:$A=$B$1)*(Sheet1!$B:$B=$D$1)),ROW(A:A),4^8),ROW(A1)))&""按【组合键】确认后右拖、下拉填充。
4. excel提取多行数据
实现方式如下: 举例·:一个excel文件,里面有一百多个工作表,但工作表名称没有规则顺序,不是按照sheet1、sheet2这样的顺序排列,现在需要把每个工作表里的A3数据提取出来,组成新的一列。 解决方法:用宏自定义函数 同时按Alt和F11进入宏界面,点菜单的插入,塻块,粘贴如下代码: Function AllSh(xStr As String, i As Integer) Application.Volatile AllSh = Sheets(i).Range(xStr).Value End Function 回到excel,在任意单元格输入=allsh("A3",ROW(A1)) 公式向下复制。
5. index整行提取
1.index,索引,index函数即索引、搜索函数,也就是根据区域内指定的行号和列号返回值(指定行和列交叉处的值)或者对某个值的引用。index有两种形式:数组形式和引用形式。
2.因为index函数是在一个给定范围内返回行号和列号交叉处的单元格的元素值,所以index可以用来根据行号和列号查找某个值。
3.在G3中录入公式“=INDEX(B2:D9,3,1)”,G4中录入公式“=INDEX(B2:D9,5,1)",函数分别返回了39和387,和左表B列数值对照验证一下是正确的。
4.如果index函数第二个或者第三个参数为0,函数将分别返回整列或整行的数组值,利用这个特点,我们可以用一个函数获取对整行或者整列的值。
5.我们选中G2:G9,并录入公式”=INDEX(B2:D9,0,3)“,按 Ctrl+Shift+Enter 结束这个数组公式。这个函数意思是,在B2到D9区域内查找0行3列,即D列,并把结果返回到G2:G9。
6.回车,可以看到,已经把所有的金额填列到G2:G9列中了。
7.如果函数第一个参数只包含一行或一列,则可以不使用相应的 row_num (行号)或 column_num (列号)参数。
8.在E2中录入公式:”=INDEX(B2:D9,4)“。
9.回车,函数返回商品4的单价值。
10.上面是我们对index函数数组形式的介绍,是我们经常用到的形式,index函数还有一种形式:引用形式。引用形式返回指定行和列交叉处单元格的引用。如果此引用是由非连续选定区域组成的,则可以选择要用作查找范围的选定区域。
6. index提取多行数据显示在一个单元格内
公式是单个或多个函数的结合运用。 AND “与”运算,返回逻辑值,仅当有参数的结果均为逻辑“真(TRUE)”时返回逻辑“真(TRUE)”,反之返回逻辑“假(FALSE)”。 条件判断 AVERAGE 求出所有参数的算术平均值。 数据计算 COLUMN 显示所引用单元格的列标号值。 显示位置 CONCATENATE 将多个字符文本或单元格中的数据连接在一起,显示在一个单元格中。 字符合并 COUNTIF 统计某个单元格区域中符合指定条件的单元格数目。 条件统计 DATE 给出指定数值的日期。 显示日期 DATEDIF 计算返回两个日期参数的差值。 计算天数 DAY 计算参数中指定日期或引用单元格中的日期天数。 计算天数 DCOUNT 返回数据库或列表的列中满足指定条件并且包含数字的单元格数目。 条件统计 FREQUENCY 以一列垂直数组返回某个区域中数据的频率分布。 概率计算 IF 根据对指定条件的逻辑判断的真假结果,返回相对应条件触发的计算结果。 条件计算 INDEX 返回列表或数组中的元素值,此元素由行序号和列序号的索引值进行确定。 数据定位 INT 将数值向下取整为最接近的整数。 数据计算 ISERROR 用于测试函数式返回的数值是否有错。如果有错,该函数返回TRUE,反之返回FALSE。 逻辑判断 LEFT 从一个文本字符串的第一个字符开始,截取指定数目的字符。 截取数据 LEN 统计文本字符串中字符数目。 字符统计 MATCH 返回在指定方式下与指定数值匹配的数组中元素的相应位置。 匹配位置 MAX 求出一组数中的最大值。 数据计算 MID 从一个文本字符串的指定位置开始,截取指定数目的字符。 字符截取 MIN 求出一组数中的最小值。 数据计算 MOD 求出两数相除的余数。 数据计算 MONTH 求出指定日期或引用单元格中的日期的月份。 日期计算 NOW 给出当前系统日期和时间。 显示日期时间 OR 仅当所有参数值均为逻辑“假(FALSE)”时返回结果逻辑“假(FALSE)”,否则都返回逻辑“真(TRUE)”。 逻辑判断 RANK 返回某一数值在一列数值中的相对于其他数值的排位。 数据排序 RIGHT 从一个文本字符串的最后一个字符开始,截取指定数目的字符。 字符截取 SUBTOTAL 返回列表或数据库中的分类汇总。 分类汇总 SUM 求出一组数值的和。 数据计算 SUMIF 计算符合指定条件的单元格区域内的数值和。 条件数据计算 TEXT 根据指定的数值格式将相应的数字转换为文本形式 数值文本转换 TODAY 给出系统日期 显示日期 VALUE 将一个代表数值的文本型字符串转换为数值型。 文本数值转换 VLOOKUP 在数据表的首列查找指定的数值,并由此返回数据表当前行中指定列处的数值 条件定位 WEEKDAY 给出指定日期的对应的星期数。 星期计算 Excel 部分函数列表. 函数的步骤:①选中存放结果的单元格 ②单击“=”(编辑公式) ③找函数(单击“三角形”形状按钮。或者直接输入函数名 ④选范围 ⑤CTRL+回车键 ①求和函数SUM() ②平均函数AVERAGE() ③排位函数RANK () 例: Rank(A1:$A$1:$A$15) 行号和列号前面加上“$“符号 A叫行号。1或者15叫列号,表示单元格所在的位置 数据单元格在A列1号或者是A列15号 ④最大值函数MAX () ⑤最小值函数MIN () ⑥统计函数 COUNTIF( ) 计算满足给定单元格的数目 例:Countif ( A1:B5,”>60”) 统计分数大于60分的人数,注意,条件要加双引号,在英文状态下输入。 ⑦单元格内容合并CONCTENATE() 将若干文字串合并到一个字符串中 ⑧ RIGHT(A1,4) 提取字符串最右边的若干字符,长度为4位 ⑨LEFT ( ) 返回字符串最左边的若干字符 ⑩MIDB() 自文字的指定位置开始向右提取指定长度的字符串 11、重复函数 REPT() 单元格重量出现的次数。 12、NOW() 返回电脑内部的系统日期与时间 13、MONTH( ) 将序列数转换为对应的月份数 Excel入门 http://www.kokojia.com/bangongruanjian/video22768-1278.html
这个链接里面内容挺好的,有兴趣的可以看看,说不定对你有所帮助。
7. 提取符合条件的多行数据
不知道你想实现的是不是如下案例的上面的1,2,3,4,5,代表每个工作表的名称,下面的人名代表每个工作表中的人员名称,我们现在实现把不同工作表中相同人名的数据汇总到一起情景一、不同sheet人员位置相同数据汇总1、在B2单元格输入如下公式,然后向右向下填充即可=INDIRECT(B$1&"!B"&ROW())然后选择工作表1的数据和上面对比下,提取的数据是正确的公式解释:INDIRECT(B$1&"!B"&ROW()) 代表返回工作表1的B2单元格的内容上面我们看到的每个工段人员的行数位置是一致的,如果位置出现不一致,那要怎么办?情景二、不同sheet人员位置不相同数据汇总此时我们需要更改B2的公式为:=VLOOKUP($A2,INDIRECT(B$1&"!A:B"),2,0)当另一个工作表内的工段顺序和汇总表不一致的时候,仍然可以正确的汇总出来公式解释:INDIRECT函数返回不同工作表内的A:B列数据,然后使用Vlookup查找对应的数值更多内容可以添加关注学习哦~~
8. 随机抽取多行
加一列辅助列=rand()生成一组随机数,然后再一列判断分组。如随机数在A1:A40,那么在B1:B40输入数组函数 =TRUNC((RANK(A2:A41,$A$2:$A$41)-1)/5)+1
9. index取一行数据
可以试试这样操作:
H2输入=INDEX(A2:G2,MIN(IF(A2:G2<>"",COLUMN(A:G),1000)))数组公式,先按住CTRL+SHIFT,最后回车公式下拉就可以了。
如果需要提取第2行的最后一个数值,那么输入 =LOOKUP(9E+307,2:2)
如果需要提取第2行的最后一个非空单元格内容,那么输入 =LOOKUP(1,0/(2:2<>""),2:2)
10. index提取多行数据到工作表
在Sheet1中,在比如G4输入=A4&“-”&B4,公式复制下去。嫌难看,隐藏该列。
在Sheet2中,在C4输入=index(sheet1!$c$4:$C$1000,match(A4"-"&B4,sheet1!$G$4:$G$1000,)
就可以了。
使用VLOOKUP函数公式,即可快速查询和提取相应值。
具体步骤:
定位到表二的第2列(例如E3单元格)
使用公式=VLOOPUP(D3,A:B,2,FALSE)
将公式往下拉(鼠标放在单元格右下角,出现黑色加粗的十字符号时,向下拖拉自动填充)
如果不希望有公式,而是只要结果,可以使用选择性粘贴的方法,去除公式。
具体方法:
选中含公式的单元格区域,并复制。
在原处右击单元格
点击”选择性粘贴“
选择”值与数字格式“即可
11. 如何提取相同名称的多行数据
答:在文件夹下新建一个excel文件,新建个宏输入下面的vba代码,点运行宏,再把你新建的那个excel文件删除。
Sub 批量添加修改同目录下工作薄名称()
Dim f As String, wb As Workbook, th As Workbook, t As String, m As String, oldpath As String
Set th = ThisWorkbook
Application.ScreenUpdating = False '关闭刷屏
Application.DisplayAlerts = False '关闭警告和消息
f = Dir(th.Path & "\*.xls") '获取文件夹地址 许同一个版本:xls
t = InputBox("输入工作簿名称后需要添加的内容")
Do While f > " "
If f <> th.Name Then '判断是否为当前工作表
Set wb = Workbooks.Open(th.Path & "\" & f)
m = Left(f, InStrRev(f, ".") - 1)
wb.SaveAs (th.Path & "\" & m & t & ".xls") '保存为新工作薄
oldpath = th.Path & "\" & m & ".xls"
Kill (oldpath) '删除原工作簿
wb.Close
End If
f = Dir
Loop
Application.DisplayAlerts = True
Application.ScreenUpdating = True '恢复刷屏
End Sub
- 相关评论
- 我要评论
-