• ベストアンサー

エクセルの関数はプログラミングの何言語なんですか?

エクセルの関数はプログラミングの何言語なんですか? =sum(b3:b5) 例えばこの場合、sumは関数で(b3:b5)は引数ですか? :コロンはなんですか? =は関数の定義ですか?

質問者が選んだベストアンサー

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5078/13272)
回答No.6

> =は代入演算子ではないんですか? 意味合いとしてはセルに代入すると解釈できますが、エクセルとしては演算するためのモノでは無いから演算子と呼ぶのは違うと思います。 > エクセルではユーザー定義関数はできないんですか?なんかVBAとかで作れるとかなかったでしたっけ? VBAでユーザー定義関数を作れ、組込関数と同じように利用できますが、VBAはエクセルに組み込まれている関数と全く異なる機能です。

okwaveokw
質問者

お礼

ありがとうございます

その他の回答 (6)

回答No.7

えーと >>ユーザー定義関数ってもともとそういうものじゃないんですか なにが「もともと」なのかよく分かりませんが、 別の方も書いているように、ユーザ定義関数は VBAの機能であって「エクセルの関数」とは別物です。 (でも、VBAコードを「式」にしてしまっている点では  私の回答の範疇から外れているわけではないです) >>どう別物なんでしょうか? ものすごく根本的な話です。 ・数学の関数  ある数値(まあ一般的な表記に倣って「x」としましょう)が  変化していく際に、関連する別の数値(こちらは「y」ですね)  が、伴って変化していく規則性を現したものです。  (y=ax^2+bx+cなどですね) ・プログラムの関数  分かりやすいのでVBAを例に挙げます。  (手続きを細分化した際に関数とそうでない手続きを   区別して書く言語だからです)  ある手続きから、別の手続きを呼び出した際に、  呼び出された手続き上で処理が行われ、大域変数や  参照型引数などの値が変化したりするのですが、  関数である手続きの場合、それ以外に必ず呼び出し元へ  「戻り値」を返します。呼び出し元ではこの性質を利用して、  その後の処理に利用したりします。  (戻り値を変数「例えばy」に格納したりします) ・エクセルの関数  セルに入力した「=」以降の計算結果が、そのセルの値として  表示されますが、計算過程で(ベタ書きではとても表記しきれない  計算過程)を代替して記述する一種のマクロです(エクセルのマク  ロとは違います、広義のマクロです)そしてそれは「式」を  構成する一部に過ぎません。数値変化の対応関係(式を替えたら、    表示される値が変わる)や変数(どこかのセルの値が代用できま  す)や戻り値(表示される値)はあくまで「比喩的」にしか、  数学やプログラム言語の関数と対応させることしか出来ません。 これでご理解いただけるでしょうか?  戻り値は比喩的な見地でしか)

okwaveokw
質問者

お礼

ありがとうございます

回答No.5

エクセルの関数は「式」です。 「=」の後に複雑な、または冗長な数式を記載する代わりに、 それらを簡略化して表したものが「エクセルの関数」と呼ばれています。 式の結果がセルに値として表示されるため、 「結果が帰ってくるもの」=「関数」のように見えますが、 当然ながら、数学の関数やプログラム言語の関数とは別物です。

okwaveokw
質問者

お礼

>それらを簡略化して表したものが「エクセルの関数」と呼ばれています。 ユーザー定義関数ってもともとそういうものじゃないんですか?簡略化して1単語の関数名にするものでは? >当然ながら、数学の関数やプログラム言語の関数とは別物です。 どう別物なんでしょうか?

回答No.4

>この=は代入演算子ではないんですか? そうですよ。 その位置の「セル」に対して代入してます。 =の後に書いた命令の結果がそこに入っているのです。

okwaveokw
質問者

お礼

>この=は代入演算子ではないんですか? そうですよ。 つまり代入演算子ということですか?

  • t_ohta
  • ベストアンサー率38% (5078/13272)
回答No.3

エクセルの関数は「エクセルの組込関数」ですので特定のプログラミング言語ではありません。(敢えて言うならエクセル専用言語) 「sum(b3:b5)」は「sum」が関数名で「(b3:b5)」が引数です。 「:」はエクセルのルールで範囲指定と言う意味で使われていて b3 から b5 までの範囲と言う意味を表しています。 「=」はエクセルのルールで関数を使用しますという宣言になります。 エクセルの組込関数はユーザーが任意に定義できませんので、関数の定義と言うモノは存在しません。

okwaveokw
質問者

お礼

=は代入演算子ではないんですか? エクセルではユーザー定義関数はできないんですか?なんかVBAとかで作れるとかなかったでしたっけ?

回答No.2

関数はあくまでも関数です。単なる数式ですから、「何言語」という分類にはあてはまりません。 あくまでも「Excelの関数」という呼び名になります。 「=」は「=の右側に記述されている関数を実行してね」という意味になります。 sum()は「()の中にある引数を足し算してね」という意味になります。 「:」は「sum(a1:a10)」で「a1からa10までの10個のセルの中に記載されている数値をすべて足す」という意味になります。 これが「,」、すなわちsum(a1,a10)になると、「a1とa10の2つのセルを足してね」という意味になります。 「:」の場合は起点と終点の2点しか記載できませんが、「,」の場合は複数のセルを記載可能です。 すなわち=sum(a1,a3,a5,a7)で「a1,a3,a5,a7の4セルの値を足す」という意味になります。 以上、ご参考まで。

