ブログの説明

学校に通わないで学んだことを記しています。間違っているところが何かありましたらご指摘下さると幸いです。コメントに対する返信が遅れる可能性があります。その場合は申し訳ありません。

このブログではサイドバーに広告を表示しています。このブログ内の投稿記事を検索するには右上の拡大鏡のアイコンを、アーカイブやラベル付けから投稿記事を閲覧するには左上の三重線のアイコンをクリックして下さい。

数式の表示にはMathJaxを利用させていただいています。数式の表示のためにJavaScriptが有効である必要があります。そうでない場合、訳の分からないLatexのコードが表示されます。幾何学図形やチャートの表示にはHTML5 CanvasやGoogle Chartを使用しています。その表示のためにもJavaScriptが有効である必要があります。

LibreOfficeで列と行を置き換える(転置)

使用したLibreOfficeのバージョンは6.1。現時点の最新版が7.2なので少し古い。

列方向に並んでいる値を行方向に並ぶように置き換えたい。行方向に並んでいる値を列方向に並ぶように置き換えたい。この投稿では、いわゆる「行列の転置」をLibreOffice Calcで行う2つの方法について書き留めておく。

例えば次のように値がセルに入力されているとする。

A B C D E
1 a b c d
2 1 2 3 4
3
4
5

これを次のようにしたい。

A B C D E
1 a 1
2 b 2
3 c 3
4 d 4
5

1つめの方法

まず、変換したい値全体を選んでアクティブセルにする。そしてトップメニューの「編集」などから「切り取り」または「コピー」を選ぶ。

A B C D E
1 a b c d
2 1 2 3 4
3
4
5

転置後の値が入るセルの範囲の一番左上端になるセルを選んでアクティブにする。

A B C D E
1
2
3
4
5

トップメニューの「編集」などから「形式を選択して貼り付け」を選ぶ。

このバージョン(6.1.5.2)のLibreOffice Calcではこの操作でLibreOffice Calc自体が固まってしまう現象が環境によっては起こるので要注意。

「形式を選択して貼り付け」というダイアログボックスが開くのでその中の「行と列を入れ替える」というボタンを押す。

A B C D E
1 a 1
2 b 2
3 c 3
4 d 4
5

2つめの方法

2つめの方法はLibreOffice Calcに組み込まれている函数を使うこと。LibreOffice CalcにもMS Excel同様に転置行列を生成してくれる函数がある。

  1. 転置後の値を入れたいセルの内で一番左上端のセルを選んでアクティブにする。
  2. トップメニューの「挿入」などから「関数」を選んで「関数ウィザード」を表示させる。
  3. 「関数ウィザード」の「分類項目」で「行列」を選ぶ。
  4. 「TRANSPOSE」という関数を選んで「次へ」を押す。

    この時点で「結果」というフォームに「エラー:511」と表示されてしまうが気にしない。

  5. 「行列」という項目の入力フォームの右側にあるボタンを押す。
  6. 転置したい値が入るセル全体を選んでアクティブにする。例えばA1からC2まで。そうしておいてEnterキーを押す。
  7. そうすると関数ウィザードの数式のフォームに例えば「=TRANSPOSE(A1:C2)」と表示されるはず。それを確認してOKボタンを押す。
  8. これで行列の転置が行われるはず。

    LibreOffice Calcを使った行列の各種演算についてはまたの機会に。

コメント

このブログの人気の投稿

Visual Studio 2019にはC++のためのフォームデザイナーがない件

10の補数と9の補数と2の補数と1の補数

LibreOffice 6 Calcでフォーム(ダイアログ)を作成してマクロで表示