- ベストアンサー
LEFT関数を使って、ハイフンをとりたい
xlsやaccessで、410-0017といった数字の並びを、別のセル、レコードで 4100017と表示させたいのですが、これLEFT関数でできますか? 常に4番目にハイフンがくる数字の並びです。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
ANo.2です。 又、 >常に4番目にハイフンがくる という場合には、次の様な方法もあります。 =REPLACE(A1,4,1,) 後それから、ANo.2と上記の私の方法や、ANo.1様の方法では、得られるデータは数値データではなく、文字列データとなりますが、もし、得られるデータを数値に変換したい場合には、VALUE関数を使うか、或いは、1を掛けるか、0を足す事で、数値に変換可能です。 =SUBSTITUTE(A1,"-",)*1 =SUBSTITUTE(A1,"-",)+1 =VALUE(SUBSTITUTE(A1,"-",)) =REPLACE(A1,4,1,)*1 =(LEFT(A1,3)&RIGHT(A1,4))*1
その他の回答 (3)
- mshr1962
- ベストアンサー率39% (7417/18945)
LEFT関数だけでは出来ないというのが正解ですね。 最低限RIGHT関数かMID関数を一緒に使わないと出来ません。 EXCELの方は出てるのでACCESSの方だと テキスト形式なら 新フィールド名:Replace([フィールド名],"-","") 数値形式(長整数)なら 新フィールド名:CLng(Replace([フィールド名],"-",""))
- kagakusuki
- ベストアンサー率51% (2610/5101)
LEFT関数ではなく、SUBSTITUTE関数を使います。 例えば、元となる数字の並びがA1セルに入力されている場合、次の様な関数になります。 =SUBSTITUTE(A1,"-",)
- YNWA311YNWA
- ベストアンサー率0% (0/1)
A1セルに410-0017があったとして =LEFT(A1,3)&RIGHT(A1,4) でハイフンはとれると思います。 または 1列目(B列)に =LEFT(A1,3) 2列目(C列)に =RIGHT(A1,4) 3列目(D列)に =CONCATENATE(b1,c1) で繋げると 後でオートフィルタ使ったりするときに便利なのかも と思います。