- ベストアンサー
期間内での重複の確認方法と対策
- WINDOWS7 EXCEL2010を使用して期間内での重複を確認する方法を教えてください。
- 具体的な数式と条件付書式の設定方法を教えていただけると助かります。
- 期間内の重複を防止するための対策も教えていただけると幸いです。
- みんなの回答 (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)),"","重複"))
その他の回答 (2)
- KURUMITO
- ベストアンサー率42% (1835/4283)
作業列を作って対応します。 お示しのような作業列は無いものとして新たに作成します。 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))),"","重複"))
補足
早速ご指導を賜り有難うございます。 ご指導でテストさせていただきました。 参照図で言いますと何故か5行目に「重複」が表示されません。 参考に F2~ 1 4 4 6 2 とでています H列は 4行目、6行目には 「重複」表示されてます 誠に申し訳ありませんが再度ご指導いただけませんんか。
入力規則で入所日は前回の入所日より古い日付でないと入力できないように設定する事を検討されては如何でしょう。 B2セルを選択 「データ」タブ→「データの入力規則」アイコンクリック 設定タブ 条件の設定 入力値の種類(A)→「日付」選択 データ(D)→「津比の値より大きい」選択 次の日から(S)→=B2と式を入力 OKボタンで終了 B2を下方へフィルコピー 前回退所日と同日も記入して良いのであれば数式は=B2-1となります。 退所日も設定出来ますので、A2を選択し、上記のように設定し数式が=A1とすれば良いだけです。 2010の日付 入力規則は下記サイトご参照 http://park.geocities.jp/cheflapin/data/data0007
補足
折角ご回答いただき申し訳ありません。 私の説明がなく済みませんでした。 再度添付の図で説明させていただくと 入所 退所 部屋記号(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 が私の方法ではヒットしません。 この期間内の重複を何らかの方法でご教示いただきたいのです。 よろしくお願いします。
お礼
下記を試させていただきました。 =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)),"","重複")) 私が要望していた通りで ばっちりでした。 ご苦労かけて誠に済みませんでした。 ありがとうございました。