エクセルの操作で質問です。

特定のセルにデータ入力規制を行うことで
整数や1~100までといった入力制限を
行うことが可能だと思いますが
この制限をIPアドレスのようなものに制限を
することは可能でしょうか?

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2007/02/22 13:34:00
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:taknt No.1

回答回数13539ベストアンサー獲得回数1198

ポイント27pt

どこかに IPアドレスのリストを作って そのリスト内という制限の仕方では ダメでしょうか?

http://www.relief.jp/itnote/archives/001190.php

id:quocard

ありがとうございます。

こういった方法もあるんですね。

とても参考になりました。

2007/02/22 13:32:18
id:SALINGER No.2

回答回数3454ベストアンサー獲得回数969

ポイント27pt

入力規則で「データの設定」を「ユーザー設定」でやる方法。

数式を次のように入れます(そのセルがA1の場合)

=IF(COUNTIF(A1,"http://*")=1,TRUE,IF(COUNTIF(A1,"https://*")=1,TRUE,FALSE))

後はA1をドラッグして他のセルに適用します。

この場合簡単な[http://]や[https://]で始まるものだけで、純粋なアドレスではありませんのであしからず。

id:quocard

ありがとうございます。

if文でそれぞれ分岐を行って

ダメならという方法ですね。

参考にさせていただきます。

2007/02/22 13:32:58
id:foxskin No.3

回答回数76ベストアンサー獲得回数3

ポイント26pt

A1にアドレスを入力するとして、

B1に=IF(VALUE(MID($A1,1,3))<=255,IF(VALUE(MID($A1,5,3))<=255,IF(VALUE(MID($A1,9,3))<=255,IF(VALUE(MID($A1,13,3))<=255,IF(LENB(A1)<=15,"○","×"),"×"),"×"),"×"),"×")

A1の入力規則をユーザー設定にして、数式欄に=B1="○"

とすれば、どうでしょうか?

B1の255の数値を変えればアドレスの範囲も規制できます。

id:quocard

他の部分に定義して

それから判定を行うという方法

とても参考になります。

ありがとうございます。

2007/02/22 13:33:38
  • id:luxon
    これ、難しいので「名人」が表れないかと期待してウォッチしてたんですが、スーパー回答はなかったですね。
    foxskinさんのが一番近そうですが、桁数が3桁とは限らないのですよね。
    255.64.100.3
    とか。
    "."を検索してというのは面倒...って、↑のような形式だと定義されてはいないか。まぁ前処理で
    255064100003
    のように一律12桁に変換して、その後で3桁ずつ見ていくというのが正解ですかね。
    つまりリアルタイムのチェックはあきらめる、と。残念だなぁ。
  • id:foxskin
    FIND(".",$A1,1)、FIND(".",$A1,FIND(".",$A1,1)+1)、FIND(".",$A1,FIND(".",$A1,FIND(".",$A1,1)+1)+1)で"."の位置を取得して、MID関数の開始位置と文字数に入れてやれば、3桁じゃなくても可能ですよね。
  • id:luxon
    あ、そうですよね。「"."を検索するのは面倒」なんて書いている自分のコメント見て、これって思考放棄の老化現象?とビクリ。やばいやばい、仕事が終わったら試してみよう。
  • id:llusall
    「入力規則」-「データの設定」-「ユーザー設定」で、「ユーザ定義関数」を使えば簡単じゃん・・・と思われましたが、使えないのね。

    「入力規則」にこだわらないというのであれば、
    ワークシートのイベントでVBAでチェックですね。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません