
是不是C列起的奇数列、每隔20行取一行:
在Sheet2的A1输入
=INDIRECT("'Sheet1'!"&CHAR(65+COLUMN(A1)2)&ROW(A1)20)回车并向右填充,再向下填充。
补充:
一、取Sheet1中的C、E、G、I、K、……奇数列:
在Sheet2当中的A1输入
=INDIRECT("Sheet1!"&CHAR(65+COLUMN(A1)2)&ROW(A1))回车并向右填充,再向下填充。
二、取Sheet3中的第10-210行:
在Sheet4当中的A1输入
=INDIRECT("Sheet3!"&CHAR(64+COLUMN(A1))&ROW(A10))回车并向右填充,再向下填充至第201行。
然后每隔20行取E列连续的200个数据:
什么意思?
在哪个位置从Sheet3当中的E列取第1行~200行、第221行~第420行(隔20行)、……?Sheet4的第1行~第201行已经返回Sheet3的数据了。这些数据要置于哪里呢?
还是在另一地方,如Sheet5的A1起取Sheet3当中的E列第1行~200行、再从Sheet5的A221起(隔20行)取Sheet3当中的E列第201行~400行、……
???
如果直接使用file_get_contents来读取文件,那么在文件很大的时候会很占内容,比如这个文件有1GB的时候。
这个时候使用传统的文件 *** 作方式就好的多,因为是查找嘛,逐行读取匹配应该也是可以的,下面是我的一个建议,不知道是否满足你的要求,可以看下:
//
需要查找的内容
$search
=
'bcd';
//
打开文件
$res
=
fopen('atxt',
'r');
while
($line
=
fgets($res,
1024))
{
//
根据规则查找
if
(strpos($line,
$search)
===
0)
{
//
根据既定规则取得需要的数据
echo
substr($line,
4,
-1);
//
这里就是你想得到的
break;
}
}
//
关闭文件
fclose($res);
=INDIRECT(ADDRESS(5,3))
或
=INDIRECT("R"&5&"C"&3,)
假设5和3分别在A1、B1单元格,上面公式可写作
=INDIRECT(ADDRESS(A1,B1))
或
=INDIRECT("R"&A1&"C"&B1,)
在M表的B2单元格输入以下公式=VLOOKUP(A2,L表!A:D,4,0)公式表示:在L表的A列精确匹配与当前工作表A2相同的单元格,并返回对应第4列(L表的D列)的数据。 详见附图同表举例
K2输入
=INDEX(B2:H3,MATCH(J2,A2:A3,),MATCH(K1,B1:H1,))
图中在同一张表,如果不在同一张表,你自己套用公式,加上工作表名即可
如果固定是查找数字7的,B1数组公式,输入完成后不要直接回车,要按三键 CTRL+SHIFT+回车 下拉。
=TEXT(SMALL(IF(A$1:A$998=7,ROW($1:$998),999),ROW(A1)),"[=999] ")
否则建议用下面的方式,在B1输入需要查找的数字,C1数组公式,输入完成后不要直接回车,要按三键 CTRL+SHIFT+回车 下拉。
=TEXT(SMALL(IF(A$1:A$998=B$1,ROW($1:$998),999),ROW(A1)),"[=999] ")
如果像提问那样可以选择,出来第几个的行数,C1输入查找数字,C2输和第X个就行了。
D1数组公式,输入完成后不要直接回车,要按三键 CTRL+SHIFT+回车 结束。
=TEXT(SMALL(IF(A1:A998=C1,ROW(1:998),999),C2),"[=999]无")
可以使用poi来解析excel:
//获取指定行,索引从0开始
hssfRow=hssfSheetgetRow(1);
//获取总行数,获取的是最后一行的编号(编号从0开始)
int rowNum = sheetgetLastRowNum();
然后拿到excel对象循环解析从50开始到100即可。
以上就是关于怎样从Excel中,提取指定行指定数据全部的内容,包括:怎样从Excel中,提取指定行指定数据、php如何获取txt文本指定行的指定数据、EXCEL中怎么提取某行某列的内容等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)