セルのデータを抽出する方法

6 ビュー (過去 30 日間)
恵輔 沖
恵輔 沖 2023 年 5 月 18 日
コメント済み: 恵輔 沖 2023 年 5 月 19 日
%これで、実行をすると、tempの行列となり、その1行1列にma曲げのデータが格納されてしまいます。
%これの抽出するにはどうすれば良いでしょうか。
Excel_name = '試験結果.xlsx';
sheet_name = {'ma曲げ', 'mo曲げ', 'ma座屈', 'mo座屈', 'FEM解析_ma', 'FEM解析_mo'};
for k = 1:numel(sheet_name)
temp{k} = readmatrix(Excel_name, 'sheet', sheet_name{k}, 'range', 7);
end
%例えば、temp1 = temp(1,1), temp2 = temp(1,2)というふうにしたいのですが...

回答 (1 件)

Atsushi Ueno
Atsushi Ueno 2023 年 5 月 18 日
編集済み: Atsushi Ueno 2023 年 5 月 18 日
readmatrix 関数の Range オプションでデータの開始セルを7行目としていますが、これにより一つのシートから一つのスカラ値が得られると仮定します。下記の例では7行目の代わりに3行3列目としました(添付ファイルを確認願います)。もしこの仮定が違ってたらコメント等でお知らせください。
各シートの値が一つのベクトルにまとまった事が確認できました。
Excel_name = '試験結果.xlsx';
Sheet_name = sheetnames(Excel_name);
for k = 1:numel(Sheet_name)
temp(1,k) = readmatrix(Excel_name, 'sheet', Sheet_name(k), 'range', [3 3]);
end
temp % 例えば、temp1 = temp(1,1), temp2 = temp(1,2)というふうにしたいのですが...
temp = 1×6
9 90 900 9000 90000 900000
  2 件のコメント
Atsushi Ueno
Atsushi Ueno 2023 年 5 月 18 日
temp{k} = readmatrix(...) とした理由:
各シートから得られるデータの型やサイズ(何行何列)が異なっていても、一つの cell 配列としてまとめて扱う為です。
恵輔 沖
恵輔 沖 2023 年 5 月 19 日
ありがとうございます。

サインインしてコメントする。

カテゴリ

Help Center および File Exchangeデータのインポートと解析 についてさらに検索

製品


リリース

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!