[[20190702222935]] 『前方一致の条件付きで書式設定 関数かマクロ』(MUMU) ページの最後に飛ぶ

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

 

『前方一致の条件付きで書式設定 関数かマクロ』(MUMU)

初めて書き込みします。
自分で考えてもなかなかうまくいかないのでどなたかお知恵をお貸しください。

頭8桁が同じ値のグループがいくつかあるコード列とそれに対して正誤列に〇×がつけられている表があります。
8桁のコードの正誤列に条件によって色を付けたいです。

コード      正誤
11122233    〇    ←色付け
11122233A    ×
11122233BB    ×
22233344    〇    ←色なし
22233344AA   〇
22233344AB   〇
33344455    × ←色付け
33344455VV    〇
33344455HH    〇
44455500     × ←色なし
44455500L     ×

<条件>
コード列8桁の値(=8桁同じグループのはじめの行に出てくる値)の正誤列が〇の時
前方一致するコード列の値に一つでも×があれば 8桁の値の〇に色付け
前方一致するコード列の値が全て〇であれば 色付けなし

コード列8桁の値(=8桁同じグループのはじめの行に出てくる値)の正誤列が×の時
前方一致するコード列の値が全て〇であれば8桁の値の〇に色付け
前方一致するコード列の値に一つでも×があれば 色付けなし

COUNT関数で配列数式を使ったらできるような気がしたんですが、知識不足でした…

よろしくお願いいたします。

< 使用 Excel:Excel2013、使用 OS:Windows10 >


 ちょっとお聞きします。

 グループ先頭の8桁のデータは、
  数値ですか?
  数字(文字型)ですか、
  型混在ですか?

 ※他の回答者からレスが付いたら、
  この私の問い合わせにお答えいただく必要はありません。

(半平太) 2019/07/03(水) 08:53


 >前方一致するコード列の値が全て〇であれば8桁の値の〇に色付け 
 これは8桁の値の×の間違いか?
(ねむねむ) 2019/07/03(水) 09:06

こう言うときは表化した方が自分にも他人にも判り易いのでは。。
(コメ) 2019/07/03(水) 09:22

 既出の確認に便乗して、ついでに・・・

 1)コード列、正誤列とは具体的にどの列なのか?
  データは何行目から始まっていて、全体で何行ぐらいの表なのか?

 2)「条件付き書式」というものを知っていますか?
  それとも「条件付きで書式設定」というのは条件付き書式のこと?

 3)↓ は丸印ではなく漢数字のゼロですが、あえてゼロを使っているんですか?
 >〇×

  普通、丸印といえば ○

 とりあえず以上です
(笑) 2019/07/03(水) 10:30

 コードがA列、正誤がB列だとする。
 B列を選択した状態で条件付き書式の数式を使用して書式設定するセルを決定で数式に
 =AND(LEN(A1)=8,SUM((LEFT(A$1:A$1000,8)=A1&"")*(B$1:B$1000="×"))*((B1="×")-(B1="〇"))<(B1="×")*2)
 ではどうか?
(ねむねむ) 2019/07/03(水) 16:29

 もし、A列がすべて文字列の場合は
 =AND(LEN(A1)=8,(COUNTIFS(A$1:A$1000,A1&"*",B$1:B$1000,"×")*((B1="×")-(B1="〇"))<(B1="×")*2))
 でも。
 なお、上記式はデータが最大1000までとしている。
 もっとある場合は式中の$1000を大きくしてくれ。
(ねむねむ) 2019/07/03(水) 16:31

半平太様
数字(文字型)になります。

コメ様
わかりずらい書き方で申し訳ないです。
もう一度書き直します。
(MUMU) 2019/07/03(水) 19:39


再度書き直します。
商品の品番です。
8桁は数字で、その後はアルファベットです。
8桁の品番1つに対して、同8桁+アルファベットの品番は複数あります。
「条件付き書式」を使うか、マクロ組むかで、以下の条件で8桁の品番のB列(正誤)に色をつけたいです。

