システムwiki

Excelのデータ検証

KohChin 受付中 最終更新日:2021-06-15 01:58

こんにちは、

このフォーマットのセル内のデータの検証については、Excelでデータを検証するための式を作成する必要があります.

[5文字].[4文字].[3番号]!_[2文字]、および最初の2つの単語の最初の2文字、大文字の最初の2文字、以下に示す例:

セットに適合するデータ入力の例:

kathy.john.289!_pc

ありがとうございました!

返信リスト(回答:9)

2 #
Jeovany

こんにちはkoh

私はあなたが大丈夫であることを願っています

あなたはあなたの問題に対する解決策を見つけるためにこのコミュニティに到達しました.

解決策は

です

それについてのフィードバックを教えてください

最後の連絡からあなたと数日が経ちました.

応答2# ->にスキップ
1 #
KohChin

こんにちはみんな!

援助をありがとうございました.それは私にとって良いことでした、仕事で忙しいだけです.

特にこの試練の時代に、みんなを世話してください、そしてはい、私はそれを理解することができました.

4 #
Fritzie

私も検証を長さに追加します:
=および(厳密に(extext(左(A1,5))、LEN(左(A1,5))= 5)、正確に(左(A1,1)、上(左(A1,1))、MID( A1,6,1)= "."、正確な(MID(A1,7,1)、上(MID(A1,7,1))、ISTEXT(MID(A1,7,3))、isNumber(値) (MID(A1,11,3))、MID(A1,14,2)= "!_"、ISTEXT(MID(A1,16,2))、LEN(A1)= 17)

応答4# ->にスキップ
3 #
Jeovany

@fritzie

文字の全長は18

でなければなりません

5 + 4 + 3 + 2= 14 + 2ドット+感嘆符+アンダースコア= 18

5 #
Jeovany

こんにちはkoh

を試してみてください

= and(正確な(正確な(左(A3,10))、左(A3,10))、ISTEXT(左(A3,10))、MID(A3,6,1)= "."、isNumber(value( MID(A3,12,3))、MID(A3,15,2)= "!_"、正確(右(A3,2))、(右(A3,2)))、ISTEXT(右) (A3,2)、Len(A3)= 18)

前の答えのビデオに加えて、下のリンクも確認することができます.

https://exceljet.net/data-validation-formulas.

これがあなたを助けることを願っています.

の場合は、回答としてこのスレッドをマークすることを検討してください.それは同様の質問や問題を抱えているコミュニティの他人を助けるでしょう.

事前にありがとう

6 #
Fritzie

こんにちは、それは完璧ではないかもしれませんが、あなたはこの式で作業することができます:
=および(厳密に(extext(左(A1,5))、LEN(左(A1,5))= 5)、正確に(左(A1,1)、上(左(A1,1))、MID( A1,6,1)= "."、正確な(MID(A1,7,1)、上(MID(A1,7,1))、ISTEXT(MID(A1,7,3))、isNumber(値) (MID(A1,11,3))、MID(A1,14,2)= "!_"、ISTEXT(MID(A1,16,2))
ありがとうございました.

9 #
Fritzie

こんにちは、
カスタム形式でデータ検証のためにこれらのリンクを確認することをお勧めします. https://www.youtube.com/watch?v=bdxqy60bct4. www.ablebits.com/office-addins-Blog... これが役立ちます.
良い一日を !

応答9# ->にスキップ
8 #
KohChin

こんにちはフリッツ!

返信をありがとうございました.

この場合、データの1番目と7文字目、小文字と残りの文字が小さくなる必要があります.

このガイドでは、これがどのように行うことができるかを理解することはできません.

これについてのさらなる援助を理解する

応答8# ->にスキップ
7 #
OssieMa

UDFで行うことができます(user definedfuncution)VBA(マクロ)コードで作成されました.ここであなたの専門知識がわからないので、私は次のような全ガイドラインを含みます.そうです
たくさんの指示がありますが、それは本当に難しいことではありません.

  • ALTとF11 VBAエディタwindows
  • を開く
  • VBAエディタでメニュー項目挿入->モジュール
  • メニュー項目ツール->参照
  • 「Microsoft VBScript正規表現5.5」が見つかるまで、ダイアログを下にスクロールしてボックスをオンにして[OK]をクリックします(あなたが箱をチェックすることを確実にし、アイテムを強調してください)
  • この投稿の最後にVBAコードをコピーして、VBAエディタに貼り付けます.
  • VBAエディタを閉じる(VBAエディタwindows の右上にある右上)
  • ワークブックをマクロで保存します.

マクロを次のように有効にしてください.

  • 開発者リボンが表示されていない場合は、リボンの1つの任意の場所を右クリックして「リボンのカスタマイズ」を選択します.
  • ダイアログの右側にあるボックスを「開発者」とチェックし、[OK]をクリックします.
  • 開発者リボンを選択します.
  • マクロセキュリティを選択します(開発者リボンの左端のコードブロック内)
  • 表示するダイアログは、デフォルトの左列のマクロにマクロに設定する必要があります.
  • 必要なセキュリティオプションボタンを選択します.(「通知を使用してすべてのマクロを無効にする」オプションはOKです.)
  • OKをクリックしてダイアログを閉じます.

UDF式を含む定義済みの名前を作成する(UDFをデータ検証から直接呼び出すことはできませんが、UDFを含む定義された名前で呼び出すことができます)を介して呼び出すことができます.

  • ワークシートのセルA1を選択します(これを行わない場合は定義済みの名前の作成に問題が発生する可能性があります)
  • 選択式リボン
  • を選択
  • 定義名
  • を選択
  • 名前フィールドに入る isvalid
  • スコープの横にあるドロップダウンをクリックして、作業中のワークシートを選択します.(他のワークシートにデータ検証が必要な場合はワークシートにスコープする必要があります)
  • フィールドの指して式を入力してください = StringValidate(A1) 注:=記号とA1は相対フォーマット(つまり、$標識)
  • です.
  • OK
  • をクリックします

同じデータ検証が他のワークシートで作業する場合は、データ検証が必要な各ワークシートについて上記を繰り返します.定義された名前とデータ検証を他のシートにコピーしないでください.

データ検証を作成します.

  • データ検証
  • のセルを選択します
  • データリボン
  • を選択
  • データ検証ドロップダウン->データ検証
  • を選択
  • 許可フィールドにカスタム
  • を選択
  • 式フィールドには式を入力します = isvalid
  • 空白を無視しない(必須または機能しません)
  • OK
  • をクリックします

データ検証セルをコピーすることができ、必要な他のセルを選択して特別->検証を貼り付けることができます.他のワークシートにはコピーしないでください.他のワークシートに別々に作成します.

問題がある場合は、私に戻って自由に感じます.

次のコードをすべてコピーしてVBAエディタに貼り付けます.

関数StringValidate(範囲としてのRNG)boolean

Dim Strtomatchは文字列

です

object

としてのDim RegexPOBJ

ImatchCollection2

としてのDim RegexpMatches

imatch2

のようにDim RequexpFound

stringvalidate= false

set regexpobj= new regexp

regexpobj.pattern= "[az] [az] [az] [az] [az] [az] [az] [az] [az] \.[0-9] [0-9] ]!_[az] [az] "

regexpobj.global= true

regexpobj.ignorecase= false

strtomatch= rng.value

set regexpmatches= regexpobj.execute(strtomatch)

regexpmatches(0).value= strtomatchの場合、StringValidate= true

終了関数

以下はコードの一部ではないのでコピーしないでください.以下のコードのパターンマッチングラインの説明です.

regexpobj.pattern= "[az] [az] [az] [az] [az] [az] [az] [az] [az] \.[0-9] [0-9] ]!_[az] [az] "

角括弧の間の線の各部分は、一致する文字の種類を表します.

[A-Z]任意の大文字

[a-z]任意の小文字

[0-9]任意の数字

\. DOTは実際に文字を表すために実際に使用されているので、後ろのスラッシュはエスケープですが、この場合は実際にドットを探しているので、背中のスラッシュがそれを伝えます.

感嘆符とアンダースコアは単一の文字であるため、角括弧で囲む必要はありません.