期間内での重複の確認方法と対策

このQ&Aのポイント
  • WINDOWS7 EXCEL2010を使用して期間内での重複を確認する方法を教えてください。
  • 具体的な数式と条件付書式の設定方法を教えていただけると助かります。
  • 期間内の重複を防止するための対策も教えていただけると幸いです。
回答を見る
  • ベストアンサー

期間内での重複の確認

いつもお世話なります。 WINDOWS7 EXCELL2010です。 下図を参考に A列 ユーザ定義 mm/dd B列 ユーザ定義 mm/dd 各列の数式は E2 =A2&C2&D2 F2 =B2&C2&D2 G2 =IF(D2="","",IF(COUNTIF($E$2:E2,E2)>1,"重複","")) H2 =IF(D2="","",IF(COUNTIF($F$2:F2,F2)>1,"重複","")) I2 =IF(D2="","",IF(COUNTIF($E$2:F2,E2)>1,"重複","")) 条件付書式 範囲はA2:B10 =$I2=”重複” 紫 =$G2=”重複” 薄青 =$H2=”重複” 薄ピンク という具合に「入所(A列)、退所(B列)」日での重複はセルの色で確認できますが 6の行は「入所、出所」日は対象にはなりません。 重複のチェックから漏れます。 この期間内の重複を防止したいのですが何かいい方法をご教示いただけませんでしょうか。 よろしくお願いします。

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

回答No2です。 F2セルから下方にデータは合っています。G2セルら下方のデータは3,7,8,8,10となっていますね。 H2セルに入力する式は次のようになっていますか?もう一度確認してみてください。 =IF(OR(E1<>E2,E2=""),"",IF(F2>MAX(INDEX(F:F,MATCH(E2,E:E,0)):INDEX(G:G,ROW(A1))),"","重複")) ところで新しく考えたのですが、E列の作業列はそのままにしてF,G列は使わずにF2セルには次の式を入力して下方にドラッグコピーすることで良いですね。 =IF(OR(E1<>E2,E2=""),"",IF(A2>MAX(INDEX(A:A,MATCH(E2,E:E,0)):INDEX(B:B,MATCH(E2,E:E,0)+COUNTIF(E$1:E1,E2)-1)),"","重複"))

dorasuke
質問者

お礼

下記を試させていただきました。 =IF(OR(E1<>E2,E2=""),"",IF(A2>MAX(INDEX(A:A,MATCH(E2,E:E,0)):INDEX(B:B,MATCH(E2,E:E,0)+COUNTIF(E$1:E1,E2)-1)),"","重複")) 私が要望していた通りで ばっちりでした。 ご苦労かけて誠に済みませんでした。 ありがとうございました。

その他の回答 (2)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

作業列を作って対応します。 お示しのような作業列は無いものとして新たに作成します。 E2セルには次の式を入力して下方にドラッグコピーします。 =C2&D2 次にお示しの表では関係ありませんが例えば別の部屋番号などが有る場合で同じシートに入力している場合にはE列を重点に並び替えをして必ず同じグルーは同じ列に並ぶようにします。 部屋記号と部屋番号が同じものを1つのシートに入力している場合にはその必要もありません。 F2セルには次の式を入力してG2セルまで横にドラッグコピーしたのちに下方にもドラッグコピーします。 =IF($E2="","",RANK(A2,INDEX($A:$A,MATCH($E2,$E:$E,0)):INDEX($B:$B,MATCH($E2,$E:$E,0)+COUNTIF($E:$E,$E2)-1),1)) 重複の判定はH列に表示させるとしてH2セルには次の式を入力して下方にドラッグコピーします。 =IF(OR(E1<>E2,E2=""),"",IF(F2>MAX(INDEX(F:F,MATCH(E2,E:E,0)):INDEX(G:G,ROW(A1))),"","重複"))

dorasuke
質問者

補足

早速ご指導を賜り有難うございます。 ご指導でテストさせていただきました。 参照図で言いますと何故か5行目に「重複」が表示されません。 参考に F2~ 1 4 4 6 2 とでています H列は 4行目、6行目には 「重複」表示されてます 誠に申し訳ありませんが再度ご指導いただけませんんか。

noname#203218
noname#203218
回答No.1

入力規則で入所日は前回の入所日より古い日付でないと入力できないように設定する事を検討されては如何でしょう。 B2セルを選択 「データ」タブ→「データの入力規則」アイコンクリック 設定タブ 条件の設定 入力値の種類(A)→「日付」選択 データ(D)→「津比の値より大きい」選択 次の日から(S)→=B2と式を入力 OKボタンで終了 B2を下方へフィルコピー 前回退所日と同日も記入して良いのであれば数式は=B2-1となります。 退所日も設定出来ますので、A2を選択し、上記のように設定し数式が=A1とすれば良いだけです。 2010の日付 入力規則は下記サイトご参照 http://park.geocities.jp/cheflapin/data/data0007

