hiroton
2023/08/04 (金) 10:49:57
d10a0@f966d
ACCESSの関数を使ってやるなら
その1
式1: Val("0" & Mid([フィールド],Len(Left(Left(Left(Left(Left(Left(Left(Left(Left(Left([フィールド],InStr([フィールド] & "0","0")),InStr([フィールド] & "1","1")),InStr([フィールド] & "2","2")),InStr([フィールド] & "3","3")),InStr([フィールド] & "4","4")),InStr([フィールド] & "5","5")),InStr([フィールド] & "6","6")),InStr([フィールド] & "7","7")),InStr([フィールド] & "8","8")),InStr([フィールド] & "9","9")))))
その2
式2: Val("0" & Mid([フィールド],InStr(Eval("IsNumeric(""" & Replace(Format([フィールド],Replace(String(Len([フィールド]),"&"),"&","&}{") & "&"),"}{",""")+0 & IsNumeric(""") & """)+0") & "-","-")-1))
※Eval関数が入力できないようなのでEvalを全角で記入しています
既存データの整形をしたいってだけならExcelでごりごりやるのが簡単だと思うけどね
通報 ...
もうちょっと頭を柔らかくしてみる
無理やり短くする
そもそも「数字」を見つけたいのだから「間違ってヒットしてしまわないような単語(
{}
)を用意する必要はなく、ヒットさせる文字自体も変換する必要ないのだからもっと短くなるねまだまだ頭が固い証拠