EXCELからのデータ抽出

34 visualizaciones (últimos 30 días)
れー
れー el 15 de Oct. de 2021
Comentada: れー el 15 de Oct. de 2021
初歩的な質問ですみません。数字が縦横にひたすら並べられたスプレッドシートがあるのですが、writematrixで横の列を選択し抽出することはできるのですが、同時に縦の列も選択して抽出することは可能でしょうか?
  1 comentario
れー
れー el 15 de Oct. de 2021
二つ目のクロスしたようなもので合っています 例えば3の倍数の行のCとEの列のように抽出がしたいです

Iniciar sesión para comentar.

Respuesta aceptada

Atsushi Ueno
Atsushi Ueno el 15 de Oct. de 2021
>同時に縦の列も選択して抽出することは可能でしょうか?
いいえ。不可能です。
readmatrixの範囲指定オプションには下記2つの文法がありますが、データ型が異なるだけで、範囲指定の方法は殆ど同じです(微妙に異なります)。仰る通り「単一の行と列が交わる箇所を選択する」方法はあっても「行と列の交差する部分を複数同時に選択する」方法が見つかりません。
  1. ファイル インポート オプションを使う方法
  2. Rangeオプションを使う方法
>例えば3の倍数の行のCとEの列のように抽出がしたいです
こういう事ですよね。
ExcelではCtrlキーを押しながら交差箇所をポチポチ選択していけば実現しますがそれは大変な作業です。行と列の交点を選択するにはINDEX関数とMATCH関数を組み合わせるなどの方法を取る必要があります。
一方、MATLABの行列(二次元配列)のでは抽出可能です。readmatrixで全ての表をMATLABに読み込んでから、行列のindexingで抽出できます。
matrix = readmatrix('Book1.xlsx');
A = matrix([3 6 9], [3 5])
A = 3×2
0.9873 0.1741 0.0157 0.8788 0.6886 0.9030
B = matrix(3:3:end, [3 5]) % 3の倍数の行のCとEの列
B = 19×2
0.9873 0.1741 0.0157 0.8788 0.6886 0.9030 0.8179 0.0544 0.6531 0.0220 0.0416 0.1007 0.5051 0.0277 0.3105 0.5734 0.1067 0.1532 0.1035 0.4717
  1 comentario
れー
れー el 15 de Oct. de 2021
わかりわすい説明ありがとうございます それぞれ分けてやってみます ありがとうございました

Iniciar sesión para comentar.

Más respuestas (0)

Productos


Versión

R2021b

Community Treasure Hunt

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

Start Hunting!