セル式で文字列パターンマッチング・数値判定 | |
---|---|
[133948] セル式で文字列パターンマッチング・数値判定- ■親トピック/記事引用/メール受信=OFF■ □投稿者/ ジャングルジムの王者たーちゃん -(2023/09/03(05:00)) □U R L/ 1) 特定の文字列パターンがセルに入力された時に セル背景の色を条件付き書式で設定したいと考えています。 パターンは正規表現的に表現すると [0-9][0-9]-[0-9][0-9][0-9]_.* (「半角数字2桁」「_」「半角数字3桁」「_」「任意の文字列」) ※実際には数字部分はもっと複雑です。 VBAを使用せずに実現できますでしょうか? 条件付き書式で、数式によって判定するで、 数式に「=(A1 Like "[0-9][0-9]-[0-9][0-9][0-9]_.*")」 みたいに設定するイメージです。 (イメージを記載しているので、上記は当然エラーです。) ※VBAは使用禁止です。 上記が正規表現的な指定が無理な場合は、下記を検討しています。 これならばVBAを使用せずに、実現できるのではないかと考えています。 2) =AND(ISNUMERIC(MID(A1,1,2)),MID(A1,3,1)="-",ISNUMERIC(MID(A1,4,3)),MID(A1,7,1)="_") 実際には数字部分はもっと複雑なので、AND引数に指定する数は大量になってしまいますが、 これならば実現できると思ったのですが、 数字判定ISNUMERICがFALSEになり、無理でした。 こんな感じで、セル数式のみで表現できますでしょうか? |
[133949] Re[1]: セル式で文字列パターンマッチング・数値判定- ■記事引用/メール受信=OFF■ □投稿者/ 半平太 -(2023/09/03(09:58)) □U R L/ >(「半角数字2桁」「_」「半角数字3桁」「_」「任意の文字列」) >※実際には数字部分はもっと複雑です。 その「複雑」の内容を説明いただかないと始まらないです。 >数字判定ISNUMERICがFALSEになり、無理でした。 ワークシート関数は「ISNUMBER」ですよ。つまり・・ >=AND(ISNUMERIC(MID(A1,1,2)),MID(A1,3,1)="-",ISNUMERIC(MID(A1,4,3)),MID(A1,7,1)="_") ↓マイナスを掛ける =AND(ISNUMBER(-MID(A1,1,2)),MID(A1,3,1)="-",ISNUMBER(-MID(A1,4,3)),MID(A1,7,1)="_") 複数桁一括評価なので、こう言うのもOKになりますけどね。 「-1-345_abe123」 ところで、エクセルのバージョンは何ですか? 複数ある場合は、一番古いバージョンを提示してください。 |
[133960] Re[2]: セル式で文字列パターンマッチング・数値判定- ■ ![]() □投稿者/ ジャングルジムの王者たーちゃん -(2023/09/04(20:12)) □U R L/ >その「複雑」の内容 数字の桁数は、数字のブロックの数が多くなるだけで、他は提示した通りです。 (1)の正規表現で実現できるなら、複雑さは変わらないですが、 (2)のISNUMBERを使用した案の場合、AND引数に大量に指定しなければならなくなります。 ----------- ISNUMERICとISNUMBERは誤記でした。すみません。 マイナスを掛けることで、正しく数字判定ができるようになりました。 ありがとうございました。 |
[133961] Re[3]: セル式で文字列パターンマッチング・数値判定- ■ ![]() □投稿者/ ジャングルジムの王者たーちゃん -(2023/09/04(20:13)) □U R L/ #訂正。たびたびすみません。 数字の桁数は、数字のブロックの数が ↓ 数字の桁数や数字のブロックの数が (2)の案で実現できたので、解決とさせてもらいました。 ありがとうございました。 |
このトピックに書きこむ |
---|