エクセル2003を使っています。
F列に科目名が入っています。
その科目名によってM列の値を見て、N列に返す値が変わってきます。
その処理を2行目から最下行迄、繰り返し処理をしたいと思っています。
例えば、2行目のF列が数学、M列が100と入ってたとします。
数学の場合、M列の値が179以下なら、N列は空白で180以上なら「期限切れ」とN列に表示させたいと思います。
この場合、M列が100なのでN列は空白にしたいと思います。
次に3行目が国語で、M列が377とします。
国語の場合、M列が364以下ならN列は空白で、365以上なら「期限切れ」とN列に表示させたいと思います。
この場合、M列が377なので、N列は期限切れにしたいと思います。
このようなことをVBAでしたいと思います。
どうすれば良いでしょうか?
よろしくお願いします。
No.1
- 回答日時:
VBAにする必要は全くないように思います。
次のようにすることで比較的容易にできますね。
はじめにデータベースとして例えばP2セルに数学と入力し、Q2セルには180と入力します。P3セルには国語と入力し、Q3セルには365と入力します。以下の行についても科目ごとに入力します。
その上でN2セルには次の式を入力し下方にオートフィルドラッグすればよいでしょう。
=IF(M2="","",IF(M2<VLOOKUP(F2,P:Q,2,FALSE),"","期限切れ"))
No.2ベストアンサー
- 回答日時:
こんばんは!
参考になるかどうか分かりませんが・・・
科目数がいくつあるか分からないので
↓の画像のように表を作ってみました。
(数学と国語だけならIF関数で対応できるとおもいますが・・・)
Sheet2のA~C列は空白と期限切れの境界値を入力しておきます。
(実際はC列だけでOKですが、理解しやすいように範囲を表示してみました)
尚、最大値がいくつになるか分からないので、とりあえず1000までのデータとしています。
そして、Sheet1の
N2セル =IF(INDEX(Sheet2!$D$2:$G$4,MATCH(M2,Sheet2!$C$2:$C$4,-1),MATCH(F2,Sheet2!$D$1:$G$1,0))=0,"",INDEX(Sheet2!$D$2:$G$4,MATCH(M2,Sheet2!$C$2:$C$4,-1),MATCH(F2,Sheet2!$D$1:$G$1,0)))
としてオートフィルで下へコピーします。
これで希望に近い形にならないでしょうか?
以上、お役に立てれば幸いですが、
的外れの回答なら無視してくださいね。m(__)m
No.3
- 回答日時:
マクロです
Sub test()
Dim 科目名 As String
Dim M列 As Integer
Dim N列 As String
Dim i As Long
For i = 2 To Range("F65536").End(xlUp).Row
科目名 = Cells(i, 6).Value
M列 = Cells(i, 13).Value
Select Case 科目名
Case "数学"
If M列 <= 179 Then
N列 = ""
Else
N列 = "期限切れ"
End If
Case "国語"
If M列 <= 364 Then
N列 = ""
Else
N列 = "期限切れ"
End If
End Select
Cells(i, 14).Value = N列
Next i
End Sub
参考程度に
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 特定文字(数字)で行挿入、挿入された行で合計したい 2 2023/03/13 14:30
- Visual Basic(VBA) エクセルVBAで『A列』に新規で数値を入力し『B列』から右方向の空白セルにその値を貼り付ける方法 4 2022/11/05 08:37
- Visual Basic(VBA) EXCEL VBAで教えてください。 1 2022/12/22 04:20
- Excel(エクセル) Excelについて質問です(ver2019) 1 2023/06/30 21:20
- Visual Basic(VBA) エクセルVBAについて 2 2023/01/31 16:21
- Excel(エクセル) [オートフィルター]機能について 3 2023/02/04 14:32
- Excel(エクセル) 列を自動で追加したい 3 2022/07/11 12:58
- Excel(エクセル) 列の複数ある空白セルを飛ばして、セルに並べて表示したい 3 2023/02/12 16:49
- Excel(エクセル) 関数を教えてください。 2 2023/08/01 10:59
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
Microsoft 365のディフェンダー...
-
英数字のみ全角から半角に変換
-
MicrosoftOfficeの1ユーザー2...
-
MicrosoftOffice2019なんですが、
-
会社PCのメールが更新されない
-
Excel 日付を比較したら、同じ...
-
【Excel VBA】PDFを作成して,...
-
Microsoft Formsの「個人情報や...
-
outlookのメールが固まってしま...
-
Outlook で宛先が複数の場合の人数
-
Office 2021 Professional Plus...
-
エクセル関数について
-
マイクロソフト 一時使用コード...
-
エクセルの貼り付け「リンクさ...
-
Microsoft365で写真をアルバム...
-
会社のTeamsのことで相談です。...
-
officeビジネス型のワードやエ...
-
Microsoft Officeを2台目のPCに...
-
複数の写真を1枚に印刷
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
【スプレッドシート】指定の日...
-
英数字のみ全角から半角に変換
-
会社PCのメールが更新されない
-
マイクロソフト 一時使用コード...
-
Office 2021 Professional Plus...
-
エクセルで例えば、関数を使っ...
-
Microsoft Formsの「個人情報や...
-
1つのPCに「Excel 2010」「Exc...
-
エクセルで例えば、A1に㈱ベ...
-
理由を教えてください。
-
エクセルでXLOOKUP関数...
-
マイクロソフト オフィスについて
-
VLOOKUP関数について
-
teams設定教えて下さい。 ①ビデ...
-
Googleのスプレッドシートでシ...
-
【Excel VBA】PDFを作成して,...
-
Microsoft365で写真をアルバム...
-
Outlook で宛先が複数の場合の人数
-
Excel テーブル内の空白行の削除
おすすめ情報