出産前後の痔にはご注意!

今Excelで家計簿的なものを作成しています。
連続した黒字の月や赤字の月の最大を関数で表そうと考えております。
少ない例なんですが

07年9月  10月  11月   12月  08年1月    2月  3月
+○円  +○円 +○円  -○円   -○円  +○円 -○円

の場合黒字の連続した月の最大が3か月 赤字の最大が2か月をいうのを関数で表したいのですが、調べたところよくわかりませんでした。
時間のある方、アドバイスよろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

関数では難しいのではないかな。

今日他の質問でやはり連続して何回
合格したかという数を出す質問があったが、関数では答えが出てないようだ。
ーーー
関数では手こずって
色々考えてVBAの持ち込んで、ユーザー関数を作った。
結構難しかった。VBAの下記ロジックも易しくは無いだろう。
sgn関数も初めて実際に使った。
例データ A1:I1
122231-34-56-2-11-1234566
VBEの標準モジュールに
Function aaa(a)
Dim cl As Range
m = 2
ren = 0
Max = 0
For Each cl In a
'MsgBox cl
If Sgn(cl) = m Then
ren = ren + 1
'MsgBox ren
Else
If ren = 0 Then GoTo p1
If ren > Max Then Max = ren
p1:
m = Sgn(cl)
ren = 0
End If
Next
aaa = Max
End Function
ーー
結果を出すセルに
=aaa(A1:I1)
と入れる
結果

マイナスの続きが5つあるので、1ツ少ない4を出す仕組み。
ーー
テストデータ追加A2:O2
-3145-11345-6-1-244-2
=aaa(A2:O2)
結果

データのーと+をいじくって変わる様子をテストしてください
    • good
    • 0

「07年9月」がセルB2だとしてセルB4に


=SIGN(B3)
セルC4に
=IF(SIGN(B3)<>SIGN(C3),1*SIGN(C3),B4+SIGN(C3))
で右へコピー。
これで、
黒字連続最長月数...MAX(4:4)
赤字連続最長月数...MIN(4:4)
で出せます。
ただし、プラマイゼロは考慮していません。
しかし家計簿なら予算ピッタリはないでしょうから大丈夫かと・・
ハズしていたら、ゴメンナサイ。
    • good
    • 0

    A    B    C    D    E    F    G


1  07月9月  10月  11月  12月  08年1月  2月  3月
2  1234   4567  7890  -1963  -2741  4567  -258

>黒字の連続した月の最大が3か月
=MAX(FREQUENCY(IF(A2:G2>0,COLUMN(A2:G2),""),IF(A2:G2<0,COLUMN(A2:G2),"")))

>赤字の最大が2か月
=MAX(FREQUENCY(IF(A2:G2<0,COLUMN(A2:G2),""),IF(A2:G2>0,COLUMN(A2:G2),"")))

★この式は「配列数式」です、式を入力後、 Ctrl+Shift 押しながら、Enter を押してください
★式が確定すると、式の両端に { }がつきます
    • good
    • 0

このQ&Aに関連する人気のQ&A

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


人気Q&Aランキング