• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:入力が重複したとき警告がしたい)

入力が重複したとき警告がしたい

このQ&Aのポイント
  • 入力が重複した場合に警告を表示する方法について教えてください。
  • 使用しているWindows XP EXCEL 2003で、「入力したデータを別シートに」についてのご指導を受けています。
  • 現在、問題点が発生しており、特定のセルの重複入力の警告について教えていただきたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

何度も失礼します。 なかなかご希望に添えないようですが・・・ 1月~12月までのSheetがあるということですので、 Sheet名はそれぞれ、「1月」「2月」・・・となっていて、 全てのSheetの日付はシリアル値で同じセル番地に入っているものとします。 前回のE2セルに =IF(A2="","",IF(COUNTIF(OFFSET(INDIRECT(MONTH(C2)&"月"&"!$A$5:$AF$5"),MATCH(A2,INDIRECT(MONTH(C2)&"月"&"!$A$6:$A$100"),0),,1),"●"),"重複が"&COUNTIF(OFFSET(INDIRECT(MONTH(C2)&"月"&"!$B$5:$AF$5"),MATCH(A2,INDIRECT(MONTH(C2)&"月"&"!$A$6:$A$100"),0),,1),"●")&"日あります。","")) としてオートフィルで下へコピーではどうでしょうか? 以上、お役に立てば良いのですが、 今回も外していたらごめんなさいね。m(__)m

dorasuke
質問者

お礼

tom04さん何度もご苦労掛けました。 まことにありがとうございました。 色々とそれなりに確認させていただきましたところ本当にうまくできました。 重複するところは「●」なんかは凄く良いアイデァをいただきました。 部屋の稼働率を計算するときは「●」が計算されないのも又良いです。 通常は「○」のみでカウントされるからです。 こんな難しい数式はここでご指導いただかないと小生には無理です。 重ね重ね本当に有難うございました。 今後ともご指導の程、よろしく御願いします。

その他の回答 (2)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

No.1です! 前回は外したようでごめんなさい。 無理矢理って感じですが、 前回の方法はそのまま使わせてもらって、Sheet1の隣のE列に↓の画像のような感じで表示させてはダメでしょうか? E2セルに =IF(A2="","",IF(COUNTIF(OFFSET(Sheet2!$B$5:$AF$5,MATCH(A2,Sheet2!$A$6:$A$100,0),,1),"●"),"重複が"&COUNTIF(OFFSET(Sheet2!$B$5:$AF$5,MATCH(A2,Sheet2!$A$6:$A$100,0),,1),"●")&"日あります。","")) という数式を入れオートフィルで下へコピーしています。 以上、この程度しか思いつかないので 参考にならなかったら無視してください。m(__)m

dorasuke
質問者

補足

いつもお世話になります。 テストの内容は以下です 「記入」 AB C D 2 201 田中 1/1 1/3  3 201 鈴木 1/2 1/4 2日が重複 4 201 泉  2/1 2/3 5 201 佐藤 2/2 2/4 2日が重複 テストしました結果 =IF(A2="","",IF(COUNTIF(OFFSET(Sheet2!$B$5:$AF$5,MATCH(A2,Sheet2!$A$6:$A$100,0),,1),"●"),"重複が"&COUNTIF(OFFSET(Sheet2!$B$5:$AF$5,MATCH(A2,Sheet2!$A$6:$A$100,0),,1),"●")&"日あります。","")) を「1月」のシートにはしましたが「2月 3月~」とシートが有る場合はどうすれば良いんでしょうか 「1月」はうまくできました。(1月にして) =IF(A2="","",IF(COUNTIF(OFFSET('1月'!$B$5:$AF$5,MATCH(A2,'1月'!$A$6:$A$100,0),,1),"●"),"重複が"&COUNTIF(OFFSET('1月'!$B$5:$AF$5,MATCH(A2,'1月'!$A$6:$A$100,0),,1),"●")&"日あります。","")) 当然ながら「2月」のシートは上のままですと    2/1 2 3 201 ○ ○ ○   になります。 ご苦労掛けますが「1月」のシート以外はどう対応すればいいか再度ご指導いたたけませんか。 宜しく御願いします

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! ↓のような感じで良いのですかね? 下側がSheet2になり、Sheet2のB6セルに =IF($A6="","",IF(SUMPRODUCT((Sheet1!$A$2:$A$100=$A6)*(Sheet1!$C$2:$C$100<=B$4)*(Sheet1!$D$2:$D$100>B$4))>0,IF(SUMPRODUCT((Sheet1!$A$2:$A$100=$A6)*(Sheet1!$C$2:$C$100<=B$4)*(Sheet1!$D$2:$D$100>B$4))>1,"●","○"),"")) という数式を入れ、オートフィルで列方向と行方向にコピーしています。 (数式はSheet1の100行目まで対応できる数式です) 以上、参考になれば良いのですが 的外れならごめんなさいね。m(__)m

dorasuke
質問者

補足

参照図で説明します。 上図の「記入」部分でもし記入者が 「C2 D2」(泊は1/1 2 3日) と 「C3 D3」(1/3 4日)の来場日及び退場日ミスすると下図の D6(●印 3日)のところが予約がダブルブックで重複します。 ご指導を仰ぎたいのは参照図の上図の「C3 D3」 を入力したときに「C2 D2」の3日の部分が重複をするので「記入」側で警告するような何かいい方法がないでしょうか。 宜しく御願いします。 ※ ●印は分かりやすくするためです。 ○印で今は表現しています。