アプリ版:「スタンプのみでお礼する」機能のリリースについて

シート1のA列とB列に
aaa ccc
bbb ggg
ccc kkk
ddd ooo
と言うリストがあって、A1〜A4はAチーム、B1〜B4まではBチームと名前を付けています
シート2にAチームのリスト4個が続いているものがあればセルを赤、Bチームのリスト4個が続いているものがあればセルを黄色に塗りたいです
AチームとBチームの中には同じ品番がある時もあります
条件付き書式で設定は出来るでしょうか?

A 回答 (6件)

先日、以下で類似の質問に回答させていただきました。


色の数だけ条件を増やせば応用てきると思います。

https://oshiete.goo.ne.jp/qa/10964198.html
    • good
    • 0
この回答へのお礼

ご丁寧な回答ありがとうございます。
載せて頂きました情報も今後参考にさせて頂きます^_^

お礼日時:2019/02/28 17:24

(´・ω・`)


”○” の数を数えるんじゃないんだよなあ。

・・・本題・・・

条件付き書式ですよね。

シート2のリストの並び順は
 aaa
 ccc
 bbb
 ddd
では「Aチーム」と認識しないという事でよろしいでしょうか?
ならば、とても簡単です。

シート2の一覧において、

 判定するセル1
 判定するセル2
 判定するセル3
 色を付けるセル
 判定するセル4
 判定するセル5
 判定するセル6

という範囲について調べれば良いという事。

 判定するセル1
 判定するセル2
 判定するセル3
 色を付けるセル

 判定するセル2
 判定するセル3
 色を付けるセル
 判定するセル4

 判定するセル3
 色を付けるセル
 判定するセル4
 判定するセル5

 色を付けるセル
 判定するセル4
 判定するセル5
 判定するセル6

の4パターンについてそれぞれ調べれば良いだけ。

自分なら
 aaa-bbb-ccc-ddd
のようにシート1から文字列を作り、それが調べるセルで同じパターンになるかを調べます。
シート1はA5セルから、シート2はA11セルからデータが入力されているなら、

 シート1!A5 & シート1!A6 & シート1!A7 & シート1!A8 = A11 & A12 & A13 & A14
 シート1!A5 & シート1!A6 & シート1!A7 & シート1!A8 = A12 & A13 & A14 & A15
 シート1!A5 & シート1!A6 & シート1!A7 & シート1!A8 = A13 & A14 & A15 & A16
 シート1!A5 & シート1!A6 & シート1!A7 & シート1!A8 = A14 & A15 & A16 & A17

という条件になる。
この4つのうちの一つでも条件を満たせばセルに赤色を付ければいい。
「Bチーム」についても同様にすればいいので、
この場合、8つの条件式を設定することになります。

面倒でもこの考え方ができていないと、ちょっと条件が変わっただけで対処できずに終わります。
冒頭で「並び順」について書きましたが、並び順がシート1のリストの通りでなくとも色を付けたい場合でも、この考え方は必要ということです。

・・・
ちなみに厄介なのが、どちらのチームにも「ccc」がいるというところかな。
これが無ければ違う方法でシンプルにできるんですけどねえ。
    • good
    • 1
この回答へのお礼

VBAが素人なので条件付き書式で出来る事が分かって本当に助かりました。
お知恵を頂いたおかげで思うようなフォーマットを作成する事が出来ました。
ありがとうございます^_^

お礼日時:2019/02/28 17:27

こんにちは!



Sheet1のA1~A4、B1~B4に各名前定義したデータがあるとします。

Sheet2のA・B列のデータの並びはSheet1のA・B列と同じ並びでかつ、
その4行のセルに色付けをしなければならないのですよね。

条件付き書式で色々やってみたのですが、
仮にSheet2のA列に aaa,bbb,ccc,ddd と並んでいる場合最初の「aaa」にだけ色付けするのが精いっぱいでした。
当方の力不足だと思います。

そこでお望みでないかもしれませんが、VBAでの一例です。
標準モジュールにしてください。

尚、条件付き書式が設定してあるとそちらが優先されますので、
Sheet2の条件付き書式は設定していない!とします。

Sub Sample1()
 Dim i As Long, myR As Range, wS As Worksheet
 Dim myStr As String, buf As String

  Set wS = Worksheets("Sheet2")
   Range("A:B").Interior.ColorIndex = xlNone
   With Worksheets("Sheet1")
    buf = .Range("A1") & "_" & .Range("A2") & "_" & .Range("A3") & "_" & .Range("A4")
     For i = 1 To wS.Cells(Rows.Count, "A").End(xlUp).Row - 3
      Set myR = wS.Cells(i, "A").Resize(4)
       myStr = myR(1) & "_" & myR(2) & "_" & myR(3) & "_" & myR(4)
        If buf = myStr Then
         myR.Interior.ColorIndex = 3
        End If
     Next i
    buf = .Range("B1") & "_" & .Range("B2") & "_" & .Range("B3") & "_" & .Range("B4")
     For i = 1 To wS.Cells(Rows.Count, "B").End(xlUp).Row - 3
      Set myR = wS.Cells(i, "B").Resize(4)
       myStr = myR(1) & "_" & myR(2) & "_" & myR(3) & "_" & myR(4)
        If buf = myStr Then
         myR.Interior.ColorIndex = 6
        End If
     Next i
   End With
End Sub

とりあえずはお望みの結果になると思います。m(_ _)m
    • good
    • 1

No.3です。



投稿後気づきました。
Sheet2のデータは同じ列にあるのですね。

前回のコードは消去して、↓のコードに変更してください。
尚、Sheet2のデータはA列にあるとします。

Sub Sample2()
 Dim i As Long, myR As Range, wS As Worksheet
 Dim myStr As String, buf1 As String, buf2 As String

  Set wS = Worksheets("Sheet2")
   wS.Range("A:A").Interior.ColorIndex = xlNone
   With Worksheets("Sheet1")
    buf1 = .Range("A1") & "_" & .Range("A2") & "_" & .Range("A3") & "_" & .Range("A4")
    buf2 = .Range("B1") & "_" & .Range("B2") & "_" & .Range("B3") & "_" & .Range("B4")
     For i = 1 To wS.Cells(Rows.Count, "A").End(xlUp).Row - 3
      Set myR = wS.Cells(i, "A").Resize(4)
       myStr = myR(1) & "_" & myR(2) & "_" & myR(3) & "_" & myR(4)
        If myStr = buf1 Then
         myR.Interior.ColorIndex = 3
        ElseIf myStr = buf2 Then
         myR.Interior.ColorIndex = 6
        End If
     Next i
   End With
End Sub

※ データ変更があるたびにマクロを実行する必要があります。m(_ _)m
    • good
    • 0

こんにちは



ご質問文で、色を付けるための条件が少々はっきりしません。
 ① 出現順がリスト通りの順で(4種類)出現したら
 ② 順序は問わないが、同じチーム内の4種類のメンバー全てが連続したら
 ③(種類も順も問わずに)同じチームのメンバーが4つ連続したら(重複含む)
 ④ その他の解釈

①または③であれば、条件付き書式でも対応可能ですが、②の場合は結構難しそうですね。
④の場合は、今のところは検討がつきません。
    • good
    • 1

No5です



No5の②の場合でも、なんとか条件付き書式で対応可能そうな気がしてきました。

ただし、いずれの場合も、No2様の説明にあるように、4種類の組み合わせをチェックすることで1色分の条件となりますので、設定する式はそれなりに長いものとなることが予想されます。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています