数字が数字として戻らない。表を往復させたときに壊れるもの
Markdown表・表データ変換コラム
表計算で作った表をMarkdownにして、しばらく後に表計算へ戻した。
見た目は同じなのに、合計が出せない。並べ替えもおかしい。
数字が数字として扱われていない状態です。
運ばれるのは表示されている文字列
表計算のセルは、値と表示形式を分けて持っています。1234 という値に「桁区切りを付ける」という表示形式が乗って、画面には 1,234 と出ます。
コピーしたときに運ばれるのは、この画面に出ているほうの文字列です。
つまりMarkdownの表に入るのは 1,234 であって、1234 ではありません。
Markdownの表にとっては、どちらも単なる文字です。ここまでは問題になりません。
問題が出るのは、戻したときです。
戻すと文字列になる
1,234 を表計算に貼り付けると、カンマ入りの文字列として解釈されることがあります。
そうなると数値ではないので、合計にも入りませんし、並べ替えも文字の順序になります。
同じことが、いくつかの表示形式で起きます。
- 桁区切りのカンマ
- パーセント表示(
50%は値としては 0.5 のことが多い) - 通貨記号
- 日付(表示形式によって
2026/08/31にも8月31日にもなる)
逆に、消えるものもある
先頭のゼロは、逆方向で失われます。
007 のような値は、表計算では文字列として持っていることが多いものです。
これをMarkdownへ移し、戻すと、数値と判定されて 7 になります。商品コードや電話番号でよく起きます。
往復させる前提なら、素の値で持つ
回避の考え方はひとつです。Markdownへ移す前に、表示形式を外しておきます。
桁区切りもパーセントも通貨記号も付けない、素の値の状態でコピーする。
見た目は読みにくくなりますが、戻したときに数値として扱われます。
見た目を整えるのは、往復が終わってからにする。
この順番にしておくと、戻すたびに直す作業がなくなります。
そもそも往復させない
もっと確実なのは、往復させないことです。
集計が続く表は表計算に置いたままにして、Markdownには結果だけを持っていく。
文書に載せる表は、更新のたびに変換し直す。
Markdownの表は、読ませるための形式です。計算の途中経過を持たせる場所ではない、と割り切ると扱いが楽になります。
表とMarkdownを相互に簡単変換
Markdown表 相互変換ツールなら、コピペするだけでExcel表とMarkdown表を双方向に整形できます。