Q&A

回答の並べ替え:
投稿新規に質問を投稿する

TEXT関数

umemura umemura

2019-08-28 17:52

CELFには、エクセルの「TEXT関数」に当たるものはありますでしょうか。

セル書式に関係なく文字列として扱いたいときに、どうすればよいかわかりません。
桁の大きい数値や少数等で思うよう値が取得できないことがあるため、
見えている文字列をそのまま扱いたいです。

umemura umemura
回答ありがとうございます。
数値⇔文字列 のところで私も躓きました。


今回の質問の発端も、123456789.123456789 というような大きい値の小数桁数を正規表現チェックしようと思ったときに、正規表現でチェックしようとおもったときにうまくいかなかった、というものでした。

今回は 「=ASC(DBCS(セルアドレス))」を使って回避しました。
一度2バイト文字にして1バイト文字に直す、というものです。
TEXT関数の完全な代替にはなりませんが、
数値を文字列として扱うには、今のところこれがよさそうです。



CELFの仕様上、どうも桁が大きい整数、少数がうまく取り扱うことができず、
先ほどの数値に対して小数点「.」をFIND関数で探すと「2番目の文字列」として返却されるので内部的に「0.123456789123456789+e^9」のように浮動小数点数で扱われているかもしれません。
※ASC(DBCS()) で変換すれば、小数点桁は10文字目、と意図した値となります。
kurata kurata
メダルベストアンサー
TEXTないですよね!
VALUEとかも無いし、作成していて「もう!なんでこの関数が無いの!」とキーッってなることが多いです。
私は、必要なときに都度アクションでセルに書式設定することで逃げていますが
使える関数の種類を増やしてほしいです。

文字列書式になっているものを数値にしたいときは、VALUE関数が無いので、「=B14+0」のように、参照セルの後ろに「+0」ってつけています。