[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『シートの表示』(ひょ)
シートAに日ごとの売上品目(1年間分)のデータ毎日を入力しています。 シートAに入力したデータが、自動的に月ごとにシートC・D・・・へと分かれるようにできますか? そしてシートBには 月ごとの合計(売上品目データの中から項目を2つに分けたものの @の合計Aの合計と月ごとの全体合計)を表示させたいのです。よろしくお願いします。
具体的な内容が不明のため、若干違うかもしれませんが以下のような感じでしょうか。 SheetA A B C 1 月日 商品A 商品B 2 1月2日 100 180 3 1月5日 150 210 4 1月8日 200 240 5 1月10日 250 270 6 2月6日 300 300 7 2月9日 350 330 8 2月12日 400 360 9 2月20日 450 390 10 3月1日 500 420 11 3月7日 550 450 12 3月16日 600 480 13 3月22日 650 510
SheetC A B C 1 1月 商品A 商品B 2 1月2日 100 180 3 1月5日 150 210 4 1月8日 200 240 5 1月10日 250 270
SheetCのA1には数値のとして、表示形式で 0月 SheetCのA2=IF(SUM(N(MONTH(SheetA!$A$2:$A$100)=$A$1*(SheetA!$A$2:$A$100<>"")))<ROWS($A$2:A2),"",SMALL(IF(MONTH(SheetA!$A$2:$A$100)=$A$1*(SheetA!$A$2:$A$100<>""),SheetA!$A$2:$A$100),ROWS($A$2:A2))) として、ShiftキーとCtrlキーを押しながらEnterキーで確定させて配列数式に。 B2=VLOOKUP($A2,SheetA!$A$2:$C$100,COLUMN(),FALSE)
(川野鮎太郎)
ありがとうございます。具体例がなくすみませんでした。 教えていただいたのですが 何度もしてみたのですが、上手くいかないのです。
SheetA A B C D E F G H I 1 月日 月日 時刻 種類 商品A 商品B 数量 仕入先 2 1月2日 1月2日 10:00 1 ああ 18 A 3 1月5日 1月4日 19:12 2 いい 12 B 4 1月8日 1月7日 19:08 1 うう 1 C 5 1月10日 1月10日 11:05 2 ええ 3 D 6 2月6日 2月6日 10:50 2 おお 4 A 7 2月9日 2月9日 13:40 1 かか 10 C
上記で月日が2列ありますが基準となるのはどちらですか。
上記の表からCのシートにはどのような結果がほしいのでしょうか。 出来ればCのシートの例を挙げてください。(Aのシートを例にして)
(川野鮎太郎) すみません。基準となるのはA列の日付です。よろしくお願いします。シートAに入力すると自動的にその月のシートも反映させたいのです。 Cのシートには 1月 A B C D E F G H I 1 月日 月日 時刻 種類 商品A 商品B 数量 仕入先 2 1月2日 1月2日 10:00 1 ああ 18 A 3 1月5日 1月4日 19:12 2 いい 12 B 4 1月8日 1月7日 19:08 1 うう 1 C 5 1月10日 1月10日 11:05 2 ええ 3 D Dのシートには 2月 A B C D E F G H I 1 月日 月日 時刻 種類 商品A 商品B 数量 仕入先 2 2月6日 2月6日 10:50 2 おお 4 A 3 2月9日 2月9日 13:40 1 かか 10 C
ほとんどそのまんまで使えますよ。 SheetC A B C D E F G H 1 1月 2 月日 月日 時刻 種類 商品A 商品B 数量 仕入先 3 1月2日 1月2日 10:00 1 ああ 18 A 4 1月5日 1月4日 19:12 2 いい 12 B 5 1月8日 1月7日 19:08 1 うう 1 C 6 1月10日 1月10日 11:05 2 ええ 3 D
A3=IF(SUM(N(MONTH(SheetA!$A$2:$A$100)=$A$1*(SheetA!$A$2:$A$100<>"")))<ROWS($A$3:A3),"",SMALL(IF(MONTH(SheetA!$A$2:$A$100)=$A$1*(SheetA!$A$2:$A$100<>""),SheetA!$A$2:$A$100),ROWS($A$3:A3))) として、ShiftキーとCtrlキーを押しながらEnterキーで確定させて配列数式にして下方にコピー。
B3=IF(VLOOKUP($A3,SheetA!$A$2:$H$100,COLUMN(),FALSE)="","",VLOOKUP($A3,SheetA!$A$2:$H$100,COLUMN(),FALSE)) としてH列まで数式のコピー
A1には数値の1を入れてください。 (川野鮎太郎)
横からお邪魔します。 トピ主さんが混乱するといけないのでどうしょうか迷いましたが、 いらなかったら( -.-)ノ⌒-~ポイしてください。 >自動的に月ごとにシートC・D・ とはいきませんが、一括してオートフィルタで振り分けるものです。 シートBのイメージがよくわからないので何もしていません。 よかったら、試してみてください。 Option Explicit Sub てすと() Dim MyMonth As Variant Dim i As Long Dim SMonth As String, EMonth As String MyMonth = Array("1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月") Application.ScreenUpdating = False With Worksheets("A") For i = 1 To 12 SMonth = Format(DateSerial(Year(Date), i, 1), "yyyy/mm/dd") EMonth = Format(DateSerial(Year(Date), i + 1, 0), "yyyy/mm/dd") .AutoFilterMode = False .Range("A1").CurrentRegion.AutoFilter _ Field:=1, Criteria1:=">=" & SMonth, Operator:=xlAnd, Criteria2:="<=" & EMonth With .AutoFilter.Range If .Columns(1).SpecialCells(xlCellTypeVisible).Cells.Count > 1 Then Worksheets(MyMonth(i - 1)).Cells.ClearContents .Resize(1, .Columns.Count).Copy _ Destination:=Worksheets(MyMonth(i - 1)).Range("A1") .Resize(.Rows.Count - 1, .Columns.Count).Offset(1).Copy _ Destination:=Worksheets(MyMonth(i - 1)).Range("A65536").End(xlUp).Offset(1) Worksheets(MyMonth(i - 1)).Range("A1").CurrentRegion.EntireColumn.AutoFit End If End With .AutoFilterMode = False Next End With Application.ScreenUpdating = True End Sub http://ryusendo.no-ip.com/cgi-bin/upload/src/up0233.xls (SoulMan)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.