いつでも医師に相談、gooドクター

こんにちは
是非ご教示お願いします。

今回エクセルの事でご相談させていただきました。

もし可能でしたら教えていただけると幸いです。



C2~AG2まで 1~31(日付けになります。)

C2(1日) C4~C26 に元になる違うシートから数字を貼り付けします。
D2(2日) D4~D26 に数字を貼り付けします。(元になる違うシートから貼り付けする)

・・・

AG2(31日) AG4~AG26 に数字を貼り付けします。(元になる違うシートから貼り付けする)
と毎日入力した数字を貼り付けしています。


問題点は貼り付けを前日 (前日のデータと同じデータを間違えて貼り付けてしまう)
という事が多くあり今27の列に4~26までを足してどこかの日に同じ数字があった場合赤くするというデータを作成したのですが毎日合計が同じ数字の事が多く
あまり意味がなく・・・

もし可能ならば4~26列の数字の場所が同じ場所にあり同じ数字の場合27の列を赤くするということはできますでしょうか。(例下記参照)

火曜日に月曜日の所に貼り付け  水曜に火曜日の所に貼り付け
・・金曜日は土曜日稼働してたら土曜日に貼り付け 非稼働の場合月曜に貼り付けと貼り付けの日に
タイムラグがあるので間違いが多く
上記のような事ができたらいいなと思っております。

教えて頂けたら幸いです。


C2 1 D2 2 E2 3
 
C4 1 D4 1 E4 1
C5 2 D5 2 E5 3
C6 3 D6 3 E6 2

C26 4 D26 4 E26 4
C27 赤 D27 赤 E27 白

gooドクター

A 回答 (3件)

こんにちは



ご説明がよくわかりませんが、C4:AG26の範囲内の各列で値が全部同じものが存在するかどうかを調べたいってことでしょうか?
(それとも、4、5、6、26行目だけ限定で比較?)

どちらもできることはできると思いますけれど… (後述)

>元になる違うシートから貼り付けする
ということから推測するところ、元になるシートのある列の範囲をそのまま貼り付けるのだけれど、コピーする列を間違える可能性があるので、「全部の値が同じ列」があれば「間違え」の可能性ありとしてチェックしようとしているのではないかと想像しました。

もしそうであるなら、曖昧な(しかも面倒な)チェックなどをせずに、貼付ける操作自体を関数化してしまう方が遥かに効率的な気がします。
「貼り付ける列を選択するロジック」がどうなっているのか(ロジックが存在するのか否かも)わからないので、実際に関数化ができるのかどうかはわかりませんけれど・・・
なんとなくの雰囲気では、何らかの順や規則に従って選択しているような気がしましたので。



さて、ご質問の件ですが、列全部が同じかどうかを判断するものとして、例えばC27セルに

=AND(COUNTBLANK(C4:C26)<23,SUM(IF(MMULT(INDEX(COLUMN($A1:$W1)/COLUMN($A1:$W1),,),(C4:C26=$C$4:$AG$26)*1)=23,1,0))>1)

の式を入れて、右方向にフィルコピーしてみてください。
その結果、重複する列にTRUEの表示(他はFALSE表示)がされるはずです。
結果の確認ができたなら、上式を「条件付き書式」の条件式として利用なされば宜しいでしょう。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

詳しい式で回答頂き今回出来るようになりました。
間違いが起こらなくなると思います。

私では難しすぎて考えれない式を作成して頂き感謝致します。

お礼日時:2021/01/15 08:31

例えば、こちら↓などでも対応できると思います。



C27~AG27セルを選択した状態で
 =SUMPRODUCT((C4:C26=D4:D26)*1)=COUNT(C4:C26)
の条件付き書式を赤の塗りつぶしで設定。

右側の列と同じだった場合は赤くなります。
COUNT関数で、範囲の数値のあるセルの個数と一致(23個)したとき
だけなので空白列が続いても塗りつぶされません。
「日付の条件付き書式」の回答画像3
    • good
    • 0
この回答へのお礼

とても詳しくありがとうございます。
資料も付けて頂きとても分かりやすかったです。

本当にありがとうございます。感謝致します。

この度は本当にありがとうございました。

お礼日時:2021/01/15 08:31

ごめんね。


まず、表の作りが悪い。
縦方向に日付を、横方向に項目を設定するようにしましょう。
Excelなど表計算ソフトは、基本的に縦方向に対して集計するよう設計されています。
これは、元々縦方向にデータを追加することを想定しているためです。

最新バージョンでは横方向に1万件以上のデータを並べることができますが、
あくまでも項目を並べるためと思ってください。

シフト表のように縦方向に名前を並べることがありますが、
これは名前と言うデータが増減するため、日付が横に並んだ方が都合が良いのです。

そんなわけで、Excelを使い込んでいる人の頭の中では、こんなことが前提になっています。
前提条件が変わると、理解するのにとても時間がかかるんですよ。
(しかも拙い説明ではさらに時間がかかる)

呼び方も変。
C列、D列は問題ありませんが、
4~26列って何?
4~26行ってことですか?

  C D E ←列
2  1 2 3
3 
4  1 1 1
5  2 2 3
6  3 3 2

26 4 4 4
27 赤 赤 白



・・・本題・・・

条件付き書式を数式で設定したいという事でしょうか。
ならば、条件を整理しましょう。

C列に対しては、
 C4セルとD4セルの値が等しい
  C4=D4
 C5セルとD5セルの値が等しい
  C5=D5
 …
 C26セルとD26セルの値が等しい
  C26=D26

D列については、
 D4セルとE4セルの値が等しい
  D4=E4
 D5セルとE5セルの値が等しい
  D5=E5
 …
 D26セルとE26セルの値が等しい
  D26=E26
場合と、
 D4セルとC4セルの値が等しい
  D4=C4
 D5セルとC5セルの値が等しい
  D5=C5
 …
 D26セルとC26セルの値が等しい
  D26=C26
です。
E列以降もE列と同じような条件になります。
(ここでC列もE列と同等の条件にしてよいことに気づいてください)

そんなわけで、この条件が全部揃ったらということですので、AND関数に入れます。
D列に、
 =AND(D4=C4,D5=C5,,D26=C26)
 =AND(D4=E4,D5=E5,,D26=E26)
の2つの条件を入力しましょう。
記入が面倒でしょうから、
 =AND(D4:D26=C4:C26)
 =AND(D4:D26=E4:E26)
としても良い。
ただ、F列以降にデータがない場合も条件が成立してしまうので、
 =AND(D4:D26=C4:C26,D4<>"")
 =AND(D4:D26=E4:E26,D4<>"")
と、空白でないという条件も加えておきましょう。

この数式をD27の条件付き書式の判定式として設定し、
D27セルをAG27セルまでコピーし、
(AG27セルはAH列を参照するけど、同じになることはないので無視できる)
さらにD27セルをC27セルにコピーすればいい。
(C27セルはB列を参照するけど、同じになることはないので無視できる)
「日付の条件付き書式」の回答画像1
    • good
    • 0
この回答へのお礼

資料作成頂きありがとうございます。

エクセル初心者の私にもとても分かりやすかったです。

これから頑張って勉強していこうと思います。

詳しい解説 資料本当にありがとうございます。


この度は本当にありがとうございました。

お礼日時:2021/01/15 08:33

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

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

gooドクター

このQ&Aを見た人がよく見るQ&A

このカテゴリの人気Q&Aランキング