[[20160311145720]] 『条件付き書式が長すぎてしまう件』(黄色いしっぽ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『条件付き書式が長すぎてしまう件』(黄色いしっぽ)

「ワークシート関数の入ったセルを使わずに条件付き書式を使いたい。どなたかお願いします。

 A1に"A" C1に"B" E1に"A" それぞれ任意にAかBかCが入ります
 G1にワークシート関数
   IF(A1="A",3,IF(A1="B",2,IF(A1="C",1)))+IF(C1="A",3,IF(C1="B",2,IF(C1="C",1)))+IF(E1="A",3,IF(E1="B",2,IF(E1="C",1)))

 で値が8です。

 H1に任意のA・B・Cが入ります。

 H1の条件付き書式に

  =OR(AND(H1="A",G1<>8,G1<>9),AND(H1="B",G1<>8,G1<>7,G1<>6,G1<>5),AND(H1="C",G1<>5,G1<>4,G1<>3))

 このときG1の数式を使わないでH1の条件付き書式を作る場合はH1の"式のG1"にすべて
 にG1の関数を入れればいいかとおもいますが、とても長すぎて大変です。
 なにか良い方法がありますでしょうか。

 ご教授よろしくお願いします。

< 使用 Excel:Excel2003、使用 OS:Windows8 >


 関数音痴なのですが、数値じゃなくて文字として扱っては?

 8の組み合わせは「AAB,ABA,BAA」で、9はAAAしかないわけですよね?
 だから
 =AND(H1="A",G1<>8,G1<>9)
 は
 =AND(H1="A",NOT(OR(A1&C1&E1={"AAB","ABA","BAA","AAA"})))
 このように置き換えられませんか?
 他も同じように考えれば少しだけ短くなる?
(稲葉) 2016/03/11(金) 16:12

 > A1に"A" C1に"B" E1に"A" それぞれ任意にAかBかCが入ります
 > H1に任意のA・B・Cが入ります。

 実際も、A、B、C なんでしょうかねぇ?
 それはあくまでサンプルで、現物は似ても似つかない・・なんて事にならなければいいのですが。

 1.Ctrlキー + PH3キーを押して「名前の定義」ダイアログを出し、以下の名前を登録する

 名前、    参照範囲
 condition  =LOOKUP(SUM(FIND(T(OFFSET(Sheet2!$A1,0,{0,2,4}))," CBA")-1),CHOOSE(FIND(Sheet2!$H1," ABC")-1,{0,1;8,0},{0,1;5,0;9,1},{0,1;3,0;6,1}))

 2.H1セルに以下の条件付き書式を設定する
  条件式→「=condition」

(半平太) 2016/03/11(金) 19:29


コメントありがとうございます。

稲葉さんなるほどです、ABCの組み合わせは27とおり?なので、なんとかなりそうです。
試してみたいとおもいます。

半平太さん ありがとうございます。実力不足で理解できません^^; じっくり検証しようと思います。

>現物は似ても似つかない・・
じつは通知票で1学期・2学期・3学期の評価ABC で年間評価のABCを間違えて評価させないために条件を
つけたかったのです。

AAAやAABの場合は評価AかBであってCにはならないように
BBBやABCの場合に評価AやCにならないようにです。

理解出来るように努力したいと思います。

(黄色いしっぽ) 2016/03/11(金) 22:17


 > 試してみたいとおもいます。

 試してみればわかると思いますけど、条件付き書式に配列定数は使えないでしょう。
 
 
 A1、C1、E1、H1の表示形式をユーザー定義で

 [=1]"C";[=2]"B";"A"

 入力規則で「1〜3」以外は入力できないようにしておけば、
 表示は、3 を入力すると「A」、2 を入力すると「B」、1 を入力すると「C」になる。

 A1、C1、E1の合計は =SUM(A1,C1,E1) で出るので、
 条件付き書式の数式は

 =OR(AND(H1=3,SUM(A1,C1,E1)<8),AND(H1=2,OR(SUM(A1,C1,E1)=9,SUM(A1,C1,E1)<5)),AND(H1=1,SUM(A1,C1,E1)>5))

 または

 =OR(AND(H1=3,SUM(A1,C1,E1)<8),AND(H1=2,AND(SUM(A1,C1,E1)<>ROW($5:$8))),AND(H1=1,SUM(A1,C1,E1)>5))

 こんな感じでできると思うんですけど、ダメですかね?(却下でしょうね・・・たぶん)
 
 
 ところでG1を使いたくない理由は何なんですか?

 > =IF(A1="A",3,IF(A1="B",2,IF(A1="C",1)))+IF(C1="A",3,IF(C1="B",2,IF(C1="C",1)))+IF(E1="A",3,IF(E1="B",2,IF(E1="C",1)))

 たぶん ↓ でも同じ結果になります。

 =SUM(68-CODE(A1),68-CODE(C1),68-CODE(E1))

 3つのセルが全部埋まらず、空白になる場合もあるんだったら

 =SUM(68-CODE(A1&"D"),68-CODE(C1&"D"),68-CODE(E1&"D"))

 とか。

 参考まで。
(笑) 2016/03/12(土) 13:24

笑さん ありがとうございます。試してみましたがだめでした>< 悲しい・・

表示形式は実は考えましたが、これまでの慣例上残念ながら却下です、複数の教師が入力するため
極力これまでの形式をかえたくないのです、すみません。

 >ところでG1を使いたくない理由は何なんですか?

G1は条件付き書式を作るためのサンプルでした。(一気に作れなかったので)

実際は

      一学期  二学期・・・年間    一学期
   国 語            数 学    ・・・
名前 AAAA   BBBB    BBBB    CCC       ・・・
名前 BBBB      CCCC        CCCC      AAA    ・・・

と連続していてG1を確保出来るスペースがないことと、とった場合に結構な数を必要とするためです。
教科☓(項目☓3〜4)

参考に作って頂いた式などを考慮して考えたいと思います。
ありがとうございました。

(黄色いしっぽ) 2016/03/12(土) 15:41


 実際は、A1・C1・E1のように飛び飛びではなく、A1・B1・C1のように連続してる、ということ?

 で、その「AAAA」とか「AAA」とか「BBBB」というのは何なんですか?
 学期ごと、1つの教科に3〜4列を使ってる、てこと?
 だとして、1つのセルには「A」「B」「C」の1文字しか入力しないんですか?

 ・1〜3学期は、A1:C1のように連続している
 ・評価は「A」「B」「C」の1文字3種類のみ
 だとすれば、A1:C1の合計は

 =SUM(68-CODE(A1:C1&"D"))
 とか
 =SUM(FIND(A1:C1," CBA")-1)
 とか

 ↑ を条件付き書式ではなく、セルに直接入力して確認する場合は、Ctrl+Shift+Enter で確定すること!

 判定基準がわからないけど、最初の質問通りなら
 条件付き書式の数式(1〜3学期が「A1:C1」、年間が「D1」だとして)

 =OR(AND(D1="A",SUM(68-CODE(A1:C1&"D"))<8),AND(D1="B",AND(SUM(68-CODE(A1:C1&"D"))<>ROW($5:$8))),AND(D1="C",SUM(68-CODE(A1:C1&"D"))>5))

 参考まで。
(笑) 2016/03/12(土) 21:08

 ↑ 違いますね。

 年間も3〜4列に分けてるってこと?

 変に簡略化せずに実際の表に即して説明した方がいいですよ。

 判定基準も最初の質問とは違うんでしょ?
(笑) 2016/03/12(土) 21:17

 教科の項目別に判定するってことですか?

 ということは、やっぱり飛び飛びのセルを合計するんですよね?

 上の回答を削除したかったんですけど、編集できないので、何度もすみません。

 返事もらっても、もう回答しないと思います・・・たぶん。
(笑) 2016/03/12(土) 21:30

 条件付き書式に配列定数が使えない・・・
 すみません、知りませんでした。
 ご指摘ありがとうございました。
(稲葉) 2016/03/13(日) 10:57

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.