365・LibreOfficeなどに関するメモ2022-03-23(Excel)全角数字だけを半角にするExcelExcelで、文字列中の全角数字だけを半角数字に変換する方法についてです。対象となる文字が10種だけなのでメニュー操作やSUBSTITUTE関数でもできそうですが、ここでは関数を使った別の例を試してみます。各種関数を応用して文字列中の全角数字だけを半角数字に変換することができます。次の画像ではB列に変換前の文字列が入力されています。これに対しC3セルに式を入力し、下方にコピーすることで文字列中の全角数字だけを半角数字に変換しています。B6セルのエラーインジケータ(緑の三角)は「数字が文字列として保存されています」によるものです。C3セルの式は次のようなものです。C3セル=LET(x,MID(B3,SEQUENCE(LEN(B3)),1),CONCAT(IFERROR(VALUE(x),x)))「MID(B3,SEQUENCE(LEN(B3)),1)」によりB3セルの文字列を1文字ずつ分割し、LET関数によりこれをxと名付けています。x(の各文字)をVALUE関数で評価し(ここで全角数字だけが半角数字になります)、エラーになる文字(全角数字でも半角数字でもない文字)については元の文字に戻すようにして最後にCONCAT関数で連結しています。注意点としては、数値として保存されているセルの内容も文字列に変換されます(B7セル→C7セルの例)。日付は対応するシリアル値を文字列に変換したものとなります。次の記事では全角英字も含めて半角にする例を示しています。複雑になりますが参考まで。365はデスクトップ版、LibreOfficeは記事作成時の安定バージョンを用いた結果を示しています。サイトポリシー等についてはこちらをご覧ください。(1)検索スポンサーリンク引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。