0000~9999までの数値があります。この数値群の左から2桁目だけを取り出したいです。例えば、「1234」の場合は「2」のみ。「0093」の場合は、「0」のみといった具合です。LEFT関数等使ってみているのですが、うまく出来ません。ご教授いただけませんでしょうか?
仕事上でかなり急いでおります。よろしくお願いいたします。
0000~9999までの数値があります。
具体的に、どのような方法で4桁にしているのでしょうか?
(1)文字として4桁で入力
(2)セルの書式で、表示を「0000」にするなどの方法で見た目で4桁にしている
その他、いろいろ考えられると思いますが。
例えば、A列に数値が入っているとして、text関数で4桁の文字に整形(前には0を詰める)し、左から2桁目だけ取り出すといった方法であれば、mid関数と組み合わせればできると思いますが。
=MID(TEXT(A2,"0000"),2,1)
A列に"0000"~"9999"の数値で格納されているとして、
B列に「=IF(A1>999,MID(TEXT(A1,0),2,1),IF(A1>99,LEFT(TEXT(A1,0),1),"0"))」(以下B列にコピー)
の数式を記述すると、A列の左から2桁目(100の位)だけが取得できます。
もし、A列の数値が文字列で格納されているのであれば、単に「=MID(A1,2,1)」で左から2桁目だけが取得できます。
参考URL
TEXT:テキスト【表示形式を適用した文字に変換する】(日経PC21)
MID:ミッド【指定した場所から文字を取り出す関数】(日経PC21)
0000~9999までの数値があります。
具体的に、どのような方法で4桁にしているのでしょうか?
(1)文字として4桁で入力
(2)セルの書式で、表示を「0000」にするなどの方法で見た目で4桁にしている
その他、いろいろ考えられると思いますが。
例えば、A列に数値が入っているとして、text関数で4桁の文字に整形(前には0を詰める)し、左から2桁目だけ取り出すといった方法であれば、mid関数と組み合わせればできると思いますが。
=MID(TEXT(A2,"0000"),2,1)
質問の解釈は、そのままで良いのでしょうか?
抽出する値は、左から数えた桁数ですか?
それとも右から数えた桁数(百の桁を指定など)ですか?
後者の場合は、次の数式が良いと思います。
=LEFT(RIGHT(TEXT(A1,"000"),3),1)
右から3桁分の値を抽出し、そこから1桁だけ取り出しています。
桁数の変更や小数点があっても、変わらず百の桁を抽出できます。
すでに回答に上がっていますが、
=MID(TEXT(A19,"0000"),2,1)
でいけると思います。
おそらく、LEFT関数から抽出した2桁を
加工して処理されようとして混乱されたのではないでしょうか?
MID関数は指定の桁数を指定位置(左から何番目か)から抜き取るものです。
LEFT関数などと一緒に覚えておいたほうがいいかもしれません。
コメント(0件)