- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAで重複と未入力項目の判定をしたい)
VBAで重複と未入力項目の判定をする方法
このQ&Aのポイント
- VBAを使用してExcelで重複と未入力項目を判定する方法をご教示いたします。
- ユーザが情報を入力し、ボタンをクリックした際に、指定の条件に当てはまらないか判定する処理を盛り込む方法を解説します。
- VBA初心者でもわかるように、具体的なコード例を示しながら手順を説明します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
C1セルに以下のように入力して、必要なだけ下方向にコピーする。 =IF(AND(COUNTIF(D:D,D1)<>1,NOT(ISBLANK(D1))),IF(OR(ISBLANK(D1),ISBLANK(F1)),"重複/未入力有","重複有"),IF(OR(ISBLANK(D1),ISBLANK(F1)),"未入力有","")) ボタンなんか押す必要は無いし、D、E、F列にデータを入れた瞬間にC列の表示がリアルタイムに変わります。
その他の回答 (1)
- o_chi_chi
- ベストアンサー率45% (131/287)
回答No.2
条件をきちんと書かないと。 =IF(AND(COUNTIF(D:D,D1)<>1,NOT(ISBLANK(D1))),IF(OR(ISBLANK(D1),ISBLANK(F1)),"重複/未入力有","重複有"),IF(OR(ISBLANK(D1),ISBLANK(F1)),IF(AND(ISBLANK(D1),ISBLANK(E1),ISBLANK(F1)),"","未入力有"),"")) --- IF(OR(ISBLANK(D1),ISBLANK(F1)),"重複/未入力有","重複有"), は IF(ISBLANK(F1),"重複/未入力有","重複有"), で大丈夫だと思います。
質問者
お礼
記載いただいたやり方でも問題なくうまく動きました。 ありがとうございます。 また、条件記載の不備については申し訳ありませんでした・・・
補足
セルに関数を仕込むだけでもできる方法があったのですね。 大変参考になります。 しかしご教示いただいた関数ではD列、E列、F列がすべてブランクの 時に"未入力"が表示されてしまいます。 D列、E列、F列がすべてブランクの時は、C列もブランクとしたいのですが どうすればよいでしょうか??