Calcに装備されるASC関数とJIS関数の実力は?
OpenOffice.orgの表計算ソフト「Calc」は、Microsoft Excelと高い互換性を持っています。関数もほとんど共通です。Excelで作成したブックファイルをCalcで開くと、高い確率でそのまま機能するといって良いでしょう。
(参考のために追記しておくと、グラフを含むファイルの場合は、レイアウトなどが崩れることが多い → 3月21日の記事を参照)
関数の互換性についての一覧はこちら(2006年9月にExcel2003とCalc2.0.3で調査したもの)
→ http://oooug.jp/compati/2.0/modules/xfsection/html/function3.html
上記の一覧でも分かるように、関数の互換性は非常に高いのですが、残念なことに、日本語に関連した関数は、ほとんど互換性がありません。
たとえばTRIM関数(余分な空白を取り除く関数)における全角の空白の扱いや、LEN(文字列の長さをを数える関数)とLENB(全角を2文字として数える)の使い分けなどができません。
ASC関数(全角の英数カナを半角に変換する関数)とJIS関数(半角の英数カナを全角に変換する関数)に至っては、ExcelにあるのにCalcに装備されていないのです。したがって、この関数を含むExcelワークシートをCalcで開くと、「#NAME?」エラーとなってしまいます。
関連記事(2006年11月号のPCJapan誌の記事の元原稿を筆者のWebサイトにて公開中)
→ http://oooug.jp/compati/2.0/xfsection+article.articleid+16.htm
現在、日本ユーザー会有志の尽力によって、この2つの関数をCalcに装備する作業が進められています。そこで、この2つの関数を実装した開発者バージョンを試してみました。
テスト結果を発表する前に、ASC関数とJIS関数について知らない人のために、簡単に解説を加えておきましょう。
ASC関数……全角の英数カナを半角に変換する関数
JIS関数……半角の英数カナを全角に変換する関数
顧客名簿や住所録などを表計算ソフトを使って管理しているケースは多いと思います。データ入力のルールを統一しておいても、何らかの原因で英数カナの全角半角が入り交じってしまうことがあるでしょう。これは、見苦しいだけでなく、状況によっては同じデータが別なデータとして扱われてしまうというトラブルの原因にもなります。それを防止するには、ASC関数やJIS関数を使って英数カナ文字の全角・半角を統一するのが確実です。
次の画面は、サンプルのワークシート(前記の関連記事で使用したもの)です。
まず、現行バージョンのCalc2.2.0で開きます。
画面02 ExcelファイルをCalcで開く
![]()
「#NAME?」エラーとなってしまいます。
続いて、開発版のCalcで開きます。
画面03 ExcelファイルをCalc開発版で開く
![]()
Excelと同じ結果が得られます。
では、もう少し詳しく見てみましょう。
次の画面は、関数ウイザードのダイアログで「文字列」分類を表示した様子です。
画面04 Calcの関数ウイザード
![]()
左側の一覧でJIS関数を選択した。上から2番目にはASC関数が表示されている。
さらに、ExcelのJIS関数で変換が行われるすべての文字(「MSゴシック」フォントで調査して変化が認められた文字)を比較してみました
画面05 比較表〜その1「JIS関数」
![]()
中黒(ナカグロ)の「・」00A5 → 「・」2126 以外はすべてOKでした。
続いて、ExcelのASC関数で変換が行われるすべての文字(「MSゴシック」フォントで調査して変化が認められた文字)を比較してみました
画面06 比較表〜その2「ASC関数」
![]()
こちらも、中黒(ナカグロ)の「・」2126 → 「・」00A5 だけが変換されませんでした。
全比較表(Excelファイル)「jis-asc_01.xls」
http://oooug.jp/compati/2.0/HTML/jis-asc_01.xls
中黒(ナカグロ)は、日本語特有の約物で、複数の単語を列挙するときや、欧米語の名前や単語をカナ書きするときに頻繁に使われます。正式版のリリースまでになおると良いのですが。
【参考】中黒(Wikipedia)
http://ja.wikipedia.org/wiki/%E4%B8%AD%E9%BB%92
トラックバック URI : http://office-watching.com/blog/2007-06-20/29/trackback/