3流プログラマのメモ書き

元開発職→社内SE→派遣で営業支援→開発戻り浦島太郎状態の三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。

(OpenOffice)Calc 文字列の加算ができない

OpenOffice 3.2.0です。

Calcで時間の計算を行うとすると、Excelとちょっと挙動が違ってたので検証してみました。

まず、Excelの挙動です。

ExcelでA1に下記計算式を入れます。

=TEXT(SUM($B1:$C1),"[h].mm")

また、A2に下記計算式を入れます。

=TEXT(SUM($B2:$C2),"[h].mm")

そして、A3に下記計算式を入れます。

=A1+A2

要はB列、C列の各セルの時間を加算して、時と分の間の区切り文字を . にし、文字列としてA1,A2に入れ、最終的にA1,A2の合計をA3に出すだけです。

そして、B1,B2,C1,C2に下記のように値をいれると、A列でちゃんと計算してくれます。

┌─┬──┬──┬──┐

│ │A列 │B列 │C列 │

├─┼──┼──┼──┤

│1 │2.15│1:15│1:00│

├─┼──┼──┼──┤

│2 │4.15│3:15│1:00│

├─┼──┼──┼──┤

│3 │6.3 │ │ │

└─┴──┴──┴──┘

これと同じことをCalcでやってみると、A3のセルが #VALUE! ということでエラーになります。

それで、A3の計算式を下記のように明示的に数値にキャストしたら正しく計算できるようなりました。

=VALUE(A1)+VALUE(A2)

どうやら、Calcでは文字列の加算の場合は明示的にキャストしないとダメなようですね。