プロが教える店舗&オフィスのセキュリティ対策術

初心者です。エクセル2000 で入力します。すみませんが、教えてください。
 A列のデータが4桁ならB列に 01 を記入、A列のデータが6桁なら 60 を記入、A列のデータが7桁なら 06 を記入したいのです。

     A列       B列
1行  4001  →→ 01
2行  270006 →→ 60
3行  6300021 →→ 06 
4行  4101   →→ 01
5行  271001 →→ 60
6行  6200032 →→ 06

A 回答 (5件)

直訳的な数式ですが・・・



セルB1に下記を入力して、下にオートフィルしてください。
=IF(LEN(A1)=4,"01",IF(LEN(A1)=6,"60",IF(LEN(A1)=7,"06","")))

なお、4桁、6桁、7桁 以外の桁数では、空白になります。
また、"01" "60" "06" は文字列で表示するために「" "」でくくっています。

「LEN関数の使い方」
http://excel.onushi.com/function/len.htm
    • good
    • 0
この回答へのお礼

有難うございます。うまく記入できました。LEN関数の使い方も参考になりました。

お礼日時:2007/09/18 22:28

◆ついでに、4桁、6桁、7桁 以外の桁数では、空白にするには


★少し、式が長くなりますが
B1=IF(OR(LEN(A1)={4,6,7}),LOOKUP(LEN(A1),{4,6,7},{"01","60","06"}),"")
    • good
    • 0
この回答へのお礼

有難うございます。うまく記入できました。

お礼日時:2007/09/18 22:24

◆こんな方法もありますよ


B1=CHOOSE(LEN(A1),,,,"01",,"60","06")
または、
B1=LOOKUP(LEN(A1),{4,6,7},{"01","60","06"})
★下にコピー
    • good
    • 0
この回答へのお礼

有難うございます。うまく記入できました。

お礼日時:2007/09/18 22:25

[ユーザー定義]で 00 に書式設定したセル B1 に次式を入力して、此れを下方にズズーッと複写


=(LEN(A1)=4)+(LEN(A1)=6)*60+(LEN(A1)=7)*6
    • good
    • 0
この回答へのお礼

有難うございます。うまく記入できました。

お礼日時:2007/09/18 22:29

桁数は LOG10という関数と 切捨て(INTまたはRoundDown)を使います


あと桁数によって 文字を入れていけばいいので INDEX関数等で 指定します

A列が0より大きい場合は 
=INDEX({"XX","XX","XX","01","XX","60","06","XX"},INT(LOG(A1))+1)
    • good
    • 0
この回答へのお礼

有難うございます。うまく記入できました。INDEXを使う方法も有るのですね。

お礼日時:2007/09/18 22:31

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!