下記のヤフーボックスにExcel表を公開しています

Writer: admin Type: booksonline Date: 2019-03-08 00:00
下記のヤフーボックスにExcel表を公開しています。月間集計を日別集計の数字を引用できないでしょうか。日別集計は毎日入力しての合計ですから 26日分を入力すれば25日の数字は消えてしまいます。これを25日の欄にそのまま記載されている状態に関数を使ってできないものでしょうか。https://box.yahoo.co.jp/guest/viewer?sid=box-l-ku7eh7n7cn2vdbzgoq4o...補足月間集計の毎日の入力欄は日別集計の欄を = にしようと考えています。共感した0###関数では、参照元の値が消えれば消えるので、無理です。VBAで処理するのが良いと思います。画像のようにコマンドボタンを作成し、入力後クリックすると、月別集計の該当欄に値が張り付けられるようにすれば、日別の数値を消しても月別の値は残ります。また、月別集計シートの日付が直接入力されており、2月28日分までしか行数がありませんでしたが、それでは他の月の分を作成しようとしたときに非常に効率が悪いです。例えば、31日分行数を確保して(B5~B35を使用)、A1に年の数値(例:2019),B1に「年」、C1に月の数値(リスト形式),D1に「月」を入力しておき、A1とC1の値を変更すれば自動で日付が変わるようにしておくのが良いと思います(後ほど画像を添付します)。A1~D1へ上記の入力をして、B5に=DATE($A$1,$C$1,ROW()-4)と入力してB32までオートフィルでコピー、B33に=IF(DAY(DATE($A$1,$C$1,ROW()-4))=ROW()-4,DATE($A$1,$C$1,ROW()-4),"")と入力し、B35までオートフィルでコピーしておけば、29~31がない月は空欄になる自動のリストが出来上がります。そして、コマンドボタン上にPrivate Sub Com反映_Click()Application.ScreenUpdating = FalseWith Worksheets("日別集計")Dim i As Longi = Application.WorksheetFunction.Match(.Range("C7"), Worksheets("月別集計").Range("B5:B35"), 0) + 4.Range("C15").CopyWorksheets("月別集計").Cells(i, 3).PasteSpecial Paste:=xlPasteValuesApplication.CutCopyMode = FalseEnd WithApplication.ScreenUpdating = TrueWorksheets("月別集計").ActivateEnd Subというコードを記述すれば良いです。日別集計のC15の値が表示されたら、コマンドボタンをクリック→月別集計の該当日付欄に値が張り付くことになります。###A1~D1の画像です。###コピペ、もしくはマクロを使わないとできないです。というか日報のように表を使わないでデータベースとして使えば何の問題もないのですが?日付を入れてデータを積み重ねるだけなんですが?ナイス0

 

TAG