如何用excel查找某一行多个数据,分别返回首行内容?

通常我们读取文件时都会读取全部的文件然后再进行操作,但是当读取的数据量很大是读取的时间会很长,而且占用RAM,对于写测试代码有点不方便。

所以只读取前n行数据是一个挺不错的函数

##file:读取文件路径
 

测试,最近制作linux启动盘误将移动硬盘当U盘,要死要死的,近500G资料丢失,因为制成启动盘所以资料还找不回来。

所以没有大型数据做测试。

之前200M的文件本人电脑上读取前10000行也是秒读的。


  

补充:R语言(数据读写操作)

本节介绍一些实用的数据处理函数(如行、列合并),以及如何从各种数据源读、写数据。

对象的长度。如 2 行 3 列的矩阵,其长度为 6。
对象的维度。如 2 3 表示对象是二维的,有 2 行 3 列。
对象的结构。常用于查看数据框各列的数据类型、或者因子的分级数量。
对象的类。比如矩阵的返回结果是 matrix。
对象内数据的类型。比如矩阵的返回结果是 integer。
对象的模式。比如矩阵会返回 numeric。
输出对象的前部,对于数据框而言是前6行。通过 head(obj, N) 来指定输出前 N 行。
类似地,输出对象的后部。
无参数函数。显示当前所有对象的名称列表。
删除单个或多个对象。使用 rm(list = ls()) 可以删除除句点开头的隐藏对象外的所有对象。

一个 ls() 函数的例子:

 

使用需要赋值的 edit() 函数,或者无需写在赋值语句内的 fix() 函数。

 

关于怎样读取来自 URL 地址的网络文件,R 可以实现,但这里不做讨论。以下只讨论本地数据源的读写。

利用 read.table() 函数即可。其常用的参数有:

 

其中,可选参数的含义大多较好理解:

header 表示文件首行是否是列名而不是数据;

sep 是列间分隔符;na.strings 指定一个字符向量,内部所有的元素在读取时会被转换为 NA;

skip 用于跳过文件的最开始的若干行;

stringAsFactors 为 TRUE(默认值)时表示字符向量按因子处理,设为 FALSE 可以提升大文本处理速度。

 
 
 

如果列名中包含空格,R 会将空格替换为句点。

多数情况下,stringAsFactors 可以设为 FALSE。但是本例中的字符变量表示植物的种类,此处读成因子是正确的。

读取一个 Excel 文件最佳的方式,是预先将其转为 csv 格式,并用上述的 read.table() 方法读取。

你也可以查找关于 xlsx 包的相关内容,来获知如何直接操作 xlsx 文件。此处略过不提。

可以看一下以前写的文章:

一个方法是使用 ODBC 接口。针对你的数据库类型,安装 ODBC 驱动;然后在 R 中安装 RODBC 包。

另一个方法是使用 JDBC 接口,只不过需要 RJDBC 包。

在我们对于数据进行清洗之后,往往需要把清洗结果输出到一个新文件中。这里就以 csv 格式为例吧。一个通常的 write.table()/write.csv() 的例子:

 

其中 row.names 指定为 FALSE,否则第一列会生成行号一样的数据。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

}

应用场景:工作中,常常需要从单元格数据中截取一部分进行统计、计算,或者从不同系统导出的数据中提取中文、数字和英文等,如何快速提取需要的数据呢?介绍4种常用方法。

第一种方法,用文本截取函数三剑客(LEFT/RIGH/MID函数)和文本长度度量函数(LEN /LENB)来提取

LEFT (①要截取的文本或字符串,②要截取的字符个数)

RIGHT (①要截取的文本或字符串,②要截取的字符个数)

MID(①要截取的文本或字符串,②从哪个位置开始截取,③要截取的字符个数)

LEN()& LENB()函数的参数很简单,只有一个,就是您要测量长度的文本,LEN()函数和LENB()函数的区别就是前者测量字符数,后者测量字节数,只有在文本字符串中包含汉字时才会有区别。

案例1:从身份证号中截取省市区代码、出生年月和顺序及校验码

省区代码:从左边取6位。C2公式:Left(B2,6)

出生年月:从第7位数据开始取,要取出8位数。D2公式:Mid(B2,7,8)

顺序号和校验码:从右边4位数。E2公式:Right(B2,4)

案例2: 将单元格中的中英文分开

LENB(A2)得出的结果是:8 (效果相当于: love爱爱)

最后用LEFT函数从左取相对应的英文字母数即可提取英文单词。

LENB(A2)得出的结果是:8 (效果相当于:love爱爱)

LEN(A2)得出的结果是:6(效果相当于:love爱)

最后用RIGHT函数从右取相对应的汉字字符数即可提取中文。

第二种方法:用EXCEL快速填充功能提取

快速填充是EXCEL2013以上版本的一个新功能,她能模拟、识别你的操作,推测你内心的想法,然后按照你的想法进行数据填充。

运用快速填充时,首先直接输入一组到三组数据,让Excel自动识别你的意图,再进行快速填充,快速填充的快捷键为Ctrl+E,也可以单击“数据”选项卡 > 在“数据工具”组中 >单击“快速填充”或选中示例单元格,拖动填充柄往下填充,然后在“自动填充”选项中选择“快速填充”来实现。(详细教程可见“EXCELl学习微课堂分享的《EXCEL快速填充功能如此牛逼,你知道吗?》)

第三种方法:用自定义函数myget

函数有两参数,=myget(①从哪提取,②提取什么)

=myget(字符串,4) 取出取第一个数字的位置

=myget(字符串,5) 取出取最后一个数字的位置

首先导入自定义函数的模板文件,点开发工具→VBA或都按ALT+F11 调出VBA 编辑器 →在工程窗口右键选择【导入文件】→选择VBA 模块文件(提取中文、英文和数字自定义函数myget.bas)→关闭VBA 编辑器。然后再输入公式即可。

第四种方法:用【数据】→【分列】的方法

1、【选中需分列的列】→【数据】→【分列】,在弹出的文本分列向导设置窗口中,根据实际情况选择分隔符号或固定宽度,案例中都是用/分隔的,所以选【分隔符号】→【下一步】

2、选择分隔符号为其他符号【/】→【下一步】

3、选列区域的格式,案例中选择默认的常规格式即可,目标区域选择$B$1(即分列的结果放在哪)点【完成】数据按要求进行了分类提取到3列。

小伙伴们,EXCEL快速提取方法都齐了,大家可根据需要选取不同的方法!

我是EXCEL学习微课堂,分享EXCEL学习小技巧,小经验。如果分享的内容对您有帮助,欢迎点赞、收藏、评论、转发,更多的EXCEL技能,可以关注“EXCEL学习微课堂”。如需自定义函数myget代码文件,可私信联系我!

}

我要回帖

更多关于 excel怎么按行和列查找数据 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信