
毎月5とび毎に各得意先の回収率表を作成しています。
オフコンデータをエクセルデータに転送して、回収期間(9/1~9/5)などのような見だしや、その期間の合計金額を出してデータの体裁を整えています。
営業担当者別に分けてそれを作成しなければならないのですが、そのような作業を簡単に出来る方法はないでしょうか。(分けるのはフィルタを使ってます。)
エクセルについて詳しくはないので、コピーや合計金額を出すくらいの初歩的な機能しか使えません。(データの数は毎月違っているのでセルの指定が出来ません。)関数やマクロなどを使えばこのような処理は簡単でしょうか。
エクセル以外でも、アクセスやファイルメーカーなどのソフトも使った方がいいでしょうか。
これだけでは分かりにくいかもしれませんが、
宜しくお願い致します。
No.2ベストアンサー
- 回答日時:
私もあるデータを半旬毎にとりまとめています。
簡単なとりまとめであれば、エクセルが楽だと思います。
さて、毎月5飛び毎→半旬毎として話を進めます。
仮にエクセルのsheet1のA列に1行目から任意の行まで年月日が入力されているとします。
B列に1行目から任意の行まで担当者が入力されているとします。
C列に1行目から任意の行まで金額が入力されているとします。
任意の列(例えばD列)1行目に、以下の計算式を入力してください。
なお、各列、各行は、お使いのデータシートの該当する列行に置き換えてお読み下さい。
=MONTH(A1)+0.1*IF(ROUNDUP(DAY(A1)/5,0)=7,6,ROUNDUP(DAY(A1)/5,0))&B1
(A1には年月日(シリアル値)の日付、B1には担当者名)
以上の式から、月.半旬番号(1~6)担当者名が表示されます。
以下、任意の行まで本式をコピーして下さい。
一方、任意のセル(別シートでも可)に、月.半旬番号が入力された列と、担当者名を列記した行の集計表を作成し、対応する各セルに、以下の式を入力します。
仮に、表はA列に2行目から任意の行まで月.半旬、1行目にB列~任意の列まで各担当者名を入力してあるとすると、B2のセルに、
=SUMIF(Sheet1!$D:$D,$A2&B$1,Sheet1!$C:$C)
以下、対応するセルに本式をコピーしてください。
ついてはこの表の各セルに、担当者別に各半旬毎に集計した金額が表示されます。
もし、月.半旬の表示でなく、あくまでも「9/1~9/5」、「9/6~9/10」・・・としたいのであれば、D列1行目には
=MONTH(A1)&"/"&IF(ROUNDUP(DAY(A1)/5,0)=7,6,ROUNDUP(DAY(A1)/5,0))*5-4&"~"&MONTH(A1)&"/"&IF(ROUNDUP(DAY(A1)/5,0)=7,31,IF(ROUNDUP(DAY(A1)/5,0)=6,DAY(DATE(YEAR(A1),MONTH(A1)+1,1)-1),ROUNDUP(DAY(A1)/5,0)*5))&B1
と入力してください。なお、A列には年月日のシリアル値が入っている必要があります。
先程説明した集計表の月.半旬を入力した列には、かわりに「9/1~9/5」などと期間を入力しておきます。
なお、以上の場合には、大の月には最終半旬は~31、2月は~28(閏年は~29)、その他の月は~30までの集計になります。
日付データがテキストの場合は、
月の取り出しは=VALUE(LEFT(D1,SEARCH("/",D1,1)-1))
日の取り出しは =VALUE(MID(D1,SEARCH("/",D1,1)+1,SEARCH("~",D1,1)-(SEARCH("/",D1,1)+1)))で処理してみてください。
No.3
- 回答日時:
元データを名前列でソートしてください。
(必ずしも日付けでソートする必要なし)(テストデータ)A1:C16
中野2003/10/1 12
中野2003/10/2 3
中野2003/10/6 23
中野2003/10/10 1
中野2003/10/10 33
中野2003/10/13 1
中野2003/10/17 7
中野2003/10/22 8
中野2003/10/23 8
中野2003/10/31 3
四谷2003/10/2 16
四谷2003/10/13 1
四谷2003/10/14 2
四谷2003/10/15 3
四谷2003/10/26 5
四谷2003/10/31 1
(コード)
Sub test01()
Dim t(7)
k = 1
Cells(1, 7) = "1-5": Cells(1, 8) = "6-10": Cells(1, 9) = "11-15"
Cells(1, 10) = "16-20": Cells(1, 11) = "21-25": Cells(1, 12) = "26-matu"
k = k + 1
d = Range("a1").CurrentRegion.Rows.Count
'-----
nm = Cells(1, "A")
For j = 1 To d
If Cells(j, "A") <> nm Then '名前が変ったら
GoSub kekka
End If
'----
For i = 1 To 6
If i = 6 Then
day5 = DateSerial(2003, 10 + 1, 1)
Else
day5 = DateSerial(2003, 10, i * 5 + 1)
End If
If Cells(j, "B") < day5 Then
t(i) = t(i) + Cells(j, "c") '配列に集計
Exit For
End If
Next i
nm = Cells(j, "A")
Next j
GoSub kekka
End
'-----トータルをシートに書き出し
kekka:
Cells(k, 6) = nm
For i = 1 To 6
Cells(k, i + 6) = t(i)
t(i) = 0
Next i
k = k + 1
Return
End Sub
(結果)F1:L3
1-56-1011-1516-2021-2526-matu
中野155717163
四谷1606006
(注)day5 = DateSerial(2003, 10, i * 5 + 1)
の10はInputboxなどで指定するようにしてください。
結構時間が掛かりました。本番ではどこを変えれば良いか
分かっていただけるか自信なし。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ 2 2022/07/01 21:24
- 統計学 どの統計を使えばいいのか教えてください(EZ-Rを使用) 5 2022/10/11 13:28
- Excel(エクセル) エクセルの散布図で新たに入力した値のデータラベルが空欄になる現象 1 2022/04/26 09:31
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- その他(Microsoft Office) ピボットテーブルへの集計フィールド挿入 1 2023/02/26 11:33
- Excel(エクセル) エクセルで沢山のレコードの最後に追記するには? 7 2023/04/10 13:27
- Excel(エクセル) Excel(エクセル)でフィルター抽出後、非表示の行を計算しないで、合計を算出する方法 【内容】 添 4 2023/01/30 17:17
- その他(パソコン・スマホ・電化製品) エクセル初心者です。 仕事でエクセルを使っていて、普段は素人でもできる簡単な関数を使ったことがある程 1 2022/05/25 11:17
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
- Word(ワード) LibreOfficeで数年保存しているデータの変更作業 4 2022/07/08 17:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのVBAで集計をしたい
-
【関数】同じ関数なのに、エラ...
-
【マクロ】【配列】3つのシー...
-
vba テキストボックスとリフト...
-
Office2021のエクセルで米国株...
-
【画像あり】オートフィルター...
-
【マクロ】実行時エラー '424':...
-
特定のセルだけ結果がおかしい...
-
【マクロ】列を折りたたみ非表...
-
他のシートの検索
-
【マクロ】アクティブセルの時...
-
【条件付き書式】シートの中で...
-
【マクロ】【相談】Excelブック...
-
ページが変なふうに切れる
-
エクセル ドロップダウンリスト...
-
【マクロ】オートフィルターの...
-
【マクロ】元データと同じお客...
-
【マクロ】3行に上から下に並...
-
エクセルのdatedif関数を使って...
-
【マクロ】数式を入力したい。...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル
-
【マクロ】WEBシステムから保存...
-
エクセルの循環参照、?
-
エクセル ドロップダウンリスト...
-
エクセルのdatedif関数を使って...
-
特定のセルだけ結果がおかしい...
-
【マクロ】A列にある、日付(本...
-
【マクロ】EXCELで読込したCSV...
-
【マクロ】アクティブセルの時...
-
【エクセル】期限アラートについて
-
iPhoneのExcelアプリで、別のシ...
-
【関数】同じ関数なのに、エラ...
-
Excelの新しい空白のブックを開...
-
【マクロ】3行に上から下に並...
-
【マクロ】宣言は、何のために...
-
VBA チェックボックスをオーバ...
-
Excelについての質問です 並べ...
-
【マクロ】アクティブセルの2...
-
【関数】不規則な文章から●●-●●...
おすすめ情報