- ベストアンサー
Excelの計算式または関数について
- Excel2007を使用しています。問題として、A列のセルに入力された数値と他のセルの数値を比較し、「重複」と表示する処理を行いたいです。
- 具体的には、A1からA10までのセルに数値が入力されていて、A11に新たな数値が入力された場合、その数値がA1からA10のどれかと重複していれば、B11のセルに「重複」と表示したいです。
- また、A12やA13以降にも同様の処理を行いたいです。入力された数値が他のセルと重複していれば、それに対応するB列のセルに「重複」と表示するようにしたいです。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
私でしたら、B1セルに「=IF(COUNTIF($A:$A,A1)>1,"重複","")」と入力して、B列の適当な行までドラッグしておきます。 この式は、A1セルにあるのと同じ値がA列にいくつ存在するか調べ、それが1より大きい=2つ以上あれば「重複」とし、なければ「空白」とせよという式です。 「A1」は絶対参照にしていませんので、2行目以降は、それぞれA2、A3と大きくなっていきます。 ただし、この場合「重複」という文字は、重複した双方に出ます。 つまり、A1セルとA10セルの値が同じであった場合、B1とB10の双方に「重複」と出ます。
その他の回答 (3)
- kagakusuki
- ベストアンサー率51% (2610/5101)
御質問の内容に対する直接的な回答では御座いませんが、既に入力済みの値と同じ値を、重複して入力する事を防ぐ方法として、入力規則を使用するという方法も御座います。 A1セルを選択 ↓ Excelウィンドウの[データ]タブをクリック ↓ 「データツール」グループの中にある[データの入力規則]ボタンをクリック ↓ 現れた選択肢の中にある[データの入力規則]をクリック ↓ 「データの入力規則」ダイアログボックスの[設定]タブをクリック ↓ 「入力値の種類」欄をクリック ↓ 現れた選択肢の中にある[ユーザー設定]をクリック ↓ 「数式」欄に次の数式を入力 =COUNTIF(A:A,A1)=1 ↓ 「空白を無視する」と記されている箇所にチェックが入っていることを確認 ↓ 「データの入力規則」ダイアログボックスの[エラーメッセージ]タブをクリック ↓ 「無効なデーターが入力されたらエラーメッセージを表示する」と記されている箇所にチェックが入っていることを確認 ↓ 「スタイル」欄が[停止]となっていることを確認 ↓ 「タイトル」欄に「重複あり」と入力 ↓ 「エラーメッセージ」欄に「同じ列内の別のセルに入力されている値と、同じ値を重複して入力する事は出来ません。」と入力 ↓ 「データの入力規則」ダイアログボックスの[OK]ボタンをクリック ↓ A1セルを右クリック ↓ 現れた選択肢の中にある[コピー]をクリック ↓ A2以下の(値が重複して入力される事を防ぎたい)セル範囲をまとめて範囲選択 ↓ 選択範囲を示す黒い太枠の内側にカーソルを合わせてから、マウスをを右クリック ↓ 現れた選択肢の中にある[形式を選択して貼り付け]をクリック ↓ 現れた「形式を選択して貼り付け」ダイアログボックスの中にある[入力規則]と記されている箇所をクリックして、チェックを入れる ↓ 「形式を選択して貼り付け」ダイアログボックスの[OK]ボタンをクリック これで、A列の中に既に入力済みの値と同じ値を入力しようとしましても、 「重複あり」 「同じ列内の別のセルに入力されている値と、同じ値を重複して入力する事は出来ません。」 というメッセージが表示されて、入力が出来ないようになります。 但し、セルのコピー&ペーストを使用しますと、複数の重複した値を貼り付ける事が出来てしまいますので、他の回答者の方の方法等で、重複した値が入力された際には、値が重複している事を判りやすく表示するようにしておいた方が良いと思います。 又、重複した値が入力された際に、値が重複している事を判りやすく表示する方法としましては、御質問の内容の様な方法の他にも、「条件付き書式」機能を使用して、重複した値が入力されているセルの色が変わるように設定しておく、という方法も御座います。 A1セルをクリック ↓ [ホーム]タブをクリック ↓ 「スタイル」グループの中にある[条件付き書式]ボタンをクリック ↓ 現れた選択肢の中にある[ルールの管理]をクリック ↓ 現れた「条件付き書式ルールの管理」ダイアログボックスの中にある[新規ルール]ボタンをクリック ↓ 現れた「新しい書式ルール」ダイアログボックスの「ルールの種類を選択してください」欄の中にある[数式を使用して、書式設定するセルを決定]を選択してクリック ↓ 現れた「次の数式を満たす場合に値を書式設定」欄に =AND(A1<>"",COUNTIF(A:A,A1)>1) と入力 ↓ 「新しい書式ルール」ダイアログボックスの[書式]ボタンをクリック ↓ 現れた「セルの書式設定」ダイアログボックスの[塗りつぶし]タブをクリック ↓ 現れた背景色のサンプルの中にある適当な色(例えば目立つ色である赤色)の四角形をクリック ↓ 「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック ↓ 「新しい書式ルール」ダイアログボックスの[OK]ボタンをクリック ↓ 「条件付き書式ルールの管理」ダイアログボックスの中にある[適用]ボタンをクリック ↓ 「条件付き書式ルールの管理」ダイアログボックスの中にある[OK]ボタンをクリック ↓ A1セルを右クリック ↓ 現れた選択肢の中にある[コピー]をクリック ↓ A2以下の(値が重複して入力される事を防ぎたい)セル範囲をまとめて範囲選択 ↓ 選択範囲を示す黒い太枠の内側にカーソルを合わせてから、マウスをを右クリック ↓ 現れた選択肢の中にある[形式を選択して貼り付け]をクリック ↓ 現れた「形式を選択して貼り付け」ダイアログボックスの中にある[書式]と記されている箇所をクリックして、チェックを入れる ↓ 「形式を選択して貼り付け」ダイアログボックスの[OK]ボタンをクリック
お礼
kagakusukiさん、回答ありがとうございます。私の求めていた回答とはちょっと違いますが大変参考になりました。
- K Kazz(@JazzCorp)
- ベストアンサー率31% (549/1751)
B11: =IF(COUNTIF($A$1:$A10,$A11)>0,"重複","") 以下、コピー
お礼
JazzCorpさん回答ありがとうございます。私の質問の仕方が悪かったのですが、A11より上A1からA10の範囲にも適用できるような計算式が必要だったのです。 .
- keithin
- ベストアンサー率66% (5278/7941)
B11に =IF(COUNTIF($A1:A11,A11)>1,"重複","") と入れて下向けにコピーして埋めておくだけでいいです。
お礼
keithinさん回答ありがとうございます。私の質問の仕方が悪かったのですが、A11より上A1からA10の範囲にも適用できるような計算式が必要だったのです。
お礼
ka28miさん回答ありがとうございます。私が求めていた計算にぴったりです。A1からA10の範囲にも適用できるのが素晴らしいです。