<表(全体)>

A列(コード)     B列(正誤)
11122233    〇   
11122233A    ×
11122233BB    ×
22233344    〇   
22233344AA   〇
22233344AB   〇
33344455    ×
33344455VV    〇
33344455HH    〇
44455500     ×
44455500L     ×

条件1
コード列8桁の値(=8桁同じグループのはじめの行に出てくる値)の正誤列が〇の時
前方一致するコード列の値に一つでも×があれば 8桁の値の〇に色付け
<具体例>
A列(コード)     B列(正誤)
11122233    〇    ←色付け
11122233A    ×
11122233BB    ×

22233344       〇    ←色付け
22233344AA      ×
22233344AB      〇

条件2
コード列8桁の値(=8桁同じグループのはじめの行に出てくる値)の正誤列が〇の時
前方一致するコード列の値が全て〇であれば 色付けなし
<具体例>
A列(コード)     B列(正誤)
22233344    〇   
22233344AA   〇
22233344AB   〇

条件3
コード列8桁の値(=8桁同じグループのはじめの行に出てくる値)の正誤列が×の時
前方一致するコード列の値が全て〇であれば8桁の値の〇に色付け
<具体例>
A列(コード)     B列(正誤)
22233344    ×    ←色付け   
22233344AA   〇
22233344AB   〇

条件4
コード列8桁の値(=8桁同じグループのはじめの行に出てくる値)の正誤列が×の時
前方一致するコード列の値に一つでも×があれば 色付けなし
<具体例>
A列(コード)     B列(正誤)
11122233    ×
11122233A    〇
11122233BB    ×

22233344       ×
22233344AA      ×
22233344AB      ×

(MUMU) 2019/07/03(水) 20:07


笑 様
>1)コード列、正誤列とは具体的にどの列なのか?
  データは何行目から始まっていて、全体で何行ぐらいの表なのか?
コード列=A列、正誤列=B列 です。
データは2行目から始まっていて、最大4000行くらいです。
同様のエクセルが複数あり、ブックによって異なります。

>2)「条件付き書式」というものを知っていますか?
  それとも「条件付きで書式設定」というのは条件付き書式のこと?
すみません、書き方がおかしかったです。「条件付き書式」を使うか、
こういう条件でマクロを組んで書式設定したいということが伝えたかったです。

> 3)↓ は丸印ではなく漢数字のゼロですが、あえてゼロを使っているんですか?
 >〇×

  普通、丸印といえば ○
B列(正誤)は、区別できたら、ゼロでも丸でもこだわりません。
「まる」と入力して出てきたものが「〇」だったのでそのまま使っていました。
私のパソコンから見ると両方丸印に見えます。

(MUMU) 2019/07/03(水) 20:17


ねむねむ様
ありがとうございます。

前方一致するコード列の値が全て〇であれば8桁の値の〇に色付け
 これは8桁の値の×の間違いか?
おっしゃる通りです。8桁が×の時は×に色付けでした。

式の内容はわかりませんが、条件付き書式を設定したらできました!
ありがとうございます。

作成していただいた後に申し訳ないのですが、
A列のコードの条件について、追加したいことがあります。
「←」の行のように8桁のコードと同じ8桁+アルファベットのセットになっていない
コードは色付けは無しにしたいです。

A列(コード)     B列(正誤)
11122233      〇   
11122233A      ×
11122233BB      ×
22233344       ×  ← 
33344455VV    〇   ←
44455500     ×
44455500L     ×
5556661SS ×   ←
5556661WW ×     ←

後出しで申し訳ないです。
(MUMU) 2019/07/03(水) 20:42


 私の式ではもともと8文字でない箇所には色がつかないようになっているはずだが?
 (LEN(A1)=8でA列の文字長が8の場合のみにしている)
(ねむねむ) 2019/07/04(木) 09:57

ねむねむ様
ありがとうございます!
出来ました!
(MUMU) 2019/07/05(金) 12:51

コメント返信:

[ 一覧(最新更新順) ]


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