- 締切済み
エクセルの関数
関数はなぜ=からはじまるのですか? =sum(A1:A3)ではなくてsum(A1:A3)=では 何か不都合が合って最初に=を持ってくるように 開発されたのでしょうか?
- みんなの回答 (7)
- 専門家の回答
みんなの回答
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
一番最初にあれば、 そこで、=による式の入力だとすぐ判別できますが 一番最後にあれば、 最後まで読まなければ定数なのか式なのかが判別できません。 例えば、エクセルでは、関数名が入力された段階で、関数の引数を簡易ヘルプ表示したり、セル範囲が入力された時に、そのセル範囲を色と枠で表示したりしていますが、最後に=がある時式の入力とするなら、 そのような入力途中での表示ができません。(なぜなら単に式を定数文字列としたいのかもしれないから) 多分そういうことかと思います。
- imogasi
- ベストアンサー率27% (4737/17069)
関数識別を (A)=等の特別な約束の記号で始めるか (B)関数式の文字(数百種あり)と照合して一致すれば 関数だ、とする。 の両方があります。 (A)の方が、システムを組む方は安心できる気がします。 文字列と区別(特に西欧圏で)出来てよい、また私どもも 区別し易い。 ただ表計算以外では、予約語などで(B)の方式を採っているなという場面も多いですから、絶対(A)で無いと駄目ではないでしょう。しかしそれらを文字列として使う場合はなにか約束事を決めないといけなくなる。 LOTUS123も@で始まるし、その他の表計算もそうです。 伝統かも知れません。
- neKo_deux
- ベストアンサー率44% (5541/12319)
プログラムで言うところの「代入」の書き方が、 「Aに3を入れる」→A=3 「Bにsum結果を入れる」→B=sum(1,3) となるところから、 「(そのセルに)3を入れる」→=3 「(そのセルに)sum結果を入れる」→=sum(A1:A3) となっている気がします。 -- 後、 「sum(A1:A3)」と言う文字を表示する場合と、 「A1:A3の合計sumを指定する場合」を比べて、 B1 =sum(A1:A3) B1 sum(A1:A3) B1 sum(A1:A3)= 最初の1文字を見て関数かどうかを判断するのが簡単、わかりやすいからとか。 更にいうと、 B1: B2=A1 なんて書き方をされると何がしたいのか良く分からないので、左辺値に値を書かせないようにとか。
- last_rust
- ベストアンサー率33% (31/93)
おはようございます 入力フォームの左関数の挿入ボタンがありますよね? そのマークはfxとなっています。 例えば高校で習う2次関数の数式を思い出してみて下さい。 f(x)=x2+(1-a)x+b という感じです。 これをエクセルに例えると左辺が計算結果、 右辺が関数の引数ということになります。 それをつないでいるのが=なんです。 ところが=を一番右側に持っていってしまうと f(x)x2+(1-a)x+b= となってしまいます。 これでは関数は成り立ちません。 なので質問の答えは 関数の引数部分を明確にし、関数の書式をしっかり確立させるため、 という理由が妥当かと思います。 参考になれば幸いです。
- CupNaka
- ベストアンサー率22% (13/57)
VBA等に問わず、大概のプログラミングでは変数の代入は、そう記述するからではないでしょうか? 例) intA ... 変数宣言部 intA = A1 + A2 + A3 ... 変数代入部 仮にですが、[=sum(A1:A3)]の式がセルB1に記入されていたならば、上記のように説明すると… B1 = sum(A1:A3) と出来るからではないでしょうか? Excelでは代入する箇所がそのセルだと分かっているので、前部の記述は省略できているということだと思いますよ。
そもそも LOTUS123 からの互換仕様があった訳で Excel だけ違う作りにする理由がなかったのだと思われますが。 逆に訊きますが「最初に=を持ってくる」ことに何の問題 があるのでしょう。
- bobble
- ベストアンサー率34% (111/323)
おはようございます。 最初に=を記述する事でその後に書かれているものが数式や関数であるとエクセルが判断するのではないでしょうか。 途中で=が入ると式なのか文字なのかの判断がつかなくなりますからね・・・。