okwaveokw
質問者

お礼

ありがとうございます この=は代入演算子ではないんですか?

  • t_hirai
  • ベストアンサー率27% (157/577)
回答No.1

日本語にするとこんな感じです。 = 「このセルに右側に書いた処理の結果を表示してね」 sum 「()内に書いたセルの合計を求めてね」 : 「から(〜)の意味を:(コロン)で書く決まりにするね」 つまり、 b3からb5のセルに書いてある数字を合計してこのセルに表示してね。ということですね。

okwaveokw
質問者

お礼

ありがとうございます

関連するQ&A

  • C言語より後に開発されたプログラミング言語は

    C言語を基にして開発されたのでしょうか? C++,C#はもちろんそうですが、Java、PHP、JavaScriptなどもそうなのでしょうか?と言うのも、C言語の関数とこれらのプログラミング言語の関数がかなり似ているところ(共通しているものも)があるからです。また、Excelの関数とも似ているのですが、これらのプログラミング言語と何か関係があるのでしょうか。

  • C言語の高階関数についてです。

    C言語の高階関数についてです。 double f ( (*g)(double) ){...} とすると「関数を引数にする関数」が作れますが、 「関数を引数にする関数」を引数にする関数って作れますか??? その場合は、引数のところどうやって書けばいいでしょうか??

  • Excel の SUM 関数の引数について

     Office 2003 です、Excelについて質問します。  縦一列の数字のSUMを取ろうとしたところ、「SUM」関数を使うと吹き出しが出て、「SUM(数値1、[数値2],....)」 と表示されました。  この[数値2]以降の引数の意味は何でしょうか。  ヘルプで色々と検索をかけましたが、分かりませんでした。  そもそもSUM関数で引数が2個以上あるのが理解出来ないのですが宜しくお願いします。

  • エクセルの関数を教えてください。

    初めて投稿します。よろしくお願いします。 エクセルの関数で苦戦しています。初歩的な関数しかわからないもので。。詳しい方、教えていただけますでしょうか。よろしくお願いします。うまく説明が伝わりづらいと思うのですが、、、 =SUM($A$1*B1,$A$2*B2,$A$3*B3・・・・)という式を入れました。(それぞれの掛算の合計を求めたい)括弧内の掛算は、60個ぐらいあって、引数が30個までしか指定できないので、エラーになってしまいます。そして、すごい長い式になっていて、指定するのにも一苦労です。 これをまとめる関数があるのでしょうか? 行  A B C D E F ・・・ 列 1 2 3 4 5 ・ ・ ・ 合計

  • VBA言語プログラミング

    添付画像の問題での質問です。ong型の変数Nを宣言し、Nの値をinputbox関数で入力すると、(N,sum())および(N,sum2())を表示するSubプロシージャのプログラムが分かりません。 言語はエクセルのビジュアルベーシックです。

  • 手続き型と関数型について。

    手続き型言語の定義は、「記述された命令を逐次的に実行し、処理の結果に応じて変数の内容を変化させていくプログラミング言語」となっていて、関数型言語の定義は、「数学的な言語仕様をもつプログラミング言語のこと。一度値を与えられた変数は常にその値を維持し、計算は計算結果を引数とした関数呼び出しの繰り返しとして行われる。」とあります。 関数型の、「一度値を与えられた変数は常にその値を維持し」はどういう意味ですか? 例えば、a=2とした後に、a=3などとすればaの値は変わっているのですが。 簡単な例で説明してください。

  • プログラミング言語について

    宜しくお願いいたします。 エクセルのマクロを勉強したいと思っております。 その後、いろいろとプログラミング言語についても勉強したいのですが マクロを勉強することによって、その他のプログラミング言語の理解も早まりますか?

  • C言語での関数の引数の受け渡しについて

    C言語での関数の引数の受け渡しについて教えてもらいたいのです。 char *p=Goo;  というポインタpがmain関数で定義され、このポインタpをある関数 void func(・・・) に渡すことは出来ますか? つまりポインタを実引数として扱うことはできるのかという事ですが・・・ int p=10; とかだったら、 void func(int test) の関数には、main関数で func(p) で仮引数testにわたせると思うんですが・・・ もし出来るようでしたら、関数の渡し方と定義の記述を教えてください。 どうか宜しくお願いします。

  • プログラミング言語とは

    こんにちは。 今、パソコンの系統図的理解をしたいと思って、必死こいてるのですが・・・ パソコンに入っている、プログラミング言語のソフトというのは、 目に見ることのできない僕が知っている知識としてのプログラミング言語と、 ハードの物理的動作、あるいはさらに下の抽象的な階層に位置するプログラムを動作させるプログラムだ、という定義は、間違っているでしょうか? だめ・・ですか?

  • プログラミングで関数を呼び出すというのは、定義した

    プログラミングで関数を呼び出すというのは、定義した関数を 使うという意味ですか?

専門家に質問してみよう