プロが教える店舗&オフィスのセキュリティ対策術

いつもお世話になってます。
下記のような売上のリストを作成しています。

A     B       C     D    E    F          G
日付  受付No.  品物   数量   単価  数量×単価  合計金額
7/4   11-1     りんご    1   100   100         700
             ばなな    3   150   450
             キウイ    1   150   150
7/5   11-2     りんご    1   100   100         500
             みかん   2   200   400
7/5   11-3     ばなな    3   150   450         450

 

受付番号ごとに合計金額を集計します。
受付番号ごとに品物の種類は1種類だったり2種類,、ないしは3種類だったり等…異なります。
今は合計金額を直接入力していますが、数式を入れて簡略化したいと考えてます。

SUMとOFFSETと組み合わせてやろうとしましたが、品物が2種以上の場合は受付No.に空白がありうまくいきません。
どのようにすればスムーズに合計金額が出せるのかご教示いただければと思います。

A 回答 (5件)

G2セルに


=IF(B2="","",SUM(F2:F$600)-SUM(G3:G$600))
下へオートフィル
最下行は適宜変更してください

#掲示板の回答でOFFSET関数を必要としたことが過去に1度あっただけの気がする。。。
「空白セルまでの合計を求める方法」の回答画像5
    • good
    • 1

 今仮に、リストの最下段の行の行番号が999以下であるものとします。


 その場合、G2セルに次の数式を入力してから、G2セルをコピーして、G3以下に貼り付けると良いと思います。

=IF($B2="","",SUM(OFFSET($F2,,,IF(COUNT($A$1:$A2)=COUNT($A:$A),999,MATCH("*",$B3:$B$999,0)))))
    • good
    • 0

こんばんは!


ご希望の方法とは違うかもしれませんが・・・
VBAでの一例です。

画面左下にある操作したいSheet見出し上で右クリック → コードの表示 → VBE画面が出ますので
↓のコードをコピー&ペーストしてマクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)


Sub test() 'この行から
Columns(1).Insert
Dim i As Long
For i = 2 To Cells(Rows.Count, 4).End(xlUp).Row
If Cells(i, 2) <> "" Then
Cells(i, 1) = Cells(i, 3)
Else
Cells(i, 1) = Cells(i - 1, 1)
End If
Next i
For i = 2 To Cells(Rows.Count, 2).End(xlUp).Row
If Cells(i, 3) <> "" Then
Cells(i, 8) = WorksheetFunction.SumIf(Columns(1), Cells(i, 3), Columns(7))
End If
Next i
Columns(1).Delete
End Sub 'この行まで

以上、参考になれば良いのですが
最初に書いたように関数での方法がご希望なら読み流してくださいね。m(_ _)m
    • good
    • 0

簡単な方法:


B列に「文字列」で受付No.を記入してあるとして
最大10行まで空白が続く可能性があるとして
G2:
=IF(B2="","",SUM(OFFSET(F2,0,0,IF(COUNTA(B3:B12)=0,1,MATCH("*",B3:B12,0)),1)))




#B列に「文字列」が来るか「数値」が入るか決められない場合
G2に
=IF(B7="","",SUM(F7:INDEX(F:F,MIN(IF(B8:B17<>"",ROW(B8:B17)-1,9999)))))
と記入し,コントロールキーとシフトキーを押しながらEnter(←忘れず行う)して入力します。
    • good
    • 0

》 SUMとOFFSETと組み合わせてやろうとしましたが、


》 品物が2種以上の場合は受付No.に空白がありうま
》 くいきません

OFFSETをご存知とは、貴方は Excel の達人かも。
「空白」がネックになっているなら、それを埋めるのが得策かと。

1.列A、B全体を選択
2.[編集]→[ジャンプ]→[セル選択]を実行
3.“空白セル”に目玉入れ
4.[OK]をツン
5.式 =A2 を入力して、Ctrlキーを抑えたままで Enterキーを「エイヤッ!」と叩き付け

以上の操作で、空白セルが一瞬にして埋まります。(添付図参照)

G2: =IF(B2=B1,"",SUMIF(B$2:B$15,B2,F$2:F$15))
「空白セルまでの合計を求める方法」の回答画像1
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています