アプリ版:「スタンプのみでお礼する」機能のリリースについて

図のような表があります。
この表で、B1~B2、B6~B7は1行から4行の間で変化します。
ただし、B1~B2の行数とB6~B7の行数は同じです。

A10のセルに=SUM(B6,B7,(B6-C6*B2/100),(B7-C7*B3/100))という計算式を入れたいのですが
上記のように行数が変化するので
B1=cells(gyou,2) B2=cells(gyou1,2)
B6=cells(gyou+5,2) B7=cells(gyou1+5,2)
c6=cells(gyou+5,3) c7=cells(gyou1+5,3)
としています。ここでgyou1は1から4の間で変化します。
ほんとうは
cells(gyou+9,1).Formula=SUM(cells(gyou+5,2):(cells(gyou1+6,2)-cells(gyou1+6)*cells(gyou1,2)/100))
とできると良いのですが、エラーになります。
SUM(cells(gyou+5,2):cells(gyou1+5,2))はOKですが、
SUM((cells(gyou+5,3)-cells(gyou+5,2)*cells(gyou,2)/100)):(cells(gyou1+5,2)-cells(gyou1+5,3) _
  *cells(gyou1,2)/100))が、NGです。

これをどのようにコードを書くと良いのか教えて下さい。

「VBA SUM関数に変数を入れた計算式の」の質問画像

A 回答 (3件)

こんばんは!



NG部分内のコロン「:」をカンマ「,」に変更し

SUM((cells(gyou+5,3)-cells(gyou+5,2)*cells(gyou,2)/100)),(cells(gyou1+5,2)-cells(gyou1+5,3)*cells(gyou1,2)/100))

または

表示セル=(cells(gyou+5,3)-cells(gyou+5,2)*cells(gyou,2)/100))+(cells(gyou1+5,2)-cells(gyou1+5,3)*cells(gyou1,2)/100))

のようにSUMを使用せず、単純に「+」を使って足し算ではどうでしょうか?

検証していませんので、外していたらごめんなさいね。m(__)m

この回答への補足

回答ありがとうございます。
分かりにくいようですが、SUM(:)としたいのは、この表ではB1,B2及びB6,B7は2行ですが、これが1行だったり3行だったり4行だったりするのです。
現在gyou=1,gyou1=2ですが、gyou2を1から4の間で変化させてSUMで合計する範囲を行数に合わせて変化させようとしています。
SUM(,)や+では合計する行数の変化に対応できないので、たぶんですが配列数式を使うと良いのではないかと思うのですが。

補足日時:2011/03/31 14:21
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
おかげさまで、自己解決しました。

お礼日時:2011/04/04 17:40

> SUM(B6:(C7-B7×B2/100))/4.08としたいのですが、


はどのような計算をしたいのかさっぱりわかりません
その説明の手助けとしてにサンプルがほしかったわけですが。

エラーに関してはは多分#VALUEエラーだと思われますが、その原因はなんだと思われますか?

おそらく、エラー解決策として
=(IF(COUNT(B1,B6,C6)<>3,0,100*C6+(100-B1)*B6)
+IF(COUNT(B2,B7,C7)<>3,0,100*C7+(100-B2)*B7)
+IF(COUNT(B3,B8,C8)<>3,0,100*C8+(100-B3)*B8)
+IF(COUNT(B4,B9,C9)<>3,0,100*C9+(100-B4)*B9))
/408
    • good
    • 0
この回答へのお礼

ありがとうございました。
おかげさまで、自己解決できました。

お礼日時:2011/04/04 17:42

質問1


説明と添付図との整合性が取れていません。
質問2
それとサンプルを数点、結果提示してください。

質問3
A10セルに
=SUMPRODUCT((B6:B9*2-C6:C9*B1:B4/100))
を入力た場合の結果は? あっている/間違っている/エラーとなる

この回答への補足

質問1について
 申し訳ありません、間違っていました。
 A10セルで求めたい計算結果はこの表の場合はSUM(B6,B7,(C6-B6×B1/100),(C7- B7×B2/100))/4.08です。
 変数gyouは1ですが、gyou1は1~4の間のどれかです。
 行数が変化するのでSUM(B6,B7,(C6-B6×B1/100),(C7-B7×B2/100))/4.08の式では、対応できず
 SUM(B6:(C7-B7×B2/100))/4.08としたいのですが、これではエラーになってしまうので困っています。

質問3について
 エラーになります。 

補足日時:2011/03/30 18:07
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!