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

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

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

入力が重複したとき警告がしたい いつもお世話になります。 Windows XP EXCELL2003 です。 下記でご指導いただいて現在使用しています。 「入力したデーターを別シートに ~その2」 http://okwave.jp/qa/q5952346.html 使用していて下記のような問題点が新たに発生しました。 参照図で説明します。 上図の 「C2 D2」(泊は1/1 2 3日) と 「C3 D3」(1/3 4日)の来場日及び退場日の記入を記入者がミスすると 下図の D6(黒○印 3日)のように重複します。 ご指導を仰ぎたいのは参照図の上図の C3 D3 を入力したときに3日の重複を警告するような何かいい方法がないでしょうか。 誠に恐れ入りますかご指導いただけませんでしょうか。

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

  • ベストアンサー
  • 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日の部分が重複をするので「記入」側で警告するような何かいい方法がないでしょうか。 宜しく御願いします。 ※ ●印は分かりやすくするためです。 ○印で今は表現しています。

関連するQ&A

  • 3ヶの条件で重複を表示

    いつもお世話になります。 WINDOWS XP EXCELL 2003です。 部屋の管理ですが入力ミスを防ぎたく重複を表示して喚起したいです。 3ヶの条件とは C列 E列 F列 の値が一致 重複表示です。 添付図を参考に例えば 4の行と5の行が重複しています。 これをG列のように「●」表示できればと。 G2にどのような数式を入れればいいかご指導いただけませんか。 よろしく御願いします。

  • 2の値で入力規則で入力の制限をしたい

    いつもお世話になります。 WINDOWS7 EXCELL2010 です。 予約の入力で下記の「参考」の数式で重複した時、値が2と表示されます。 予約のダブリを防止するために 入力規則 で入力に制限をかけたいです。 下記の1 2 を実行しましたがうまくできませんでした。 1 入力値の種類 整数 データ    次の値に等しい 値      2 2 入力値の種類 ユーザー設定 数式     AD4>2 参考 適用範囲 AD4:AD100  ユーザー定義 標準 AD4 =IF(E4="","",SUMPRODUCT(($D$4:D4>=C4)*($C$4:C4<=D4)*($E$4:E4=E4))) 恐れ入りますが御指導いただけませんでしょうか。

  • 入力画面から各月の日付に参照

    WINDOWS XP EXCELL2003です。 参照の図のような表を作成中です。 シートは 「入力」 とそれを月日毎に分けたシート「1~12月」の計13シートあります。 まず、シート「入力」の各列に入っている数式は A列 =IF(B2="","",TEXT(B2,"mm"))  VBAによる色付け B列 ユーザー定義 mm/dd C列 =IF(D2="","",COUNTA($D$2:D2)) シート「1月」の数式は A1 =記入!M1 (2010/1/1) C2 =A1 (2010/1/1) ユーザー定義 d ご指導を賜りたいのは 例えば 「1月」のシートに反映する (2月~12月は同様の方法。) 1 「入力」の D2 ~ D4 は 「1月」の B 4 ~ B6 に 2 「入力」の K2 ~ K4 は 「1月」の C4 D5 E6 のそれぞれに反映 ご指導の程よろしく御願いします。

  • 入力したデーターを別シートに

    入力したデーターを別シートに いつもお世話になります。 Windows XP EXCELL2003 です。 シート名「記入」で入力したデーターをシート名「6月」に。 例えば 「記入」 「6月」 A2       →  A6 に C2 : D2 → B6~C6 に値(○)したい。 ご指導いただければありがたいのですか宜しく御願いします。

  • セルが今月に該当したらその列を塗りつぶし方法

    WINDOWS XP EXCELL 2003です。 いつもお世話になります。 ご指導を仰ぎたいのは参照図を参考にして、 E2が今月(この場合は3月)に該当したら 「E3~」の列の指定範囲に色づけをしたい。 私が考えた下記の数式は 条件付書式で設定したが列で1つしか色付けができませんでした。 =AND(YEAR(B1)=YEAR(TODAY()),MONTH(B1)=MONTH(TODAY())) 参照図の内容は A列 文字列 B列 文字列 C3 : E10(参照図のみ) ;例として下記のような数式が     =SUMIF(生産入力!$E:$E,TEXT(F$3,"yymm")&$A4,生産入力!$D:$D) 以上ですがご指導いたたければ幸いです。 どうぞよろしく御願いします。

  • ID番号の自動作成をしたい

    いつもお世話になります。 WIN7 EXCELL2010 です。 目的は記入時の簡易性及び重複の防止です。 添付図で説明さていただきますと、 1のシートでは A列  今回の要望です B列  手入力です C2   =MID(D2,1,1) D2  =PHONETIC(B2) 2のシートは説明を分かり易くするためのものです。 ご指導をいただきたいのは、 例えば A2(011-001) シート1 C2は の場合 ア で シート2 では、 行は 「01」 列は 「1」 からして 「011」になり そのあとは記入順の番号を振っています。 ※シート2 B1~F1 は数字ですがアルファベットでもいいのです。 このことが関数では可能ですか。 もし可能ならば是非ともご教示いただけませんでしょうか。 不可能ならVBAでご指導戴けるとうれしいです。 誠に勝手な要望ですが宜しくお願いいたします。

  • INDEXで重複数式

    いつもお世話になります。 WIN7 EXCELL2010 です。 例えば同部屋番号(B8=E115 B11=E115)で、 C8の「飯島 清」の退所日(7/21)と C11の「中村 真一」の入所日(7/21)が重複をチェックするために下記の数式と考え採用していました。 =IF(OR(B1<>B2,B2=""),"",IF(D2>MAX(INDEX(D:D,MATCH(B2,B:B,0)):INDEX(E:E,MATCH(B2,B:B,0)+COUNTIF(B$1:B1,B2)-1)),"","重複or待機")) 作成していて気が付くと問題点の発生 =IF(OR(B1<>B2,B2=""),"", で、 B2 B3 また B5 B6 と続けて同部屋番号なら N列 に 「重複or待機」とN3 N6に それぞれ「重複or待機」と表示されうまくゆくのですが現実にはあまりありえないです。 例えば B8 B11 のように連続でなく記入されるとき =IF(OR(B1<>B2,B2=""),"", の部分または上記の数式をどのよう変更すると「N11」に 「重複or待機」が表示できるかをご指導願えませんでしょうか。 よろしくお願いします。

  • 記入のデーターを別のシートに その2

    いつもお世話になります。 WIN7 EXCELL2010 です。 入退所表を作成していて下記のアドレスで質問させていただきお世話になりました。 http://okwave.jp/qa/q8678261.html 参照図でシート「記入」の3行と4行、 入所の「田中 幹夫」E3(退所日 N102 7/20) と 「伊藤 和男」D4(入所日 N102 7/20) が同日 同部屋で重複しています。 先回の質問で シート「20140720」で同日 同部屋で見事に分けて表示されました。 大変苦労したこともあり感激のあまりこれで大成功と思いよく確認しないままに次なる問題点が出てご指導賜りたくご質問させてい戴きます。  問題はシート「20140721」 B4 と B23 重複表示で B23 のみの表示をすることが可能ですか。 もし可能ならばご指導いただきたいです。 参照図 シート「記入」F2 =IF(OR(B1<>B2,B2=""),"",IF(D2>MAX(INDEX(D:D,MATCH(B2,B:B,0)):INDEX(E:E,MATCH(B2,B:B,0)+COUNTIF(B$1:B1,B2)-1)),"","重複or待機")) 各シート A1 マクロ シート名にする Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) If Target.Address = "$A$1" Then Sh.Name = Target.Range("A1").Value End Sub B3 =INDEX(記入!C:C,MIN(INDEX(((記入!$B$2:$B$100<>$A3)+(記入!$D$2:$D$100>$C$1)+(記入!$E$2:$E$100<$C$1))*10000+ROW($2:$100),)))&"" B23 =INDEX(記入!C:C,SMALL(INDEX(((記入!$F$2:$F$100<>"重複or待機")+(記入!$D$2:$D$100>$C$1)+(記入!$E$2:$E$100<$C$1))*10000+ROW($2:$100),),ROW(1:1)))&"" 是非是非ご協力お願いいたします。

  • OS WINDOWS XP EXCELL 2003 です。

    OS WINDOWS XP EXCELL 2003 です。 久し振りに設定するのでもしかしたらです。 私の記憶では循環参照だと思っていますが間違いかもしれません。 添付の画像の両方に 赤い矢印 で示しているなんという言い方か分かりませんがカッコウのことです。 下記の数式で =IF(AND(C3="",D3=""),"",$D$3+SUM(C$3:C3)-SUM(D$3:D3)) を添付画像のようにしたいです。 確か シフト ctrl 若しくは Alt なんかで確定する方法だったと思うのです。 いろいろのサイトで調べたのですが記述したのが見つかりませんでした。 どなたかご教示いただけませんか。 御願いします。

  • あるセルに入力したら312と入れたい

    あるセルに入力したら312と入れたい WINDOWS XP EXCELL2003です。 D18 に 数値(文字列 001)と入力されたら E18 に 312 という数値を入れたいのですが どういう数式を入れればいいかどなたかご指導いたたけませんか。 よろしく御願いします。

専門家に質問してみよう