いきなり答える備忘録

Google Workspace・Microsoft 365・LibreOfficeなどに関するメモ

(Gスプレッドシート)数式の長さ(文字数)を求める

 Googleスプレッドシートで、セルに入力されている式の文字数を求める方法についてです。

  • 「=LEN(FORMULATEXT(参照先))」という式で、参照先のセルに入力されている式の文字数が求まります。
  • 式でない場合(「=」で始まらない場合)はエラーが返ります。

手順

 B3:B6の4つのセルに、それぞれ簡単な式と値を入力します。

 

 結果はこうなります。

 

 ここでB3セルに入力した式の長さを求めるため、C3セルに次のように入力します。

=LEN(FORMULATEXT(B3))

 単純に「=LEN(B3)」ですと値の長さ(1)が返ってきますので、まず「FORMULATEXT(B3)」で式の文字列を取得し、LEN関数でその長さを求めます。
 

 結果はこうなります。「=1+2」という式の長さである「4」が得られました。

 

 式を下方にフィルコピーした結果です。
 FORMULATEXT関数は「=」で始まってさえいればその内容を返し、そうでなければエラーを返しますので、3番目の結果のように「=」で始まらないセルを参照した場合はエラーが返ります。また、最後の結果のように、関数や演算子がなくとも「=」で始まってさえいれば数値が返されます。

 なお、参照先の内容が式でない場合にエラーではなく値の長さを返すようにしたい、という場合は次のような式が考えらえれます(B3セルを対象とする例)。

=IF(ISFORMULA(B3),LEN(FORMULATEXT(B3)),LEN(B3))