dポイントプレゼントキャンペーン実施中!

現在、関数を勉強中なので、自分の出退勤表を作ってみようと思いました。で、シフト制の仕事なので午前の勤務時間と午後の勤務時間を分けて計算が出るようにしたいと思いましたが合計の関数に来たところで立ち止まっています。

午前の時間合計と午後の時間合計という風にしたいのですが、SUM関数では、セルを一つ飛ばししていく計算はできないのでしょうか。

例えば、B1~B60まで使用していて、2マスで1日にしています。ですので、Bの奇数のみを累計したいということなんですが・・・(意味が通じる説明になってますでしょうか。)

分かりにくければ、補足説明いたしますので、ご存知の方、もしくは「他にもっといい方法があるわよ~」と言う方がいらっしゃればよろしくお願い致します。

A 回答 (5件)

[Σ]や[fx] ボタンでは出来ませんが、


集計セルに=sum( と入力して、集計対象のセルを [Ctrl] キーを押しながら、クリックしていけば希望するセルだけの集計が可能です。
    • good
    • 1
この回答へのお礼

おおっ?

やってみます!ありがとうございました!

お礼日時:2004/12/06 22:37

ユーザー関数を作ってみました。


行を1つ飛ばしで合計するには、
=sumstep(0,1,"B1:B60")
とします。
Public Function sumstep(c As Integer, r As Integer, range As range)
Dim s

s = 0
For i = 1 To range.Rows.Count Step r + 1
For j = 1 To range.Columns.Count Step c + 1
s = s + range.Cells(i, j)
Next j
Next i
sumstep = s
End Function
    • good
    • 0

配列式で



奇数行の合計

=SUM(IF(MOD(ROW(B1:B60),2)=1,B1:B60))

偶数行の合計

=SUM(IF(MOD(ROW(B1:B60),2)=0,B1:B60))

として、Ctrl + Shift + Enter で確定
    • good
    • 1

奇数行の和


=SUMPRODUCT((MOD(ROW(B1:B60),2)=1)*(B1:B60))

偶数行の和
=SUMPRODUCT((MOD(ROW(B1:B60),2)=0)*(B1:B60))
    • good
    • 1

B列を午前、C列を午後にして作るということじゃだめでしょうか??

    • good
    • 0
この回答へのお礼

できれば同じ行で・・・すみません。

この先、私の手に追えない技であればその方法でやってみます。

すばやいご回答ありがとうございます(^u^)

お礼日時:2004/12/06 22:36

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