[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『売掛金の集計について』(ちょーハイパー初心者はる)
お世話になります。
期首9月1日〜期末8月31日の期間の集計で、
A1セルに集計したい月を入れると、
B列セルに入力された月を検索して
C列の金額を集計したいのです。
B列に入力された値は、セルの書式設定表示形式は標準で、9月であれば、9と入力されています。
たとえば、A1セルに7と入れると
B列の7未満の金額を集計したいのですが、
7月未満ということは、6月からの過去分で期首の9月までの集計にしたいのです。
B列の表示形式を日付表示にして、月のみの表示にできますか?ユーザー定義でm"月"にしましたら7は1月と表示されています。????
単純に月のみの入力にしたいセルです。
9と入力すると2003年9月で8月と入力すると2004年8月という
認識をもったセルに設定はできるのでしょうか?
=IF(A1>=9,DATE(2003,A1,1),DATE(2004,A1,1))ですか?(ケン)
最後に書いてある >9と入力すると2003年9月で8月と入力すると2004年8月という認識を これはどう考えても無理ではないでしょうか。未来に渡って入力し続けるのでしょうから。。
簡単な代わりの案として 日付を入力してるのでしょうからそれを B列に =MONTH で出力させる
=IF(DATE(YEAR(入力最終シリアル値),MONTH(同),DAY(同))-350>=B1,"",MONTH(B1))
入力最終シリアル値は適当な固定セルに =MAX で出力させておく。
あとは
=SUMIF で =MONTH 未満の金額を集計
強引ですし、期末8月には間違いないかの確認と 1 〜 12 だけの検索値判断で通年の作業をさせるのですから [式から数値へ固定]の作業も必要かもしれないですね。 多分、駄目でしょうから参考程度に考えて下さい。私の回答は無茶苦茶が多いですし。。 (jun53)
「すがやん」の枕詞拝借。
>私の回答は無茶苦茶が多いですし なかなかどうして、結構感謝の言葉を浴びとるくせに、この、このぉ。
コレは日付に変えてもたらパソコンが拾うてくれまへんさかい、いままで通りのデータ で作業して下さい。 シートモジュールと標準モジュールにそれぞれコピペしておくんなはれ。 後はA1に数字をタイプするだけです、はい。 (弥太郎)
'シート1に Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False If Target.Address = "$A$1" Then syukei End If Application.EnableEvents = True End Sub
'------------- '標準モジュールに Sub syukei() Dim row_max As Long, i As Long row_max = Cells(, 2).End(xlDown).Row For i = row_max To 1 Step -1 If Cells(1, 1) > Cells(i, 2) Or Cells(1, 1) + 8 < Cells(i, 2) Then Cells(1, 4) = Application.Sum(Range(Cells(1, 3), Cells(i, 3))) Exit Sub End If Next End Sub
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.