ExcelやCalcの文字列(数字)を値型(数字)に変換(ライトな小技)

カスタム検索

前提となる問題点

ExcelやOpenOfficeのCalcにおいてセル同士の比較を行う場合に、 「文字列としての数字」と「値としての数字」を比較すると、同じ数字であっても同等値にならずに困る時がある。

例えば、次のような場合だ。

文字列としての数字:0123
値としての数字:123

上記の例の場合は、「0123」 と 「123」 は、VLOOKUP等のワークシート関数上では非等価となってしまう。これでは期待する結果を導き出せない。

この問題を手軽に解決する策を紹介する。


解決策1

0123のセルをValue関数で呼びだそう。すると、「Value(0123)」 で文字列「0123」が数値 「123」に変換されるため等価となり期待する結果を導き出す事が出来るようになる。

解決策2

0123のセルに*1をしてあげよう。すると、「0123 * 1」 と 「123」 は等価となり期待する結果を導き出す事が出来るようになる。

※解決策2は、OpenOffice(3.00で確認)のCalcでは利用できない。Calcでは文字列セル*1の結果が0になってしまう。よって、OpenOfficeでは解決策1をお勧めする。またExcelにおいても他ソフトとの互換性を少しでも考慮するなら解決策1の方が好ましい。



softinat製造所に戻る