9

Excel 2007スプレッドシートに、データを「COM[1-4]または1-65535」の値に制限する列があります。Excelにこの値のセットを適用させるにはどうすればよいですか?

TY、フレッド

4

4 に答える 4

9

あまり柔軟ではありませんが、Data Validation次の式でカスタムを使用できます。

=OR(AND(LEN(A2)=4,LEFT(A2,3)="COM",MID(A2,4,1)>="1",MID(A2,4,1)<="4"),OR(AND(A2>=1,A2<=65535)))

これで、コメントで指定したものに絞り込むことができると思います。

于 2013-01-16T21:22:10.427 に答える
8

正規表現をサポートするカスタム VBA 関数 (またはマクロ) を作成する必要があります。私は個人的にこれを行ったので、それが可能であることを知っています:-)

これが 1 回限りの問題である場合は、複雑なFIND()/ MID()/SUBSTITUTE()などを使用して解決できます (実際、これは私の日常業務です)。エクセル機能満載。

編集:提供する追加情報がある場合、または必要な場合は、これを更新します.

編集: Excel で正規表現を関数として使用する方法は次のとおりです。

Function REFIND(strValue As String, strPattern As String, Optional blnCase As Boolean = True) As Boolean

    Dim objRegEx As Object
    Dim blnValue As Boolean

    ' Create regular expression.
    Set objRegEx = CreateObject("VBScript.RegExp")
    objRegEx.Pattern = strPattern
    objRegEx.IgnoreCase = blnCase

    ' Do the search test.
    blnValue = objRegEx.Test(strValue)

    REFIND = blnValue End Function
End Function
于 2013-01-16T21:06:58.467 に答える
4

リボン >> データ >> データ検証で以下を使用します。次に、Allow = Custom を指定し、式に以下を追加します。

=OR(AND(E5 >= 1, E5 <= 65535), E5 = "COM1", E5 = "COM2", E5 = "COM3", E5 = "COM4")
于 2013-01-16T21:30:40.160 に答える