dorasuke
質問者

補足

折角ご回答いただき申し訳ありません。 私の説明がなく済みませんでした。 再度添付の図で説明させていただくと  入所 退所 部屋記号(EとNの二つ) 部屋番号(1111~1120)を2行目、3行目と順次入力します。    2行目に対して3行目は重複していません。  2行目、3行目に対して4行目は3行目の5/4~5/6が重複していますので注意を喚起して入力を防止し たいのです。  5行目も同様にです。  この図で言うと5行目以降は重複したサンプルとしてわざと示しました。  「入所(A列)」「退所(B列)」のそれぞれは図のように色付けですでに注意喚起はできています。 厄介のはわざと入力した6行目です。 「入所(A列)」=05/02 「退所(B列)」=05/08 が私の方法ではヒットしません。 この期間内の重複を何らかの方法でご教示いただきたいのです。 よろしくお願いします。

関連するQ&A

  • VBAで別々の2列のセルに色付け

    WINDOWS XP EXCELL 2003です。 いつもお世話になります。 参照図で A~D と E~H に分けています。 A2 数式が  =IF(B2="","",TEXT(B2,"mm")) E2 数式が  =IF(F2="","",TEXT(F2,"mm")) それぞれには 1(月)から12(月)です。 ※ 数値のみで 月 は含まれません。                      ユーザー定義 mm/dd です。   御指導を仰ぎたいのは A列 と E列 のセルの色づけのマクロを教えていただけませんか。 色コードは後で私が追加します。

  • 指定した期間の件数を求めたい

    WINDOWS XP EXCELL2003です。 参照の図のように作成し、 D3に =COUNTIF(F5:F12,"<=2010/6/30")-COUNTIF(F5:F12,"<2010/5/15") の関数を作成して 値の 「4」件 が当初は求められました。 所が A列(ユーザ定義 mm/dd) の値を変えて使用すると D2= 1月10日 となぜか表示されます。 上記の関数になにか問題があるのでしょうか。 ご指導いただければ幸甚の至りです。 よろしく御願いします。

  • 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待機」が表示できるかをご指導願えませんでしょうか。 よろしくお願いします。

  • 【エクセル】データの重複チェック

    次のようなデータが入力されているとします。 A列/B列/C列/D列/E列/F列 1行:都道府県/市区町村/data1/check1/data2/check2 2行:東京/新宿/1/""/1/"" 3行:東京/新宿/2/""/2/"重複" 4行:東京/新宿/3/""/3/"" 5行:東京/渋谷/1/重複/4/"" 6行:東京/渋谷/2/""/5/"" 7行:東京/渋谷/3/""/6/"" 8行:東京/渋谷/4/""/2/"重複" 9行:東京/渋谷/1/重複/7/"" ここで、check1は、 「都道府県」のグループでdata1に重複があれば、「重複」表示をさせます。 また、check2は、 「市区町村」のグループでdata2に重複があれば、「重複」表示をさせます。 例えば、 セルD2=IF(COUNTIF($C$2:$C$4,$C$2:$C$4)>1,"重複","") セルF2=IF(COUNTIF($E$2:$E$9,$E$2:$E$9)>1,"重複","") というように関数を入力して、2行目以下にコピペすればいいのですが、 実際は1万行以上のデータがあり、「都道府県」「市区町村」も多くのグループがあるため いちいち範囲を指定するのも大変です。 そこで、上記関数のように手動で範囲を指定しなくても、 自動で範囲指定をして重複チェックができる良い方法があれば教えてください。 できれば関数がいいのですが、VBAでも構いません。 ご教授のほど、よろしくお願いします。

  • 2つの条件で件数を求めたい

    2つの条件で件数を求めたい WINDOWS XP EXCELL 2003 左(A B C列)の表から右(D E F G)のような表を作成したいのですが ご指導いただければ幸いです。 A列  yyyy/mm/dd C列  入力規則で 「A~D コース」が設定 E2 ~ G2 mm ユーザー定義です ご指導を仰ぎたいのは例えば E3 にどんな数式を入力すれば可能でしょうか。 よろしく御願いします。

  • 重複するデータの抽出について(エクセル)

    エクセル2003にて重複するデータの取り出しをしたいのですが、 わからないので教えてください。 例えば   A列   B列   C列    D列    E列・・・ 1  色  1回目  2回目  3回目   4回目 2  赤   あ    a      A       0 3  白   い    b      B       1 4  黄   う    c      C       2 5  黄   え    d      D       3 6  黒   お    e      E       4 7  赤   か    f      F       5 : このデータの中から、別のシートのA1に 赤と入力したら、B1にD列のA・Fを抽出 黄と入力したら、B1にD列のC・Dを抽出をしたいです。 VLOOKUP関数を使用してみたのですが、 赤と入力すると、D列のA(1番上のデータ)のみしか抽出出来ず、Fが抽出されません。 重複するデータがあるのはA列のみで、D列には重複するデータはありません。 わかりにくい文章ですみませんが、よろしくお願いします。

  • エクセルでデータの「どこで重複か」を見つける

    エクセルでデータが「どこで重複しているか」を見つける方法として 以前質問した際に教えていただいたのが B1セルに次の式を入力して下方にオートフィルドラッグします。 =IF(A1="","",IF(COUNTIF(A$1:A1,A1)<=1,"","重複No."&COUNT(A$1:A1,A1))) これで重複があれば上の行から数えてその行のA列に有るデータが何番目の重複であるかがB列に表示されます。 ということでしたがこれには漏れがありました。 =IF(A1="","",IF(COUNTIF(A:A,A1)<=1,"","重複No."&COUNT(A:A,A1))) とすると漏れはありませんが、No.はすべて「0」となるのです。 何番目の重複かが分かる方法はありませんか。

  • 自動連番号について

    自動連番号について いつもお世話になります。 Windows XP EXCELL2003 です。 タイトルバーの各セルの色づけの意味は A B C D バックが黄色は数式入りでロックがかかっています。 E F G H その都度手入力です。 当然ロックはかかっていません。 A列は自動で連番をしています。 B列は「重複」表示をしている以外は値がない空白です。 A B C Dの各列には数式及び条件付書式が以下のようにあります A2 =IF(E2="","",COUNTA($E$2:E2)) B2 =IF(OR(COUNTIF($F$2:F2,F2)>1,COUNTIF($K$2:K2,K2)>1),"重複","") 条件付書式  値に等しい =”重複” C2 =MID(I2,1,1) D2 =MID(F2,1,1)&MID(F2,2,1) I2  =PHONETIC(G2) 以上です。 ここでご相談若しくはご指導を仰ぎたいのは B列に 「重複」とされた所は連番を飛ばしたいのですが何かいい方はないでしょうか。 例えは A2 0001 A3 A4 0002 A5 0003 という具合になれば良いのですが。 よろしく御願いします。

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

    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 のそれぞれに反映 ご指導の程よろしく御願いします。

  • Excelの順不同の難しい重複チェックについて

        列A     列B     列C    列D     列E     列F     列G     列H 行1  愛      青      パンチ                            行2  愛      勇気     友達   BB    AA    CC            行3  勇気     愛      友達   AA    CC    BB            行4  勇気     弁護士    正義                             行5  勇気     愛                                     行6  コイ     ダイス    ダチ                             行7  ダイス    ダチ     コイ                             行8  友達     愛      勇気   CC    AA    BB 上記のような6列のデータ(データによってはB列で終わっていることもあります。) の順不同で行での重複をチェックする関数を知りたいです。 行2、3、8と行6、7が順番は違いますが同じデータなので重複と出したいです。 こちらのサイトで色々聞いたので、3列の場合には E1に↓を入れて下にコピー =IF(COUNTA(A1:C1)=0,"",A1&"_"&B1&"_"&C1&"_"&COUNTA(A1:C1)) D1に↓を入れて下にコピー =IF(SUMPRODUCT(1*(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(E$1:E1,A1,""),B1,""),C1,"")="___"&COUNTA(A1:C1)))>1,"重複","") 上記のように教わり、6列のデータが出てきてしまったので それに対応できるように、 列G1行目に =IF(COUNTA(A1:F1)=0,"",A1&"_"&B1&"_"&C1&"_"&D1&"_"&E1&"_"&F1&"_"&COUNTA(A1:F1)) こちらの関数を入れ下にドラッグし、 列H1行目には =IF(SUMPRODUCT(1*(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(H$1:H1,A1,""),B1,""),C1,""),D1,""),E1,""),F1,"")="___"&COUNTA(A1:F1)))>1,"重複","") 上記のように関数を追加したのですが、下記のような欲しいデータがどうしても出てきません。     列A     列B     列C    列D     列E     列F     列G     列H 行1  愛      青      パンチ                            行2  愛      勇気     友達   BB    AA    CC            行3  勇気     愛      友達   AA    CC    BB    重複      行4  勇気     弁護士    正義                             行5  勇気     愛                                     行6  コイ     ダイス    ダチ                     重複      行7  ダイス    ダチ     コイ                     重複      行8  友達     愛      勇気   CC    AA    BB    重複      3列の時にはできた関数なので6列も可能だと思うのですが何がいけないのか調べていたら こんな時間になってしまい、助けをお願いしたく再度書き込みしております。 何卒よろしくお願いいたします。

専門家に質問してみよう