「LibreOffice Calc」タグアーカイブ

COUNTSTYLE を使ってみる – Calc

アワード関係のリストに LibreOffice Calc を使っている。 ときに色分けで区分する必要があることも。
そんなとき「色によるカウント」をする機能が LibreOffice Calc にはナイ。
やっと COUNTSTYLE という外部拡張ツールを発見。

Tools –> Extention Manager に countstyle-1.1.2.oxt を読み込ませて Calc を再起動。
(Calc では殆ど日本語を使わないので英語仕様にしている。 また日本語仕様だとシート幅が「ヘルプ」より縮まらなかったことも)

COUNTSTYLE

再起動すると fx ボタンをクリックすると CELLSTYLE と COUNTSTYLE という二つが加わっていた。

シート下方に適用させるスタイルをセルに作成して、「スタイル名」を付けておく。

私はこれを怠り、ただ色を付けていただけだったし、十数列 2,500 行もあるシートだったので、セルにスタイルを適用する作業に大きな時間を費やしてしまった。(全セルが埋まっているワケではないが)
スタイル名も既存のものを利用するのもいいが、独自名の方が目に付きやすいのではとも思う。

「色」だけというワケではないので、フォント、フォントサイズ、背景色、ボーダー(枠線)など全てが対象になるので、基準セルはそれらも含めて設定するのがいい。

セル幅が固定長だったので文字数によってフォントを変えたり、フォントサイズを変えたりしたスタイルを作ったのだが、若干バグがあるような気もする。同名で再設定するとフォントがデフォルトになったり、背景色が消えてしまったり。

同類異型が極端に少ないなら、カウント適用後に手動修正してもカウントは変わらないので、悩まなくていいかと。

セルにスタイルを適用するには

適用したいセルを選択して右ペインのスタイルリストからスタイル名をダブルクリックすればよい。

cellStyleWindow

基準になるセルを CELLSTYLE で設定する。
基準になるセルを選択しておいて fx をクリック。
右下ペインには「=」だけなので CELLSTYLE(基準セル) をインプット。

countStyleWindow

次に基準になるセルの下とか右とかにカウント数表示用のセルを置く。
カウント数表示用のセルをクリックしてまた fx をクリックして COUNTSTYLE を選択。
これも最初は「=」だけなので COUNTSTYLE(範囲,基準セル) をインプット。
スタイル設定されたセルがあるならばその数がカウントされているハズ。

もう一つのバグ

macroUnavail

まだ 1/3 程度しか処理していないので、作業を進めるために再起動(他日起動など)する。
すると基準セルやカウント数のセルが #MACRO? になってしまっている。

これはそれぞれをクリックして再び fx を押して OK すればよい。

私はセルにテキストしか入れてないが、数値の場合は『トータル・最大値・最小値・平均』などをカウントすることができる。 nogajun 氏による日本語 readme が用意されている。

作者は Jean-Marc Zambon 氏でロザンナと同じ Zambon 姓だからイタリア人かな。

追記

PC の CPU は現在 Ryzen5 3600 の 6 core 12 thread なのだが、 20, 30 のセルを Ctrl + クリックで選択すると CPU の一つが 100% になってしまう。
この辺が MS-Excel と比べると劣る。 LibreOffice の改善が望まれるところだ。

追記2

LibreOffice を 7.0.4.2 から 7.1.1.2 にすると前述の #NAME? は出なくなった。
セルを移動するのでもコピー&ペーストすると先のスタイル情報が残っているので、重複カウントになったりするが、ドラッグで移動すればスタイル情報は維持されるようである。

こちらは色区分さえわかればいいので、カウントに正確性を追求しないから、よくコピー&ペーストと「内容消去」で済ますことが多い。

50階層

いつの頃からか特定のスプレッドシート・ファイルを開くと、

Automatic update of external links being disabled.

というアラートが表示されるようになった。

Update ボタンを押すと、 こんなダダ長〜いパスがアラート・ウィンドウに出る。
windows こそ 7 階層までしか認識されないが、 ナント 50 階層もある。
自分で使うのは普段は精々 5 階層くらいのものだ。

file:///home/NAME/Documents/abcd/XY/home/NAME/Documents/abcd/XY/home/NAME/Documents/abcd/XY/home/NAME/Documents/abcd/XY/home/NAME/Documents/abcd/XY/home/NAME/Documents/abcd/XY/home/NAME/Documents/abcd/XY/home/NAME/Documents/abcd/XY/home/NAME/Documents/abcd/XY/home/NAME/Documents/efg/opqrstu.ods

モチロン自分で「外部リンク」を作った記憶もなく、 況んや何らかの操作ミスがあったにしても、こんなダダ長いパスはありえない。
検索してもこのリンクを削除する方法の記述はなく、 50kB ほどのシンプルなファイルなので、 内容を全てコピーして新しいファイルを作成することで乗り切った。

この手のバグは LibreOffice 6.3 ではフィックスされるようだ。

同時起動で Calc 6 面表示

ビデオカードのマルチモニター・サポートや大型液晶ディスプレイも安くなってきたので斯くいう私も 31.5 インチ 2560 x 1440 を構成に組むことができた。
大画面ならよく使う LobreOffice Calc を 6 シートくらい置きたいと考えた。
「復元」の時も全て「重なって」起動されるので、いちいちドラッグしなければ使いやすい位置に来ない。

Ubuntu のフォーラムで相談すると Devilspie 「悪魔のパイ」というアプリを紹介された。
GUI の gDevilspie もあるということで用法サイトも加えてくれた。

synaptic から gDevilspie をインストール。
端末から gdevilspie を叩いて起動する。

「追加」をクリックし、 window_name にチェックを付け、 「Get」をクリックして ABC.ods を選択。
Actions タブを開いて geometry にチェックを付け、「Get」をクリック。
てっぺんにルール名を入れて「保存」。

これを繰り返して Start devilspie daemon automatically at login にチェックを付けて閉じる。

これで再起動しても表示されない。
当然だ、 Calc を起動していないのだから。

そこで「ファイル名を指定して Calc 起動」を端末から行うことを考えた。

$ soffice -o ~/Documents/PATH/ABC.ods

で起動できることを確認。

ならば、 session 「自動起動するアプリケーション」にこの六個を登録すればいいのではと考えた。
ところが再起動すると、

/home/NAME/~/Documents/PATH/ABC.ods がありません

と叱られた。

ファイル名はフルパスで書く必要があるようだ。
私は session での名前とルール名を共通にしたが、統一が必要かどうかは定かでない。

再起動すると期待どおりの画面が得られた。