JPEGの画像添付しました。この画像にあるデーターから、条件に会うものだけを抽出してまとめて表示したいと思っています。約1500名程度分です。また、壱・弐・参ともに0~100までの範囲内になっています。
条件について
1. 壱 20以上 弐 4以上 参 10以上 これは、無と表示する
但し 壱 20以上 弐 10以上 参 1~9であれば、これは、無と表示する
2. 壱 0 弐 0 参 0 壱・弐・参のいずれかに0があれば再と表示する
3. 壱 19以下 弐 4以上 参 10以上 これは、再と表示する
4. 壱 20以上 弐 3以下 参 10以上 これは、再と表示する
5. 壱 9以下 弐 9以下 参 9以下 これは、再と表示する
6. 壱 9以下 弐 9以下 参 10以上 これは、再と表示する
7. 壱 9以下 弐 10以上 参 9以下 これは、再と表示する
8. 壱 20以上 弐 9以下 参 9以下 これは、再と表示する
9. 壱 19以下 弐 9以下 参 9以下 これは、再と表示する
No.1
- 回答日時:
何をしたいのイマイチ理解できませんでしたが、要するに「無」とか「再」を表示したいという事でしょうか?
壱、弐、参がそれぞれE列、F列、G列だとしたら、再・無を表示したいセル(J2セル?)に↓の式を入れて下にコピーしてください。
=IF((2*(E2>=20)+(F2>=4)+(F2>=10)+(G2>=1)+(G2>=10))>=5,"無","再")
この回答への補足
なるほど、理解できない問い合わせになってしまいました。この関数で出来ました。ありがとうございました。
1. 但し、もう少しお願いしてよろしいですか、データーの黄色で示した部分が自動的に黄色になる。
2. また、弐の列の条件(4以上10未満)オレンジ色になるようにするにはどのようにしたらできるで しょうか。さらに、色で示されたものを自動的に上の方でまとめて表示させたい(降順)とするなら ば、どのようにしたらよいでしようか。
3. もっというと、受験番号順のシートデーターができていて、そのデーターが別シートに自動的に移っ て降順のデーターが出来上がっている状態にできませんか。
以上のことについて、如何なものでしようか。初心者で大変申し訳ありませんが、ご回答頂けると有り難いです。また、Microsoft Office Excel 2003を使っています。
No.2
- 回答日時:
> 1. 但し、もう少しお願いしてよろしいですか、データーの黄色で示した部分が自動的に黄色になる。
> 2. また、弐の列の条件(4以上10未満)オレンジ色になるようにするにはどのようにしたらできるで
> しょうか。さらに、色で示されたものを自動的に上の方でまとめて表示させたい(降順)とするなら
> ば、どのようにしたらよいでしようか。
1と2の色を付ける部分は条件付き書式を使います。
難しくありませんし、Excelの基本操作の1つですので、ご自分でヘルプやExcel解説サイト等を見て調べてください。
壱列の条件はセル値が20未満なら黄色に塗りつぶす設定。
弐列は、条件を2つ使い、4未満なら黄色、10未満ならオレンジと設定。
参列の条件は10未満なら黄色に塗りつぶす設定です。
並べ替えは、色を条件には出来ません。どこかの列の値を使って並べ替えます。
> 3. もっというと、受験番号順のシートデーターができていて、そのデーターが別シートに自動的に移っ
> て降順のデーターが出来上がっている状態にできませんか。
マクロを組めば出来ますが、マクロ作成に必要な情報が少なすぎますし、失礼ですが現時点でそこまでのサンプルを作っても実際のブックやシートに合わせるための修正が出来るとも思えません。
今後の課題とされた方がよろしいかと……。
No.3
- 回答日時:
関数を使いifを使って入力すると、確かに簡単便利に出来ます。
しかし、途中で条件変更が生じた時を考えてください。関数式をじーっと見て、条件1~9と照らし合わせて、自力で変更出来ますか?マクロにしておいた方が変更すべき場所が明白だと思います。使い方
1.エクセル上でAlt+F11を押すとVBE(Visual Basic Editor)が立ち上がる
2.左上のウインドウ(VBA Projectとか書いてる)で「標準モジュール」を右クリック→挿入→標準モジュール(Module1が挿入される)
3.Module1をダブルクリック
4.右側の空間に下記マクロをコピペする
5.条件5~8を要領に従って記入
6.色指定を同じく記入(条件指定が無いため途中になってます)
7.VBE画面を閉じる
8.ブックをマクロ付ブック(.xlsm)で保存。excel2003は.xlsでしたか?
9.処理したいシートを選び、Alt+F8→TestResultを選択→実行
(このブックが開いてあれば、処理するシートは別ブックでも可能)
色指定は分りにくかったら、マクロでなく他回答のように条件付書式を使ってください。その場合、下記マクロの色指定部分は削除してください。
老婆心ながら、初回実行はどうなってもいい別ファイルで試してください。失敗して復旧出来ない可能性もありますから。特に条件付書式が設定されてると、そちらが優先になります。
Sub TestResult()
Dim i As Long, LastRow As Long
LastRow = Cells(Rows.Count, "A").End(xlUp).Row
'前回計算の無再判定のクリアと、色指定のクリア
Range("J2:J" & LastRow).ClearContents
Range("E2:J" & LastRow).Interior.ColorIndex = 0
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
For i = 2 To LastRow
'無再の判定
If (Cells(i, "E") >= 20 And Cells(i, "F") >= 4) And Cells(i, "G") >= 10 Then '条件1
Cells(i, "J") = "無"
ElseIf ((Cells(i, "E") >= 20 And Cells(i, "F") >= 10) And Cells(i, "G") >= 1) And Cells(i, "G") <= 9 Then '条件1の2
Cells(i, "J") = "無"
ElseIf (Cells(i, "E") = 0 Or Cells(i, "F") = 0) Or Cells(i, "G") = 0 Then '条件2
Cells(i, "J") = "再"
ElseIf (Cells(i, "E") <= 19 And Cells(i, "F") >= 4) And Cells(i, "G") >= 10 Then '条件3
Cells(i, "J") = "再"
ElseIf (Cells(i, "E") >= 20 And Cells(i, "F") <= 3) And Cells(i, "G") >= 10 Then '条件4
Cells(i, "J") = "再"
'同じ要領で条件9まで全部入力する
ElseIf (Cells(i, "E") <= 19 And Cells(i, "F") <= 9) And Cells(i, "G") <= 9 Then '条件9
Cells(i, "J") = "再"
End If
'壱の列の色指定
'i行E列が指定の条件を満たす場合、色を黄色にする
If Cells(i, "E") >= 4 And Cells(i, "E") < 10 Then
Cells(i, "E").Interior.ColorIndex = 6 '6は黄色
Cells(i, "J").Interior.ColorIndex = 6 '無再判定も黄色
End If
'同じ要領でオレンジ色指定(46)を入力
'セル説明
' Cells(i,"E")は「i行E列」を示す。iは変数なので""不要
'色指定ここまで
Next i
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
この回答への補足
ありがとうございます、ご協力を感謝しています。下記のように補足と訂正をやったつもりですが、このような補足と訂正でよかったのでしょうか。再・無の表示や色もついてきません。間違っているのでしょうか、大変申し訳ありませんが再度みて頂きたいのですが、よろしくお願い致します。
Sub TestResult()
Dim i As Long, LastRow As Long
LastRow = Cells(Rows.Count, "A").End(xlUp).Row
Range("J2:J" & LastRow).ClearContents
Range("E2:J" & LastRow).Interior.ColorIndex = 0
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
For i = 2 To LastRow
If (Cells(i, "E") >= 20 And Cells(i, "F") >= 4) And Cells(i, "G") >= 10 Then '条件1
Cells(i, "J") = "無"
ElseIf ((Cells(i, "E") >= 20 And Cells(i, "F") >= 10) And Cells(i, "G") >= 1) And Cells(i, "G") <= 9 Then '条件1の2
Cells(i, "J") = "無"
ElseIf (Cells(i, "E") = 0 Or Cells(i, "F") = 0) Or Cells(i, "G") = 0 Then '条件2
Cells(i, "J") = "再"
ElseIf (Cells(i, "E") <= 19 And Cells(i, "F") >= 4) And Cells(i, "G") >= 10 Then '条件3
Cells(i, "J") = "再"
ElseIf (Cells(i, "E") >= 20 And Cells(i, "F") <= 3) And Cells(i, "G") >= 10 Then '条件4
Cells(i, "J") = "再"
ElseIf (Cells(i, "E") <= 9 And Cells(i, "F") >= 9) And Cells(i, "G") >= 9 Then '条件5
Cells(i, "J") = "再"
ElseIf (Cells(i, "E") >= 9 And Cells(i, "F") <= 9) And Cells(i, "G") >= 10 Then '条件6
Cells(i, "J") = "再"
ElseIf (Cells(i, "E") <= 9 And Cells(i, "F") >= 10) And Cells(i, "G") >= 9 Then '条件7
Cells(i, "J") = "再"
ElseIf (Cells(i, "E") >= 20 And Cells(i, "F") <= 9) And Cells(i, "G") >= 9 Then '条件8
Cells(i, "J") = "再"
ElseIf (Cells(i, "E") <= 19 And Cells(i, "F") <= 9) And Cells(i, "G") <= 9 Then '条件9
Cells(i, "J") = "再"
End If
If Cells(i, "E") >= 4 And Cells(i, "E") < 10 Then
Cells(i, "E").Interior.ColorIndex = 6 '6は黄色
Cells(i, "J").Interior.ColorIndex = 6 '無再判定も黄色
If Cells(i, "F") >= 4 And Cells(i, "F") < 10 Then
Cells(i, "F").Interior.ColorIndex = 6 '6は黄色
Cells(i, "J").Interior.ColorIndex = 6 '無再判定も黄色
If Cells(i, "F") >= 4 And Cells(i, "F") < 10 Then
Cells(i, "F").Interior.ColorIndex = 46 '46はオレンジ色
Cells(i, "J").Interior.ColorIndex = 46 '無再判定も黄色
If Cells(i, "G") >= 4 And Cells(i, "G") < 10 Then
Cells(i, "G").Interior.ColorIndex = 6 '6は黄色
Cells(i, "J").Interior.ColorIndex = 6 '無再判定も黄色
End If
Next i
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
No.4
- 回答日時:
修正しました。
・全角文字を半角に変更
・色指定部分にEnd Ifを追加
Sub TestResult()
Dim i As Long, LastRow As Long
LastRow = Cells(Rows.Count, "A").End(xlUp).Row
Range("J2:J" & LastRow).ClearContents
Range("E2:J" & LastRow).Interior.ColorIndex = 0
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
For i = 2 To LastRow
If (Cells(i, "E") >= 20 And Cells(i, "F") >= 4) And Cells(i, "G") >= 10 Then '条件1
Cells(i, "J") = "無"
ElseIf ((Cells(i, "E") >= 20 And Cells(i, "F") >= 10) And Cells(i, "G") >= 1) And Cells(i, "G") <= 9 Then '条件1の2
Cells(i, "J") = "無"
ElseIf (Cells(i, "E") = 0 Or Cells(i, "F") = 0) Or Cells(i, "G") = 0 Then '条件2
Cells(i, "J") = "再"
ElseIf (Cells(i, "E") <= 19 And Cells(i, "F") >= 4) And Cells(i, "G") >= 10 Then '条件3
Cells(i, "J") = "再"
ElseIf (Cells(i, "E") >= 20 And Cells(i, "F") <= 3) And Cells(i, "G") >= 10 Then '条件4
Cells(i, "J") = "再"
ElseIf (Cells(i, "E") <= 9 And Cells(i, "F") >= 9) And Cells(i, "G") >= 9 Then '条件5
Cells(i, "J") = "再"
ElseIf (Cells(i, "E") >= 9 And Cells(i, "F") <= 9) And Cells(i, "G") >= 10 Then '条件6
Cells(i, "J") = "再"
ElseIf (Cells(i, "E") <= 9 And Cells(i, "F") >= 10) And Cells(i, "G") >= 9 Then '条件7
Cells(i, "J") = "再"
ElseIf (Cells(i, "E") >= 20 And Cells(i, "F") <= 9) And Cells(i, "G") >= 9 Then '条件8
Cells(i, "J") = "再"
ElseIf (Cells(i, "E") <= 19 And Cells(i, "F") <= 9) And Cells(i, "G") <= 9 Then '条件9
Cells(i, "J") = "再"
End If
If Cells(i, "E") >= 4 And Cells(i, "E") < 10 Then
Cells(i, "E").Interior.ColorIndex = 6 '6は黄色
Cells(i, "J").Interior.ColorIndex = 6 '無再判定も黄色
End If
If Cells(i, "F") >= 4 And Cells(i, "F") < 10 Then
Cells(i, "F").Interior.ColorIndex = 6 '6は黄色
Cells(i, "J").Interior.ColorIndex = 6 '無再判定も黄色
End If
If Cells(i, "F") >= 4 And Cells(i, "F") < 10 Then
Cells(i, "F").Interior.ColorIndex = 46 '46はオレンジ色
Cells(i, "J").Interior.ColorIndex = 46 '無再判定も黄色
End If
If Cells(i, "G") >= 4 And Cells(i, "G") < 10 Then
Cells(i, "G").Interior.ColorIndex = 6 '6は黄色
Cells(i, "J").Interior.ColorIndex = 6 '無再判定も黄色
End If
Next i
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
色判定のF列は、黄色とオレンジの判定が全く同じなので、このままでは黄色が無くても同じになります。編集途中と思っていいのでしょうか?
無再判定と色指定で使うIf文についてですが、以下の2種類があります。あなたの求める仕様で決めてください。重複が無いなら最初のIf~ElseIfでいいと思います。
If ○○ then
処理1
ElseIf ×× then
処理2
ElseIf △△ then
処理3
End If
順番に条件判定し、条件○○が該当しなければ××を判定、該当なければ条件△△を判定、もし××で該当すれば処理2を行いIf文終了。条件△△や処理3は無視
If ○○ then
処理1
EndIf
If ×× then
処理2
EndIf
If △△ then
処理3
End If
順番に全部条件判定する。例えば条件××に該当したら処理2を行い、残り条件△△も判定する。
この回答への補足
誠にありがとうございます。それに申し訳ありません、ここまでして頂き恐縮しています。それで、ここまでやって頂きながら恐縮なのですが「再・無」のところは、「条件付き書式」で処理した方がよいのではと思っています。
なお、すべて空欄の部分が発生した時は「欠」が入るように追加できませんか、勝手なお願いですが、よろしくお計らい下さいますようお願いします。
下記のマクロはレアケースのところだと思いますが、「再・無」も表示されないところがありましたので、追加したら表示されましたので、そのようにしてみました。初心者なもので、ほぼマクロの知識がないことはおわかりと思います。丁寧にご対処下さりありがとうございます。幾重にもお詫び致します。
ElseIf ((Cells(i, "E") <= 19 And Cells(i, "F") >= 4) And Cells(i, "G") >= 1) And Cells(i, "G") <= 9 Then '条件9の2
Cells(i, "J") = "再"
No.5
- 回答日時:
条件付き書式
再無の色指定を条件付き書式で行うのは適正だと私も思います。ただ、再無の表示は出来ません。あくまで色等の書式のみです。あ、再無の文字の代わりに色指定するのですか?それなら可能です。
欠の表示
再無判定のIf分の最後の部分、条件9とEndifの間に下記を追加します。条件1-9どれにも該当しなかった場合の処理です。
Else
Cells(i,"J")="欠"
条件9-2の追加
追加自体は条件9の下にでも入れたら大丈夫です。しかし、条件9-2と条件3を合わせると「壱が19以下、弐が4以上なら、参の値に関わらず再」になりませんか?だとしたら、追加するより条件3を修正する方が早いと思います。
この回答への補足
いつもいつも大変申し訳ありません。
欠の表示
再無判定のIf分の最後の部分、条件9とEndifの間に下記を追加します。条件1-9どれにも該当しなかった場合の処理です。
Else
Cells(i,"J")="欠"
上記のようにやりましたが、「再」が「欠」になりません。条件の9の後にしたのですが・・・。それで、E列・F列・G列が空欄だったら、「欠」になるようにしたらできるのではと思いますが・・・・・・。すみません、わからない人間が失礼なこといいまして、申し訳ありません。ご回答よろしくお願いします。
No.6ベストアンサー
- 回答日時:
まず、前回回答の欠の表示部分を取り消します。
元に戻して下さい。確認ですが、処理したい内容を正確に書くと、以下の条件でいいのですか?
「E列F列G列のうち、少なくとも1個以上が空欄の場合、J列を「欠」にする」
マクロ上の方を下記のように修正してください。
修正前
For i = 2 To LastRow
If (Cells(i, "E") >= 20 And Cells(i, "F") >= 4) And Cells(i, "G") >= 10 Then '条件1
修正後
For i = 2 To LastRow
If (Cells(i, "E") = "" Or Cells(i, "F") = "") Or Cells(i, "G") = "" Then '条件9-2
Cells(i, "J") = "欠"
ElseIf (Cells(i, "E") >= 20 And Cells(i, "F") >= 4) And Cells(i, "G") >= 10 Then '条件1
修正内容
・空欄処理の2行追加
・条件1のIfをElseIfに変更
最後でなく最初に挿入した理由は、将来的に条件式変更があった場合に備えてです。
例えば条件4の参の条件が消えた場合、G列が空欄であっても「再」表示になる等を避けるためです。
厚かましいですが、実は「文字が緑色のファイルが開けなくなり、困っています」の質問をしています。これも、以前のデーターを開けなくなっています。半分あきらめています、不可能なことのようです。
このことはさておき、完成できました。色々とありがとうございました。でも、こんなに協力して頂いたこと衷心より感謝申し上げます。今後とも、よろしくお願い致し致します。幾重にもお礼申し上げます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 外国株 つみたてNISAでパッとしないファンドはどうすべき? 壱 5 2023/01/31 20:43
- その他(税金) 山口県のコロナ交付金の「チョンボ入金」。 究極的に言って「役場が悪い」? 「逃げてる人が悪い?」。 6 2022/05/18 15:33
- 伝統文化・伝統行事 異常な円安を終わらせる(ドル円が100~110円台に戻る)には。 7 2022/10/22 00:50
- Excel(エクセル) エクセルで対象日に該当するデータがある場合に別表へ全対象者を表示させたい。 3 2023/07/12 09:48
- 教えて!goo 「教えて!gooは、精神年齢が低い~」等の「質問」が散見されますが、そうでしょうか? 6 2022/05/17 04:49
- 俳優・女優 中村壱太郎家系図 中村壱太郎 1 2023/05/26 15:26
- HTML・CSS HTMLの条件によって表示方向が切り替わる実装のコードを教えて下さい。 (コードは下記リンクを参照) 1 2022/09/25 14:35
- Photoshop(フォトショップ) イメージデータの実態について 1 2022/10/11 11:56
- 飲食店・レストラン CoCo壱の10辛と蒙古タンメン北極ラーメンはどっちが辛いと思いますか? CoCo壱10辛が1300 2 2022/07/30 01:25
- Visual Basic(VBA) Excelのマクロコードについて教えてください 1 2022/03/27 12:02
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのセルにFALSEが...
-
Accessのクエリの条件付けの際...
-
x,yが有理数であることは、x+y...
-
IF関数を使って3つ以上のある...
-
エクセルの関数DSUMについて
-
EXCEL・複数条件がある場合のCO...
-
答えは?
-
Excel 複数の条件で空白の数を...
-
田舎の人はコミュニケーション...
-
職場などで時間が経つほど関係...
-
FAXの送り方
-
受刑者が興奮したら刑務官は怒...
-
夕方飛んでるものはコウモリ?
-
身体検査のとき興奮したら
-
病院見学に行ってお礼状書きた...
-
外泊を許してくれない夫
-
警察学校について
-
刑務官は駐車場無料?光熱費タダ?
-
イジメられっ子は、どうして努...
-
刑務官宿舎
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルのセルにFALSEが...
-
Accessのクエリの条件付けの際...
-
FileMakerのcase関数の作り方
-
IF関数を使って3つ以上のある...
-
建築を勉強しているものです。 ...
-
答えは?
-
関数の違いを教えてください
-
ベストアンサーを選ばす質問を...
-
同じ式の中にIF関数を2回使う
-
エクセルの関数DSUMについて
-
EXCEL・複数条件がある場合のCO...
-
リフロー炉の急激な温度上昇に...
-
エクセルの数式である文字を含...
-
教えてgooでは、ベストアンサー...
-
女子高生に貢ぎたいひといます?
-
エクセル 計算式 手数料計算
-
エクセルにて
-
x,yが有理数であることは、x+y...
-
ウイニングポスト7 マキシマ...
-
エクセル 関数の複数条件設定...
おすすめ情報