Excel 2007スプレッドシートに、データを「COM[1-4]または1-65535」の値に制限する列があります。Excelにこの値のセットを適用させるにはどうすればよいですか?
TY、フレッド
Excel 2007スプレッドシートに、データを「COM[1-4]または1-65535」の値に制限する列があります。Excelにこの値のセットを適用させるにはどうすればよいですか?
TY、フレッド
あまり柔軟ではありませんが、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)))
これで、コメントで指定したものに絞り込むことができると思います。
正規表現をサポートするカスタム 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
リボン >> データ >> データ検証で以下を使用します。次に、Allow = Custom を指定し、式に以下を追加します。
=OR(AND(E5 >= 1, E5 <= 65535), E5 = "COM1", E5 = "COM2", E5 = "COM3", E5 = "COM4")