• ベストアンサー

Excel関数

A列に日付、B列に曜日、C列に数字が書いてあります。 D列に、当日のC列の数字が、前日から先週の月曜までの最高値を上回っていれば1,そうでなければ0と表示させたいのですが可能でしょうか? Excel関数に強い方いらっしゃいましたら是非お助けください! 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • nag0720
  • ベストアンサー率58% (1093/1860)
回答No.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)

mixkaneko
質問者

お礼

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

その他の回答 (1)

  • WDY
  • ベストアンサー率27% (136/492)
回答No.1

参考例です =IF(C8>MAX(C1:C7),1,0)

mixkaneko
質問者

補足

先週の月曜日が必ずしも7日前とは限らないので困っております。。 例えば今日が月曜日であれば7日前からのMAXとなりますが、今日が金曜日だとすると、、、 B列の直近の”月”から、前日までを選択する関数とかあればMAX関数と組み合わせるとできちゃうと思うのですが、それが解りません。。 参考例ありがとうございました。

関連するQ&A