A    B
H13.10.1 H13.10.5・・赤色に変わる
H13.9.5  H13.9.1・・この場合は変わらない

A列は先に入力した日付で、その後B列に日付を入力した場合その日付がA列より遅い場合は、自動的に赤色に変わるようにしたいのですが、設定の仕方が分かりません教えてください

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

A 回答 (1件)

Bの列で


 書式→条件付き書式
 1 セルの値が
 2 次の値より小さい
 3 同列のAをクリック
 4 書式を赤にする

以上で変わります

またエクセルの技のURLも書いときます

何か有れば補足して下さい。

参考URL:http://www2.odn.ne.jp/excel/waza/cformat.html
    • good
    • 0
この回答へのお礼

早速の回答有り難うございます
参考URLもご指示いただき参考になりました

お礼日時:2001/10/02 14:16

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

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QA列とB列の重複を抽出したいのですがA列とB列の値は一部だけ同じ文字です。ご教示お願いします。

エクセル初心者です。重複を見つけるのが仕事です。いろいろやってみたのですがうまくできません。
お知恵をお貸しください。

A列には企業名が入力されています。
B列にも企業名が入力されていますが全く同じ文字ではないのです。

たとえばこういうことです。
A1 (有)雪見酒      B1  雪見
A2 株式会社豪雪地帯   B2 (株)豪雪地帯
A3 ゆきかき本舗     B3 (有)ゆきかき本舗

A列にある企業名とB列にある企業名が同じであればセルを塗りつぶすか○を表示させるように
したいのです。
重複を見つけるのが目的なので、ほかの方法でもかまいません。
すみません、A列のセルとB列のセルが全く同じ名前ならば重複が見つけられたのですが
ここから先がどうしてもわからないのです。。。
申し訳ありませんがどうか教えてください。。。

Aベストアンサー

No4です。以下のマクロを標準モジュールへ登録してください。
--------------------------------------------------
Option Explicit
Public Sub 重複チェック()
Dim maxrow1 As Long
Dim maxrow2 As Long
Dim row1 As Long
Dim row2 As Long
Dim nameT1() As String
Dim nameT2() As String
Dim t1, t2 As Variant
t1 = Time
maxrow1 = Cells(Rows.Count, "A").End(xlUp).row '最大行取得
maxrow2 = Cells(Rows.Count, "B").End(xlUp).row '最大行取得
ReDim nameT1(maxrow1)
ReDim nameT2(maxrow2)
Range("C1:" & "D" & maxrow2).Value = ""
Call makeTable(nameT1, "A", maxrow1)
Call makeTable(nameT2, "B", maxrow2)
For row1 = 1 To maxrow1
For row2 = 1 To maxrow2
If Cells(row2, "C") = "" Then
If Mymatch(nameT1(row1), nameT2(row2)) = True Then
Cells(row2, "C").Value = "○"
Cells(row2, "D").Value = row1
End If
End If
Next
Next
t2 = Time
MsgBox ("チェック完了 処理時間=" & Minute(t2 - t1) & "分" & Second(t2 - t1) & "秒")
End Sub
'余分な文字を削除した結果をテーブルに格納する
Private Sub makeTable(ByRef nameT() As String, ByVal col As String, ByVal maxrow As Long)
Dim row As Long
Dim ary As Variant
Dim name As String
Dim i As Long
ary = Array("㈱", "(株)", "株式", "(有)", "有限", "会社")
For row = 1 To maxrow
name = Cells(row, col).Value
For i = 0 To UBound(ary)
name = Replace(name, ary(i), "")
Next
nameT(row) = name
Next
End Sub
'企業名が一致かどうか判定する
Private Function Mymatch(ByVal name1 As String, ByVal name2 As String) As Boolean
Mymatch = False
Dim pos As Variant
pos = InStr(1, name1, name2, vbTextCompare)
If pos > 0 Then Mymatch = True
End Function
-----------------------------------------------------
一致の精度が悪ければその旨補足してください。
(一致すべきものが一致しない、一致してはいけないものが一致している)
100%解決できる保証はありませんが、多少のチューニングは行います。

