dポイントプレゼントキャンペーン実施中!

A列に日付、B列に曜日、C列に数字が書いてあります。

D列に、当日のC列の数字が、前日から先週の月曜までの最高値を上回っていれば1,そうでなければ0と表示させたいのですが可能でしょうか?

Excel関数に強い方いらっしゃいましたら是非お助けください!
宜しくお願いします。

A 回答 (2件)

ユーザー定義関数を作ったらどうですか?


次のコードは、指定行の前行から月曜日の行までの最大値を求める関数です。

Function GetMax(ByVal Row As Integer) As Integer
Dim Max As Integer
Max = 0
Do
Row = Row - 1
If Row <= 0 Then Exit Do
If Cells(Row, 3).Value > Max Then Max = Cells(Row, 3).Value
If Cells(Row, 2).Value = "月曜日" Then Exit Do
Loop
GetMax = Max
End Function


呼び方は、
=IF(C1>GetMax(ROW()),1,0)
    • good
    • 0
この回答へのお礼

ありがとうございました!
解決です!!

お礼日時:2009/06/17 09:44

参考例です


=IF(C8>MAX(C1:C7),1,0)

この回答への補足

先週の月曜日が必ずしも7日前とは限らないので困っております。。
例えば今日が月曜日であれば7日前からのMAXとなりますが、今日が金曜日だとすると、、、

B列の直近の”月”から、前日までを選択する関数とかあればMAX関数と組み合わせるとできちゃうと思うのですが、それが解りません。。

参考例ありがとうございました。

補足日時:2009/06/16 10:40
    • good
    • 0

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