電子書籍の厳選無料作品が豊富!

こんにちは。エクセル2010初心者です。楽しんでいます。
いろいろと勉強中なので、ポイントがずれていれば、申し訳ありません。

今、下記画像のような、エクセルのシートを作成しました。
シンプルな日付データです。

A列に基準日の日付データ、B列に会員登録日の日付データを入力しています。

A列のデータは2016/4/1で固定とし、B列のデータは常に違います。

ここで行いたい処理なのですが、C列を作業列とし、基準日以前であれば「○」、そうでなければ空欄「」としたいのです。

関数やVBAで処理する方法はあるのでしょうか。今は手作業でしているので大変です。

どうぞよろしくお願いします。

「エクセル関数について」の質問画像

A 回答 (5件)

あくまでもアップされている表を元にしての方法ですと、No2の方の方法かNo4の方の方法が簡単です。


もう少し知ったかぶりをして余計に式を長くすると
セルC2に =IF(MIN(A2:B2)<A2,"○","") の式を入れてオートフィルコピーとかww
式は短ければ短いほどPCのCPUやメモリーに負担をかけませんので、できるだけ短いほうがいいです。

VBAで処理をする場合の方法
「Alt」キー+ファンクションキーの「F11」を押してVBAを起動
「挿入」タブより「標準モジュール」をクリックして入力画面に以下のプログラムを組みます。
ーー↓------ここから下のプログラムーーーー↓ーーーーーーー
Sub 条件()
Dim i As Long
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(i, 1) > Cells(i, 2) Then
Cells(i, 3) = "○"
Else
Cells(i, 3) = ""
End If
Next
End Sub
ーーここまでーーーーーーーーーーーーーーーーーーーーーーーーーー
Sub 条件()~End Subまでのプログラムをコピーするか入力。
VBAの画面からexcel画面へそのまま戻り、excel画面より
「表示」タブの一番右側の「マクロ」をクリック
マクロ名「条件」が選択されていることを確認後「実行」をクリックすると
プログラムが実行され自動処理されます。
    • good
    • 0

No.3です 記入ミススミマセ…


誤 =IF(A1>B1,"○","")
正=IF(A2>B2,"○","")
    • good
    • 0

たぶん一番簡単な方法で。


C2の場所に関数
=IF(A1>B1,"○","")
を入力してください。
たぶんこれでうまくいくのではないかと。
うまく表示されたら、C2マスの右下で十字マークを出して、一番下までコピペします。
    • good
    • 0

こんなのでいいですか?


セルC2に
=IF(B2<A2,"○","")
と入力し、必要分だけ下にオートフィルしてみてください。
    • good
    • 0

エクセルでは日付は内部でシリアル値という数値です。


ですから大小比較でできます。

C2に
=IF(AND(B2<>"",B2<=A2),"○","")
これを下へコピーします。
    • good
    • 0

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