
No.2ベストアンサー
- 回答日時:
あるかもしれませんが、使ったことはないです。
で、作ってみましょう。Rnがどういう規則性か分からないので、iの初期値(kamoshika333さんの例では0)とMAX値(同じくn)とαの三つを入力すれば答えの出てくる関数SIGMA(StartVal,EndVal,ALPHA)を作成します。VBAの標準モジュールに、以下を貼り付けてください。
Function SIGMA(StartVal As Integer, EndVal As Integer, ALPHA As Double)
SIGMA = 0
For i# = StartVal To EndVal
SIGMA = SIGMA + ALPHA ^ i
Next i
End Function
さて、シートに戻って、任意のセルに
=SIGMA(0,10,2)と入力してみてください。2047が出てきましたね。当然セル参照もできますよ。
=SIGMA(A1,A2,A3)と入力して、A1、A2、A3に任意の数を入れて試してみてください。
Rnも数式で表すことができるのなら、上の
SIGMA = SIGMA + ALPHA ^ i
の部分に追記してください。
成功しましたか?で、ここからが重要です。せっかく作ったこの数式をどのブックでも利用できるようにしましょう。
出来上がったファイルを保存します。その際、ファイルの種類を「Microsoft Excelアドイン (*.xla)」にします。ファイル名はなんでも結構です(後で分かりやすい名前にしておいた方がいいですが)。保存先が「AddIns」になっていたら変えないでください。
さて、Excelの「ツール(T)-アドイン(I)」でアドインダイアログを開き、参照ボタンをクリックしてください。先ほど保存したファイルが登場するはずです。これを選択すると、任意のブックで自作したSIGMA関数が利用できます。
この回答へのお礼
お礼日時:2005/02/19 01:19
恐れ入りました(__)
望んでいた以上のことを教えて頂き感謝感激です。モジュールの内容は小生にはさっぱり分かりませんが、結果はバッチリです!
ありがとうございます。
EXCELは奥が深いですねぇ。
No.4
- 回答日時:
エクセルで総和関数にあたるのがSUMPRODUCT関数です。
例えばΣ関数でnが10、Rnが1、アルファが2なら以下の式になります。
=SUMPRODUCT(2^{0,1,2,3,4,5,6,7,8,9,10})
この0から10までの部分の配列を数式を利用して記載すると以下のような式になります(項目数だけセル範囲を選択します)。
=SUMPRODUCT(2^(ROW(B1:B11)-1))
No.3
- 回答日時:
#2のmatsu_junです。
おせっかいにも、解説いたしましょうとも!!
Function SIGMA(StartVal As Integer, EndVal As Integer, ALPHA As Double)
SIGMAという関数を定義するよと宣言しています。
SIGMAには、3つの数をカンマで区切って入力してくださいねと書いてあります。
3つの数にはその後の処理の都合上、StartVal、EndVal、ALPHAと名前をつけました。
StartVal(iの初期値)、EndVal(iのMAX値)は整数(Integer)ですよ。ALPHAは整数とは限りませんよ(Double)
と解説しています
SIGMA = 0
あらかじめなにも計算していない状況では、SIGMAは0ですよ。当然ですよ。
For i# = StartVal To EndVal
2行下の「Next i」との間で挟まれた部分を繰り返し行いなさいという命令です。何回繰り返すのかというのが、i# = StartVal To EndVal という部分で分かります。例えばStartVal=0、EndVal=5であれば6回繰り返すということです。その際重要なのが、下の計算式のiには、繰り返した回数によって入力する値が変わるということです。一回目の計算ではi=0、二回目の計算ではi=1、以降i=2、i=3、i=4、i=5と入れていくのです。
SIGMA = SIGMA + ALPHA ^ i
一回目の処理について考えてみましょう。上で書いたとおり、今のところSIGMAは0です。これにALPHAのi乗、今はiはStartVal(上の行で説明した例であれば0)なので、ALPHAの0乗すなわち1を足したものを新しいSIGMAの値にするぞということです。つまりこの命令を処理することで、SIGMAの値は0から1に変化しました。
二回目はどうなるか。一回目の計算によって、SIGMA=1となっています。この時のiは上で説明したとおり1ですね。よって、元のSIGMA(=1)に、ALPHAの1乗すなわちALPHAを加えた値 1+ALPHA が新しいSIGMAになるということです。これを6回繰り返せば以下の結果になることは想像つきますでしょうか?
SIGMA = 1 + ALPHA^1 + ALPHA^2 + ALPHA^3 + ALPHA^4 + ALPHA^5
Next i
ここまでが繰り返し処理をする部分だよと言っています。日本語に訳してみると、「次のi」つまりiを1加算して上の計算をしようね。と、実はここで書かれています。
End Function
これで処理は終わりです。と書いてあります。
面白いですよ。マクロって。私もまだまだマクロは勉強しなければと思っています。強者はExcelでパックマンなど昔のゲームセンターのゲームを再現しているくらいですから。
参考URL:http://www.geocities.jp/nchikada/pac/
この回答へのお礼
お礼日時:2005/02/22 10:04
わざわざどうもありがとうございました。
EXCELで関数をユーザー登録できるなんて、とっても便利ですね。とても良いことを教わりました。
これからもどんどん活用していきたいと思います。
No.1
- 回答日時:
kamoshika333さん、こんばんは。
>総和関数ってエクセルの関数にありますか?
総和関数って、SUMのことですね?
ありますよ。
まず、関数を入力するセルを選択してから、“挿入”メニューの“関数”をクリックするか、標準アイコン群の中の関数アイコンをクリックすしてください。
http://64.233.167.104/search?q=cache:7g--DCQFg5E …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
検便についてです。 便は取れた...
-
血小板増加について
-
彼女のことが好きすぎて彼女の...
-
風俗店へ行く前のご飯
-
イタリアから帰国する際、肉製...
-
病院側から早く来てくださいと...
-
精液の落とし方を教えてください
-
舌の裏の痛みのないプツプツの...
-
自動車学校について
-
腕を見たら黄色くなってる部分...
-
精子に血が・・・
-
勃起する時って痛いんですか? ...
-
前立腺がん患者の射精について...
-
excelでsin二乗のやり方を教え...
-
tracert の結果で最後のルータ...
-
エクセルで空白セルを含む列の...
-
ある範囲のセルから任意の値を...
-
検便を取ったのですが、棒から...
-
納豆食べた後の尿の納豆臭は何故?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
検便についてです。 便は取れた...
-
値が入っているときだけ計算結...
-
彼女のことが好きすぎて彼女の...
-
尿検査前日に自慰行為した時の...
-
VLOOKUP関数を使用時、検索する...
-
Excel 数値の前の「 ' 」を一括...
-
精液の落とし方を教えてください
-
【Excelで「正弦波」のグラフを...
-
2つの数値のうち、数値が小さい...
-
風俗店へ行く前のご飯
-
精子に血が・・・
-
リンク先のファイルを開かなく...
-
小数点以下を繰り上げたものを...
-
EXCELで条件付き書式で空白セル...
-
イタリアから帰国する際、肉製...
-
excelでsin二乗のやり方を教え...
-
腕を見たら黄色くなってる部分...
-
病院側から早く来てくださいと...
-
ワードのページ番号をもっと下...
おすすめ情報