LoginSignup
1
0

More than 3 years have passed since last update.

診断メーカーの禁則事項とかあれこれ

Posted at

できないことややってはいけないことが多過ぎる割にネットの情報は少ないのでメモも兼ねて……

CALC関数でNULLを使うときの仕様

例えばこんなことを書くと

入力
=CALC( + 1)

出力結果はこれです

出力
[ERROR]

ですがこう書くと

入力
=CALC(1 +  )

なぜかエラーを吐かずに0として認識して計算するようです

出力
1

ちなみに

入力
=CALC(1 +   + 1)
=CALC(1 +   +  )

こういうことしても

出力
[ERROR]
[ERROR]

御覧の有様だよ
NULLは末尾に1個つける場合のみ許されるっぽいですね

CALC関数で0除算を行うときの仕様

入力
=CALC(1 / 0)
=CALC(0 / 0)
=CALC(-1 / 0)

こんなふうに入力すると

出力
0
0
0

こうなります。こういうところは好きです。

CALC関数の上限についての仕様

割と浅いです。

入力
=CALC(99999999999999)
=CALC(100000000000000)
出力
99999999999999
1.0E+14

なお、当たり前のことですが文字列として地の分に入力すれば

入力
99999999999999
100000000000000
100000000000000000000000000000

そのまま出力されます。

出力
99999999999999
100000000000000
100000000000000000000000000000

CALCの入れ子についての仕様

CALCは入れ子にすることが

入力
=CALC(=CALC(1+1)+1)

可能です。

出力
3

この入れ子の数に制限はあるのか…
とりあえずここまでやってみましたけど

入力
=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(1+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)

普通に計算できました(クッソ重い)

出力
165

まぁ仮に無限に連結できるとしても、診断結果基本テキストの文字数制限が先に来ると思います
こんな感じで

入力
=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(1+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)
出力
=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(=CALC(165

SUMLIST関数の自己参照に関する仕様

「SUMLISTをリストに突っ込んで自分自身を参照させれば簡単に2の累乗が作れちゃうんじゃね?」
そう考えていた時期が僕にもありました

LIST1
1
LIST2
=SUMLIST(1,2)
入力
[LIST1][LIST2_1][LIST2_2][LIST2_3]
出力
1111

自分のことを参照はしないみたいですね
チッ

LISTの再帰に関する仕様

直接自分を参照させると再帰できません

LIST1
[LIST1]
入力
[LIST1]
出力

多分対策されてますね
でもこうすれば(このコードを実行しないでください)

LIST1
[LIST2]
LIST2
[LIST1]
入力
[LIST1]
出力
このページは動作していません shindanmaker.com では現在このリクエストを処理できません。

非常に遺憾です
まぁそういうわけで、交互に呼び出せば再帰はできますが、診断メーカーが死ぬのでストッパーをつけずに行うのはやめましょう。

IF関数の入れ子について

IFは入れ子にできませ……あれっ

入力
=IF(1 = 1,=IF(1 = 1,a,b),x)
出力
a

あれ?おかしいな、前にやった時はできなかったのに
else側においても

入力
=IF(1=2,x,=IF(1=1,a,b))
出力
a

普通に使えますね
なぜ今まで使えなかったかはわかりませんが、まぁその、ラッキー?

まとめ

奥が深すぎる

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0