No4です。以下のマクロを標準モジュールへ登録してください。
--------------------------------------------------
Option Explicit
Public Sub 重複チェック()
Dim maxrow1 As Long
Dim maxrow2 As Long
Dim row1 As Long
Dim row2 As Long
Dim nameT1() As String
Dim nameT2() As String
Dim t1, t2 As Variant
t1 = Time
maxrow1 = Cells(Rows.Count, "A").End(xlUp).row '最大行取得
maxrow2 = Cells(Rows.Count, "B").End(xlUp).row '最大行取得
ReDim ...続きを読む

QエクセルのワークシートAの1列目(A列)の日付と、ワークシートBの1列

エクセルのワークシートAの1列目(A列)の日付と、ワークシートBの1列目(A列)の日付を一致させて1つのワークシートに纏める方法を探しています。

2つの時系列データがあるのですが、データA(為替データ)とデータB(株式データ)のデータ管理方法が下記のように異なっています。

データA(為替データ)・・・1週間のうち6日間(月曜から土曜まで)
データB(株式データ)・・・1週間のうち5日間(月曜から金曜まで)

おのおのワークシートのA列に日付が入っています。

データAは月曜から土曜までなので、1週間に6行要します。データBは月曜から金曜なので1週間に要するのは5行です。従って、単純にこの2つのデータを張り合わせるだけでは(データBをデータAのシートに張り合わせた時)、1週間に要する行数が違うので1行ずつずれてしまいます。

1週間に要する行数の違いだけでなく、マーケットが休みの日はデータそのものがないため日付が存在しません。(マーケットの休みもおのおの別の日でバラバラです。)

これらの理由により、ただ単に張り合わせるだけだとずれが広がるばかりです。

そこでデータAの日付とデータBの日付を認識して一致させる関数を教えて欲しいと思います。

データAの構成はA1=日付、B1=始値、C1=高値、D1=安値、E1=終値で、データBの構成も同じです。
データAのF1にデータAのA1と同じ日付のデータBの行を貼り付るように設定したいと思っています。

説明が分かり辛い場合は補足しますので、その際はご指摘下さい。

宜しくお願いします。

エクセルのワークシートAの1列目(A列)の日付と、ワークシートBの1列目(A列)の日付を一致させて1つのワークシートに纏める方法を探しています。

2つの時系列データがあるのですが、データA(為替データ)とデータB(株式データ)のデータ管理方法が下記のように異なっています。

データA(為替データ)・・・1週間のうち6日間(月曜から土曜まで)
データB(株式データ)・・・1週間のうち5日間(月曜から金曜まで)

おのおのワークシートのA列に日付が入っています。

データAは月曜から土曜までなので、1...続きを読む

Aベストアンサー

誤記がありましたね。ごめんなさい。

シートCのA2に
2010/1/1
を置いて下向けにえいやっとオートフィルドラッグ,365日の日付を並べておいて
B2:為替
=IF(COUNTIF(為替!$A:$A,$A2),VLOOKUP($A2,為替!$A:$E,COLUMN(B2)),"")
を右に下にコピー。
F2:株式
=IF(COUNTIF(株式!$A:$A,$A2),VLOOKUP($A2,株式!$A:$E,COLUMN(B2)),"")
を右に下にコピー。

これでマーケットの開いてなかった日付がエラーになることもありませんので,追加のご質問も解消でしょうか。

Qエクセルで、A列に日付をB列に曜日、C列からF列までにデータを入れるよ

エクセルで、A列に日付をB列に曜日、C列からF列までにデータを入れるように作成しています。
条件付書式で土日祭日の場合はC列からF列に色を表示させています。
この色付セル(土日祭日)の場合にはデータ入力が無いので自動で0を表示させ、なおかつデータ入力が出来ないようにしたいのですが、そのようなことは出来るでしょうか。エクセルは2003を使ってます。

Aベストアンサー

C2セルに以下の数式を入力します。

=IF(AND($A2<>"",WEEKDAY($A2,2)>5),0,"")

同様にC2セルに以下の入力規則を設定します。

「データ」「入力規則」で「ユーザー設定」にして数式欄に以下の式を入力します。

=WEEKDAY($A2,2)<6

