hiroton
2023/01/25 (水) 11:07:38
c57a5@f966d
1-a-7 < 2-a-1 となるような処理
それぞれ独立させて抽出じゃなくて組み合わせた状態で範囲を取りたいということなんですね
| コード1 | コード2 | コード3 |
|---|---|---|
| =1 | =a | 7以上 |
| =1 | aより大きい | |
| 1より大きい | ||
| 2より小さい | ||
| =2 | aより小さい | |
| =2 | =a | 1以下 |
データの桁数気にするのも面倒なので、独立させたまま処理させたほうがいいと思いますが、かなり複雑な条件になりますね。長整数型のコードの最大桁数が決まっている(テキスト型は桁数固定)として桁を揃えたテキスト型化するのであれば、やはりVBAで処理させてしまうのが楽でしょう
Function 桁揃え3_n_3(txt)
Dim 分割テキスト
分割テキスト = Split(Nz(txt), "-")
If UBound(分割テキスト) <> 2 Then
桁揃え3_n_3 = Null
Exit Function
End If
分割テキスト(0) = Right("000" & 分割テキスト(0), 3)
分割テキスト(2) = Right("000" & 分割テキスト(2), 3)
桁揃え3_n_3 = Join(分割テキスト, "-")
End Function
計算式でやるなら
Right("000" & Left([テキスト],InStrRev([テキスト],"-")),6) & Right(Replace([テキスト],"-","000"),3)
通報 ...