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

別のシートに開始時間と終了時間の合計個数をだしたいのですが、
やり方がわかりません

・シート1
開始時間 終了時間 個数 宛先 商品
10:00    10:01    1   A   11111
10:00    10:05    8   A   22222
10:00    10:07    4   A   33333
10:15    10:17    6   B   11111
10:15    10:30    9   B   22222
11:00    11:01    1   C   11111
11:00    11:08    9   C   22222

・シート2
開始時間 終了時間 合計個数 宛先
10:00    10:07    13     A
10:15    10:30    15     B
11:00    11:08    10     C

とシート2に個数の合計を求めたいのですが、100行以上のデータがあるので、
関数を使えばできますか?

よろしくお願いします。

A 回答 (4件)

>関数を使えばできますか?


シート1の個数をC列、宛先をD列として、シート2も同じ列としたとき
シート2のC2セルに下記の式を入力し、下へコピーします。

=SUMIF(Sheet1!D$2:D$100,D2,Sheet1!C$2:C$100)

但し、行番号の100は実際の行番号に置き換えてください。
また、開始時間と終了時間は別途処理方法を考えてください。
    • good
    • 0

分かり易くしかもパソコンに負担のかからない方法は作業列を作って対応することです。


お示しの表がシート1のA列からE列に入力されているとします。1行目は項目名です。
F2セルには次の式を入力して下方にドラッグコピーします。

=IF(COUNTIF(A$2:A2,A2)=1,MAX(F$1:F1)+1,"")

作業列が目障りでしたらF列を選択して右クリックし「非表示」を選択します。
シート2のA1セルからD1セルにはお示しの項目名を入力します。
A2セルには次の式を入力してD2セルまで横にドラッグコピーしたのちに下方にもドラッグコピーします。

=IF(ROW(A1)>MAX(Sheet1!$F:$F),"",IF(COLUMN(A1)=1,INDEX(Sheet1!$A:$A,MATCH(ROW(A1),Sheet1!$F:$F,0)),IF(COLUMN(A1)=2,INDEX(Sheet1!$B:$B,MATCH(ROW(A1),Sheet1!$F:$F,0)+COUNTIF(Sheet1!$A:$A,$A2)-1),IF(COLUMN(A1)=3,SUMIF(Sheet1!$A:$A,$A2,Sheet1!$C:$C),IF(COLUMN(A1)=4,INDEX(Sheet1!$D:$D,MATCH(ROW(A1),Sheet1!$F:$F,0)),"")))))

最後にAおよびB列を選択してから右クリックし、「セルの書式設定」の「表示形式」の「時刻」から好みの表示を設定します。
    • good
    • 0

ご利用のエクセルのバージョンも不明のご相談です。



手順:
エクセル2003以前をご利用の場合はデータメニューのフィルタから「フィルタオプションの設定」を使い
エクセル2007以降をご利用の場合はデータタブの「重複の削除」を使い、
シート2のD列に
宛先



の一覧を作成する


#補足:
言わずもがなですが、ご相談に例示されているように「A」と「A」が混在していては、「同じ宛先」とは当然認識できません。
データチェックは、関数以前のデータ整備としてしっかり行わなければなりません。


シート2のA2には
=IF($D2="","",MIN(IF(Sheet1!$D$1:$D$999=D2,Sheet1!A$1:A$999)))
と記入、必ずコントロールキーとシフトキーを押しながらEnterで入力
シート2のB2には
=IF($D2="","",MAX(IF(Sheet1!$D$1:$D$999=D2,Sheet1!B$1:B$999)))
と記入、必ずコントロールキーとシフトキーを押しながらEnterで入力
いずれも時刻の書式を取り付け、A2:B2を下向けにコピー

シート2のC2には
=IF(D2="","",SUMIF(Sheet1!D:D,D2,Sheet1!C:C))
と記入、下向けにコピー。




#参考
「手を動かすのがイヤ」でしたら、シート2の「D1」に
=IF(ROW(D1)>SUM(1/COUNTIF(Sheet1!$D$1:INDEX(Sheet1!D:D,COUNTA(Sheet1!D:D)),Sheet1!$D$1:INDEX(Sheet1!D:D,COUNTA(Sheet1!D:D)))),"",INDEX(Sheet1!D:D,SMALL(IF(FREQUENCY(MATCH(Sheet1!$D$1:INDEX(Sheet1!D:D,COUNTA(Sheet1!D:D)),Sheet1!$D$1:INDEX(Sheet1!D:D,COUNTA(Sheet1!D:D)),0),MATCH(Sheet1!$D$1:INDEX(Sheet1!D:D,COUNTA(Sheet1!D:D)),Sheet1!$D$1:INDEX(Sheet1!D:D,COUNTA(Sheet1!D:D)),0)),ROW(Sheet1!$D$1:INDEX(Sheet1!D:D,COUNTA(Sheet1!D:D)))),ROW(D1))))
と記入、必ずコントロールキーとシフトキーを押しながらEnterで入力、下向けにコピーしても構いませんが、こんな馬○みたいな数式を使いたがるのはただの○鹿です。



#参考
シート2の「左右の順序が多少入れ替わっても」構わなければ、ピボットテーブルレポートを使い、メンドウな数式とか全く一切使わずに結果を集計させることもできます。

とりあえずピボットテーブルレポートで集計後に、GETPIVOTDATA関数等を使い、所定の並びの結果表に集計結果を持ってきてもOKです。
「開始時間から終了時間の合計個数の求め方」の回答画像2
    • good
    • 0

sumを使いましょう


非常によく使う基本中の基本のような巻数です。
    • good
    • 0

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