内容导航:


一、如何读取excel表格中的数据


读取sheet1中的所有数据
我们以03版excel为例,假设excel中数据为
默认这些文本以及数字都放在sheet1中,我们将此excel选入当前工作目录(必要步骤),然后再MATLAB主窗口中输入下面命令:[NUM,TXT,RAW]=xlsread('example'),其中example是你的excel名,这里我所有的数据都在example.xls中。输入以上命令,回车
NUM返回的是excel中的数据,TXT输出的是文本内容,RAW输出的是未处理数据,这里因为文本占用的矩阵一共是8行6列,所以就输出了如上内容。一般情况下,我们读取的都是excel中的数据,所以可以直接用[NUM]=xlsread('example'),只输出数据矩阵便可。
读取指定sheet中的数据
假如我们想读取第二个sheet中的数据,这里请注意:matlab读取excel中的数据是按照sheet在excel中的排放顺序来的,sheet3现在排在第二位,我们输入命令[NUM]=xlsread('example',2),回车
结果如下:
读取指定单元格中的数据
以sheet2中的数据为例
假设我们读取A3-D7之间的数据,那么我们输入命令[NUM]=xlsread('example',2,'A3:D7'),回车,结果如下:
如果以上经验有用,请点击下方的有用按钮支持我的工作,谢谢!


二、怎么从excel中读取数据


数据在Sheet1,就在Sheet2的A1输入=INDEX(Sheet1!A:A,SMALL(IF(Sheet1!$F$1:$F$10000"",ROW(A$1:A$10000),4^8),ROW(1:1)))&""数据公式,输入后先不要回车,按Ctrl+Shift+Enter结束计算,向右填充至G1,再向下填充。但其中E、F列为日期格式,公式要增加“TEXT”函数,E2改为=TEXT(INDEX(Sheet1!E:E,SMALL(IF(Sheet1!$F$1:$F$10000"",ROW(E$1:E$10000),4^8),ROW(2:2)))&"","e-m-dhh:mm:ss")也是数组公式,操作同上,填充至F2,再向下填充。需要时,用“选择性粘贴-数值”就可以跟Sheet1的数据脱离。我用Excel2003版本的,顶多65536行。你“有几十万条”?


三、excel表格中如何提取数值


在B1中输入或复制粘贴下列公式

=TRIM(MID(SUBSTITUTE($A1,"x",REPT(" ",100)),COLUMN(A:A)*100-1,100))

下拉填充,右拉填充

结果为文本型数值

如果要转换为数值,可用如下公式

=IFERROR(--TRIM(MID(SUBSTITUTE($A1,"x",REPT(" ",100)),COLUMN(A:A)*100-1,100)),"")

=IFERROR(TRIM(MID(SUBSTITUTE($A1,"x",REPT(" ",100)),COLUMN(A:A)*100-1,100))+0,"")

=IFERROR(TRIM(MID(SUBSTITUTE($A1,"x",REPT(" ",100)),COLUMN(A:A)*100-1,100))-0,"")

=IFERROR(TRIM(MID(SUBSTITUTE($A1,"x",REPT(" ",100)),COLUMN(A:A)*100-1,100))*1,"")

=IFERROR(TRIM(MID(SUBSTITUTE($A1,"x",REPT(" ",100)),COLUMN(A:A)*100-1,100))/1,"")

=IFERROR(TRIM(MID(SUBSTITUTE($A1,"x",REPT(" ",100)),COLUMN(A:A)*100-1,100))^1,"")