No.8ベストアンサー
- 回答日時:
ANo.6です。
Iが抜けてました。すいません。
B1 =IF(A1="","",CHOOSE(INT(A1/10)+1,"K","J","I","H","G","F","E","D","C","B","A"))
No.11
- 回答日時:
こんにちは。
数式ですと、以下のようになります。
=CHAR(64+11-INT(MIN(100,MAX(A1,0))/10))
マクロですと、以下のような手順になります。
まず、シートモジュールにマクロを取り付けます。
・最初に、色見本用サンプルプログラム(TestColorListOut)で、色見本を作ってください。
例:
F1 にセルを置いて実行すると、F1:G11 までの範囲が使われます。
Alt + F8 で、シート名.TestColorListOut がありますから、クリックします。
色見本用カラーインデックス番号出力プログラム(TestGetColorIndex)は、人に渡すときに、使用します。
そこに出てきた番号を、TestColorListOut の中の以下の部分にコンマ区切りで書きますと、
myColorList = "54,39,33,42,34,50,4,45,40,7,3"
そのまま色が反映されます。
画面上部に、
Const 色見本セル As String = "G1:G11" 'ここに書き入れます。
とありますから、そこに、色見本で、パターンに色の付いた範囲を入れてあげます。
ここの例では、G1:G11 に色が付いていることになります。
ただし、今回は、11セルまでです。それ以上入れると、エラーが発生するかもしれません。
**************************
シート・マクロの取り付け方:
マクロを実行しようとするワークシートのシートタブ(下部のSheet1,Sheet2 ...)を右クリックすると、「コードの表示(V)」というメニューがありますから、それをクリックしてください。そして、開いた画面に、以下のコードを貼り付けて、Alt + Q で閉じれば設定は完了です。
**************************
使い方は、条件付き書式と同じです。
入力すれば、色が変わります。
'-------------------------------
'Option Explicit
'------------------------------
'イベントマクロ
'------------------------------
'画面の先頭に入れる
Const 色見本セル As String = "G1:G11" 'ここに書き入れます。
Const 設定範囲 As String = "A:A"
Dim idxColors() As Variant
Private Sub Worksheet_Change(ByVal Target As Range)
Dim dum As Variant
Dim c As Range
Dim i As Long
If Intersect(Target, Range(設定範囲)) Is Nothing Then Exit Sub
On Error GoTo ErrHandler
dum = UBound(idxColors)
Application.EnableEvents = False
For Each c In Target
If c.Value <> "" Then
i = Application.Evaluate("11-INT(MIN(100,MAX(" & c.Address & ",0))/10)")
c.Interior.ColorIndex = idxColors(i - 1)
'文字列出力
'c.Offset(, 1).Value = Chr(64 + i)
Else
c.Interior.ColorIndex = xlColorIndexNone
End If
Next c
Application.EnableEvents = True
ErrHandler:
If Err.Number = 9 Then
Call ConditionalFormat
Err.Clear
Resume Next
End If
End Sub
'-------------------------------
'色見本取得ブログラム
Sub ConditionalFormat()
Dim i As Long
Dim c As Range
ReDim idxColors(Range(色見本セル).Rows.Count)
For Each c In Range(色見本セル)
idxColors(i) = c.Interior.ColorIndex 'c.Font.ColorIndex
i = i + 1
Next c
End Sub
'===============================
'色見本用サンプルプログラム
'-------------------------------
'色見本
Sub TestColorListOut()
Dim myColorList As String
Dim ColorLists As Variant
Dim i As Integer
'色番号リスト
myColorList = "54,39,33,42,34,50,4,45,40,7,3"
ColorLists = Split(myColorList, ",")
'カーソルを先頭に置くと
With Selection.Cells(1)
For i = 0 To UBound(ColorLists)
.Offset(i, 0).Value = Chr(65 + i)
.Offset(i, 0).Font.ColorIndex = ColorLists(i)
.Offset(i, 1).Interior.ColorIndex = ColorLists(i)
Next i
End With
End Sub
'--------------------------------------------
'色見本用カラーインデックス番号出力プログラム
'--------------------------------------------
Sub TestGetColorIndex()
Const セルは何個 As Integer = 11
Dim i As Long
Dim c As Range
i = セルは何個
'カーソルを色つきパターンの上の先頭に置くと
With Selection.Cells(1)
For Each c In .Resize(i)
c.Offset(, 1).Value = c.Interior.ColorIndex
Next c
End With
End Sub
No.10
- 回答日時:
ランクわけ文字を表示なら
=IF(A1="","",IF(A1>100,"A",IF(A1<10,"K",CHAR(75-INT(A1/10)))))
ーー
2007の前は色なしを含め4色までというのは、エクセルの常識。
2007では拡張された。
ーー
>マクロ機能を使うのですね。やってみたいと思います
VBAの経験なさそうだがやれるかな。
それには結構色々な知識が要るよ。
例
A列の数について
Sub test01()
d = Range("A65536").End(xlUp).Row
For i = 1 To d
Select Case Cells(i, "A")
Case Is > 100
ci = 6
Case Is > 90
c1 = 4
Case Is > 80
ci = 8
Case Is > 70
c1 = 36
Case Is > 60
ci = 35
Case Is > 50
c1 = 34
Case Is > 40
ci = 38
Case Is > 30
c1 = 40
Case Is > 20
c1 = 24
Case Is > 10
ci = 43
Case Is > 0
ci = 14
End Select
Cells(i, "A").Interior.ColorIndex = ci
Next i
End Sub
色を11色も区別するのは難しいよ。背景色なら余り濃い色は適さないから、制約が多い。
ーー
下記実行して、色を指定してみて、C列に色コードが出るから、
考えてみてください。
Sub test02()
For i = 1 To 11
x = Application.Dialogs(xlDialogPatterns).Show
Cells(i, "C") = ActiveCell.Interior.ColorIndex
Next i
End Sub
そのコードをTst01()のコードのCaseの
それぞれの区画の
Case Is > 100
ci = 6
の ci = 6 の6などと置き換えてください。
No.9
- 回答日時:
>A~K(評価)に分けたいという意味でした。
申し訳ありませんでした。ただ、11段階に分けるだけなら、アルファベットにこだわらず
点数がA列の場合
=INT(A1/10)
下フィル(0,1,2,3,4,5,6,7,8,9,10の11段階評価)
結果を、どの様に活用するか知りませんが、総合評価で合計、グラフ表示する必要などありましたら、数値の方が便利かも。
No.7
- 回答日時:
#2です。
補足について、下記URLを参照してみて下さい。
関数のネストレベル
http://homepage3.nifty.com/hiro22219/kansu-nest. …
ExcelのVBAに挑戦しよう
http://www.ss-dc.com/tokusyu/tokusyu19.htm
No.6
- 回答日時:
例えばA1に点数があったとして、A1が空白の時はB1を空白、
それ以外の場合は判定結果を表示するとした場合、
B1 =IF(A1="","",CHOOSE(INT(A1/10)+1,"K","J","H","G","F","E","D","C","B","A"))
ではどうでしょうか?
ご回答、ありがとうございます。確かに判別いたしました。A1の数値によってB1が判定してくれます。この場合、100とA1に打ち込むとエラーになってしまいます。私のやり方がいけないのかもしれませんが、どうなのでしょうか?よろしくお願いします。
No.5
- 回答日時:
検索値に対して、ランク付け出来ればよいのでしたら
VLOOKUP関数出来ます。
C,D列に下記のリストがあるとして
C D
0 A
10 B
20 C
・
・
・
100 K
セルA1に検索値があり、セルB1に下記数式を入力
=VLOOKUP(A1,C1:D11,2)
VLOOKUP関数については、ヘルプを参照するか
下記を参考にしてください。
http://allabout.co.jp/computer/msexcel/closeup/C …
ご回答、ありがとうございます。VLOOKUPということも以前考えたことがありました。表を作ってその中から検出するといったようなものだったように思います。
今回の質問で、とにかくいろいろな関数があることが改めてわかりました。また、自分が使っているものは、ほんのわずかでしかないこともわかり、皆様には、大変感謝しております。
No.4
- 回答日時:
EXCEL2003までは3つの条件書式と条件外の書式までが限度です。
EXCEL2007でなら最大64まで設定できます。
http://office.microsoft.com/ja-jp/excel/HA100778 …
http://office.microsoft.com/ja-jp/workstyle/FX10 …
http://office.microsoft.com/ja-jp/excel/HA101655 …
※EXCEL2003までで行うとしたら、VBAで変更するようにするしかありません。
過去の質問に同様のケースの回答があります。
ご回答、ありがとうございます。EXCEL2007は、簡単に複数の条件を設定できるのですね。IF関数でも限度があり、なかなか難しいものだと実感しました。いろいろと勉強になりました。
No.2
- 回答日時:
一例です。
関数ですが
B1へ
=IF(A1=100,"A",IF(A1>79,"B",IF(A1>59,"C",IF(A1>39,"D",IF(A1>19,"E",IF(A1>9,"F","G"))))))
で、下方へオートフィル。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) エクセル 条件付き書式 日をまたぐ塗りつぶし 1 2023/01/13 18:00
- Excel(エクセル) 出勤簿の土、日、休日に色付けできない 2 2022/08/04 20:10
- Excel(エクセル) IFERROR(IF()IF())のような形の構文が作れません 2 2023/02/05 17:51
- Excel(エクセル) 「休日取得希望日」を申請したらシフト表に色付け 1 2022/04/17 14:22
- Excel(エクセル) エクセルでセルの文字列から年月を抜き出して今日の日付と比較したい 15 2022/07/29 14:39
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/03/10 08:51
- Excel(エクセル) 【!】Excel 2つの条件付き書式が反映されません。。 5 2023/07/14 16:47
- Visual Basic(VBA) vbaで条件付き書式を設定したときの適用範囲について 1 2023/07/17 23:14
- 数学 写真の問題の(4)についてですが、例えば赤のカードにおいて、他の数字は1枚ずつのままで5が2枚(他の 4 2023/07/29 03:49
- Excel(エクセル) 条件付書式 Sheet1からSheet2に転記した時の転記ミスを反映させたい 5 2022/05/21 09:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
E列のセルに数値が入れば(空白...
-
条件付き書式で、結果が1行ずれる
-
Excel にて条件付き書式の色に...
-
条件付書式で「=#N/A」に色を付...
-
Excelの条件付き書式にて空白セ...
-
エクセル 条件付き書式で色をつ...
-
条件付き書式で太罫線を引く方法
-
【エクセル】シフトで○が6個以...
-
エクセルで特定の数字等を表示...
-
セル結合させてるときの 条件...
-
エクセルの枠の中の文字が青文...
-
VBA初心者です。 VBAで行単位で...
-
ピボットテーブルオプション「...
-
エクエルで隣のセルの文字が赤...
-
エクセル内で複数の文字(50個ぐ...
-
エクセルでシート参照する場合...
-
【エクセル】シフトで○が6個以...
-
エクセルで1以上は全て1にするには
-
Excelマクロ セルに特定の文字...
-
エクセルで数値の文字色が白か...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
E列のセルに数値が入れば(空白...
-
Excel にて条件付き書式の色に...
-
条件付書式で「=#N/A」に色を付...
-
条件付き書式で、結果が1行ずれる
-
エクセルの枠の中の文字が青文...
-
エクセルで特定の数字等を表示...
-
Excelの条件付き書式にて空白セ...
-
エクセル 条件付き書式で色をつ...
-
条件付き書式で太罫線を引く方法
-
エクセル内で複数の文字(50個ぐ...
-
エクエルで隣のセルの文字が赤...
-
セル結合させてるときの 条件...
-
Excelについて あるセルに文字...
-
エクセルで一定期間が経過した...
-
条件付き書式を教えてください
-
Excelで2つのファイルを比較し...
-
エクセルで1以上は全て1にするには
-
エクセルでカーソルのある行を...
-
エクセルで日付を入力したらカ...
-
【エクセル】今日の日付に赤枠...
おすすめ情報