Obsidianのテーブルで簡単な表計算をする

## はじめに

### この記事を読むとできること

Obsidianユーザーの皆さん、こんにちは。今回はObsidianのテーブルで簡単な表計算をさせる方法をご紹介します。簡単な計算をさせたりPDFにして送付など、日常的なタスクをObsidianで完結でき、生活レベルが向上します。

![SS 2023-11-27 17.00.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184128/95a94d12-dbd1-5f6c-59a6-c394b7051948.png)


### ユースケース

わたしの場合ですが、日常的に使っているのは

- 複数費用を合算して振り込むとき、合計を計算。後日会計ソフトに明細に分けて入力する際、チェックにも利用
- 工数実績表をObsidianで作成。合計を自動計算させ、PDFにして提出
- 実費明細をObsidianで作成。合計を自動計算させ、PDFにして請求書に添付して提出

です。とくに実費明細は、インボイス対応のために「立替経費精算書」作成が必要になりました。表の作成・領収書画像貼り込み・PDF化まで、Obsidianでワンストップでサクッと終えられるので超ストレスフリーです。


## はじめての計算

### Advanced Tablesプラグイン

v1.5.0から、Obsidian自体のテーブル機能も強化されました。しかし自動計算機能はまだなので、Advanced Tablesプラグインをインストールします。

プラグインのインストールが終わりましたら、まずは試しに、なるべく素朴な表を作って計算してみましょう。

### 表の作成

たとえば下記の表を作成します。

```md
|            |     |
| ---------- | ---:|
| あいうえお | 100 |
| かきくけこ | 200 |
| さしすせそ | 300 |
| 合計       |     |
```

合計欄は、自動で計算させたいので、空欄にしておきます。

### Formulaを書く

表の下にFormulaを書きます。

```md
|            |     |
| ---------- | ---:|
| あいうえお | 100 |
| かきくけこ | 200 |
| さしすせそ | 300 |
| 合計       |     |
<!-- TBLFM: @>$2=sum(@I..@-1) -->
```

HTMLのコメント形式で、`TBLFM:`をつけます。

この例では

- `@>$2`: 最終行、２列目を意味します
- `(@I..@-1)`: ヘッダ行を除き最初の行（@I)から、最終行のひとつ上まで（..@-1）
- `sum`: 合計する
- `=`: 代入する

となっています。つまり、100+200+300を、合計の右側に代入する指示になっています。

### Advanced Tablesで計算させる

formulaが書けたら、**カーソルを表中に入れて**から、Advanced Tablesで`evaluate formulas`を実行します。

- コマンドパレットで、`Advanced Tables: Evaluate table formulas`を実行
- 右サイドバーの`fx`アイコンを押す

のどちらでもOKです（下図ご参照）。

![SS 2023-11-27 17.31.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184128/6a6191a9-daf6-4a2e-c3e7-202edd82f4e4.png)

すると、合計欄に数字が入ります。

```md
|            |     |
| ---------- | ---:|
| あいうえお | 100 |
| かきくけこ | 200 |
| さしすせそ | 300 |
| 合計       | 600 |
<!-- TBLFM: @>$2=sum(@I..@-1) -->

```

### もう少し複雑な計算

実際には、上記のような単純なsumでほとんど事足ります。わたしが使っている、もっとも複雑な計算は下記です。ほんとうに複雑な計算は、スプレッドシートを使ったほうがラクですからね。

![SS 2023-11-27 17.35.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184128/2cb6d622-3b73-494f-8ec8-3cd7db4f2516.png)

いちばん単純なsumがわかれば、このformulaもそれほど難しくはないとおもいます。下記サイトに、formulaの書き方がもう少し詳細に書かれていますので、ぜひご参照・ご活用ください。

- [[Obsidian Plugins（創造性原理）] Advanced Tables](https://pouhon.net/obsidian-plugins-advanced-tables/8037/)
- [Formulas in Markdown Tables（公式ドキュメント）](https://github.com/tgrosinger/md-advanced-tables/blob/main/docs/formulas.md)

### 注意点（数字の桁区切り）

数字の桁区切りの件です。日本の慣習だと`50,000`など、`,`で3桁区切りにします。ところが、Advanced Tablesプラグインは`,`を小数点だと認識するため、計算がネライ通りになりません。

わたしは、「桁区切りをしない」ことにしています。いまのところ、あまり困っていません。

:::note
小数点の記号は、国によって違うみたいですね。
[桁区切りの記号のちがい by ChatGPT](https://chat.openai.com/share/0ea9f4b0-7952-43ea-9171-72c81e558bf7)
:::


## おわりに

この記事では、Obsidianで簡単な表計算を行う方法を解説しました。Advanced Tablesプラグインを活用し、日常的な計算や文書作成のストレスを低減する方法を共有しました。Obsidianは、その柔軟性とカスタマイズ可能性により、単なるノートアプリを超え、強力な右腕ツールになってくれます。

この記事では、Obsidianのテーブル機能を最大限に活用し、日々のタスクをより効率的に管理する方法を学べます。簡単な計算から複雑なformulaの使用まで、Obsidianは多くの可能性を提供してくれます。今後もObsidianの「知っているとちょっと便利な使い方」を共有していきたいと思います。皆さまの生活や仕事において、Obsidianが強力なサポーターとなることを願っています。

### 参考リンク

formulaの公式ドキュメントはこちら（英語）：[Formulas in Markdown Tables（公式ドキュメント）](https://github.com/tgrosinger/md-advanced-tables/blob/main/docs/formulas.md)

formulaの日本語での解説はこちら：[[Obsidian Plugins（創造性原理）] Advanced Tables](https://pouhon.net/obsidian-plugins-advanced-tables/8037/)

ObsidianでPDFに出力する方法はこちら：[小技その12｜がしがしPDFにエクスポート](https://qiita.com/hann-solo/items/1a2a8a4b1b795256767f)

その他Obsidianの便利な使いかたはこちら：[Obsidian｜使いかたとコツ（目次）](https://qiita.com/hann-solo/items/ac8fa75394813e8adcf4)


### 環境

ここで書いていることは、下記のバージョンで実施しました。

- Obsidian v1.5.0
- macOS Sonoma 14.1.1
- MacBook Pro (14-inch, 2021)