2012-03-31 72 views
0

我有100張Excel表單提取選定的數據。例如,第一張表來自A公司,其「總資產」項目在A10中,但在第二張表中,「總資產」在A17中,在A12中是第三。...如何在Matlab中用函數'xlsread'在給定名稱的Excel中提取行?

因此,每個財務聲明的項目在Excel工作表中有不同的位置。有沒有什麼辦法可以通過指定他們的名字來提取他們,比如'總資產','其他收入資產'等等,然後我不需要逐個閱讀他們的位置。

+0

你知道如何獲得每張紙的數據矩陣嗎?如果是這樣,並且「總資產」項總是位於第一列中,則可以使用while循環查找該字符串。 – Squazic 2012-04-01 06:44:22

+0

@Squazic,請你給我一個例子如何使用while循環來搜索字符串?謝謝! – 2012-04-03 17:25:26

+0

你可以舉幾個例子來說明你從'xlsread'得到的數據的樣子嗎? – Squazic 2012-04-04 05:33:29

回答

1

對此延遲感到抱歉。你會想用

[num,txt] = xlsread('EXCELFILEHERE'); 

num將數值矩陣而txt是所有文本值的單元陣列將數據導入。接下來,您將需要搜索txt使用的東西你想要的話,比如

[row,col] = find(ismember(txt,'Total Assets')==1) 

這會給你的列和相應行,你會發現在txt這句話的列表。然後,只需將該行插回到num即可獲取所需的數據。請記住,根據數據格式化的不同,numtxt的大小可能有點偏差。如果可以,我建議.xls文件。

+0

您也可以使用'[num,txt,raw]'並搜索'raw'數據。這樣,當在'num'和'txt'變量之間切換時,不會有任何偏移可以導致你失望。 – scenia 2014-01-29 17:43:34

相關問題