- ベストアンサー
TEXT・LEFT・LEN関数等を使用する表示方法
エクセルのセルの書式設定→ユーザー定義で、セルA1に、例えば 「00011」等5桁の数字を入力すると「00-011」と表示される様に設定 した場合、LEFT関数を使って左の2文字・・・この場合は「00」をB1に 表示させたいのですが、どうしたらよいでしょうか。 「0」以外で始まる数字も使いたいので(例えば「11243」等)、ゼロで始 まる文字列、そうでない文字列、その両方に有効な関数式があったらお 願い致します。ユーザー定義は出来れば使いたいです。 宜しくお願い致します。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
やり方はいっぱいありますね。 =TEXT(INT(A1/1000),"00") =LEFT(TEXT(A1,"00000"),2) =MID(A1+10^5,2,2) などなど。
その他の回答 (4)
- gyouda1114
- ベストアンサー率37% (499/1320)
>何故か「03-123」「04-123」等で入力すると「30」あるいは「40」と< =IF(A1="","",TEXT(LEFT(A1,2),"00")) は、A列が文字列でないと03、04と表示されません ようするにLEFT関数は、表示形式で設定した0は、判定しないようです。00-000のときなぜ表示されるかは、不明です。 A列が数値のときは、他の方の回答でどうぞ
お礼
gyouda1114様 何度もお手数おかけして申し訳ありません。 「00」と「03」や「04」、何故「00」はOKで他が駄目なのか 戸惑いましたが色々勉強になりました。 また何かありましたら、ご回答宜しくお願い致します。
- gyouda1114
- ベストアンサー率37% (499/1320)
回答番号:No.1 です。 修正します。 先ほどの式は00-123のとき、0となってしまいます。 次に修正です、A1が数値でも文字列でも対応できます =IF(A1="","",TEXT(LEFT(A1,2),"00"))
お礼
gyouda1114様、ご回答有難うございます。 00-123の場合「00」と表示されました。有難うございます。 何故か「03-123」「04-123」等で入力すると「30」あるいは「40」と 表示されてしまうので、どこか自分のやり方にミスがあるのかもしれま せん。もう一度挑戦してみます。 またどうぞ宜しくお願い致します。
- shikisaito
- ベストアンサー率52% (257/491)
=TEXT(INT(A1/1000),"00")
お礼
shikisaito様 有難うございます。 急いでいたので、早々のご回答に感謝致します。 皆さんに教えて頂いてやり方は1つではなく、色々な方法が ある事もわかりました。 またどうぞ宜しくお願い致します。
- gyouda1114
- ベストアンサー率37% (499/1320)
これでは、だめですか =LEFT(A1,2)
お礼
Chiquilin様 ご回答有難うございます。 教えて頂いた全ての方法で出来ました。 自分で色々やってみたのですが、どうもうまくいきませんでした。 夫々の関数の使い方もよく自分で把握していないので、使いこなせ る様に勉強したいと思います。 またどうぞ宜しくお願い致します。