最後にC2セルを右方向および下方向にオートフィルします。

Q例えば、AさんからGさんまでがA列に縦に並んでいてB列に数字が入っています。B列にある数字の合計をA

例えば、AさんからGさんまでがA列に縦に並んでいてB列に数字が入っています。B列にある数字の合計をA-Gさん別々に出したいんですが簡単なvbaの記述方法はないでしょうか?
お願いします。

Aベストアンサー

こんばんは!

A列のA~Gさんは複数存在しているのでしょうか?
そうであればSUMIF関数で対応できると思いますが、VBAをお望みだというコトですので
一例です。

元データはSheet1にあり、Sheet2に表示するとします。
尚、Sheet1の1行目は項目行でデータは2行目以降にあるという前提です。
標準モジュールにしてください。

Sub Sample1()
Dim lastRow As Long, wS As Worksheet
Set wS = Worksheets("Sheet2")
wS.Cells.ClearContents
With Worksheets("Sheet1")
.Range("A:A").AdvancedFilter Action:=xlFilterCopy, copytorange:=wS.Range("A1"), unique:=True
lastRow = wS.Cells(Rows.Count, "A").End(xlUp).Row
With Range(wS.Cells(2, "B"), wS.Cells(lastRow, "B"))
.Formula = "=SUMIF(Sheet1!A:A,A2,Sheet1!B:B)"
.Value = .Value
End With
End With
End Sub

こんな感じではどうでしょうか?m(_ _)m

こんばんは!

A列のA~Gさんは複数存在しているのでしょうか?
そうであればSUMIF関数で対応できると思いますが、VBAをお望みだというコトですので
一例です。

元データはSheet1にあり、Sheet2に表示するとします。
尚、Sheet1の1行目は項目行でデータは2行目以降にあるという前提です。
標準モジュールにしてください。

Sub Sample1()
Dim lastRow As Long, wS As Worksheet
Set wS = Worksheets("Sheet2")
wS.Cells.ClearContents
With Worksheets("Sheet1")
.Range("A:A...続きを読む

QExcelを分割 A列には日付、A列以外には営業担当者や商品や金額などが入力された列があります。 営

Excelを分割

A列には日付、A列以外には営業担当者や商品や金額などが入力された列があります。

営業担当者毎に、ファイルを分割するマクロをおしえてください。10人いれば、10ファイルできることになります。

営業担当者が入力されている列が資料により、異なるので、C列に営業担当者が入っている場合は、それをセルとかに入力して指定できる様にしたいです。

また、ファイルの出力先も指定できる様にしたいです。

よろしくお願いします。

Aベストアンサー

No.2 mike_gさんの質問ですが、回答者側から言わせてもらうと非常に重要なことです。
何故なら、質問者のレベルに合わせて回答しないと何の役にも立たないからです。
今回は、マクロの知識があると云うことなので、その前提で回答させていただきました。
こんな感じです。

Sub sample()
Set ws = ActiveSheet
ce = Range("営業担当者セル").Value
fp = Range("出力先").Value
Set d = CreateObject("Scripting.Dictionary")
For i = 1 To Cells(Rows.Count, ce).End(xlUp).Row
Set d.Item(Cells(i, ce).Value) = Cells(i, ce)
Next i
For Each i In d.keys
ws.Copy
Columns(ce).ColumnDifferences(d.Item(i)).EntireRow.Delete
ActiveWorkbook.SaveAs Filename:=fp & "\" & i & ".xlsx"
ActiveWorkbook.Close
Next i
End Sub

No.2 mike_gさんの質問ですが、回答者側から言わせてもらうと非常に重要なことです。
何故なら、質問者のレベルに合わせて回答しないと何の役にも立たないからです。
今回は、マクロの知識があると云うことなので、その前提で回答させていただきました。
こんな感じです。

Sub sample()
Set ws = ActiveSheet
ce = Range("営業担当者セル").Value
fp = Range("出力先").Value
Set d = CreateObject("Scripting.Dictionary")
For i = 1 To Cells(Rows.Count, ce).End(xlUp).Row
Set d...続きを読む


このカテゴリの人気Q&Aランキング

おすすめ情報