Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


8220 / 13644 ツリー ←次へ | 前へ→

【34567】Sumproductについて Koharu 06/2/6(月) 21:08 質問[未読]
【34570】Re:Sumproductについて kobasan 06/2/6(月) 22:19 回答[未読]
【34572】Re:Sumproductについて Koharu 06/2/6(月) 23:10 お礼[未読]

【34567】Sumproductについて
質問  Koharu  - 06/2/6(月) 21:08 -

引用なし
パスワード
   Sumproductをマクロの記録で作成したのですが、Rangeに書き直したいのですが…
アドバイスお願いします。

  Range("E5").FormulaR1C1 = _
    "=SUMPRODUCT((R[1]C[-4]:R[9]C[-4]=RC[-2])*(R[1]C[-3]:R[9]C[-3]=RC[-1]))"


○range("A6:A14")に顧客名、range("B6:B14")に勘定科目(売上げ、仕入れなど)が入力されています

○顧客名の指定をD6に勘定科目の指定をC6のそれぞれのセルに入力することにより
 対象顧客で対象勘定科目の「数」をE5またはMsgBoxに算出したいのですが。

宜しくお願いします。

【34570】Re:Sumproductについて
回答  kobasan  - 06/2/6(月) 22:19 -

引用なし
パスワード
   ▼Koharu さん 今晩は。

>○range("A6:A14")に顧客名、range("B6:B14")に勘定科目(売上げ、仕入れなど)が入力されています

'Range("E5").FormulaR1C1 = _
    "=SUMPRODUCT((R[1]C[-4]:R[9]C[-4]=RC[-2])*(R[1]C[-3]:R[9]C[-3]=RC[-1]))"
'を直すと、
'Range("E5").Formula = "=SUMPRODUCT((A6:A14=C5)*(B6:B14=D5))"
'となります。

'○顧客名の指定をD6に勘定科目の指定をC6のそれぞれのセルに入力することにより
'なら
'Range("E5").Formula = "=SUMPRODUCT((A6:A14=C6)*(B6:B14=D6))"
'となります。

> 対象顧客で対象勘定科目の「数」をE5またはMsgBoxに算出したいのですが。

'「Rangeに書き直したいのですが」
ではないのですが、A1形式で
また、
'「数」をE5またはMsgBoxに算出したいのですが。
'なら

 MsgBox Application.Evaluate("SUMPRODUCT((A6:A14=C6)*(B6:B14=D6))")

なら数値になります。

【34572】Re:Sumproductについて
お礼  Koharu  - 06/2/6(月) 23:10 -

引用なし
パスワード
   ▼kobasan さん:

早速、丁寧な説明付きの回答を頂きありがとうございました。
よく理解できました。これからも宜しくお願いします。

失礼します。

8220 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free