• ベストアンサー

EXCELの数式結果で困っています(TEXT関数について)

A列に1から5までの数字どれかひとつを入力するとB列へ自動的に指定した文字を返す作業を試みています。 B1に下記の関数を入れましたが、数式の結果がおかしくなってしまい困っています。 A1に入力した『1』をB1には『10本』と反映したいので =TEXT(A1,("[=1]10台;[=2]20台;[=3]30台;[=4]40台;[=5]50台;;")) と入れましたが、数式結果が11台となってしまいます。 『10台』を数字とみなしてしまっているためなのか…と思い、いろいろ と修正を試みましたが、原因がわかりませんでした。 また、TEXT関数の他に何か良い方法がありましたら、ご伝授ください。 どうぞ、よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.8

#3です。 補足に関して、 ユーザー定義の書式に (1)文字色の書式記号の[] http://homepage1.nifty.com/kenzo30/ex_kisotoku/ex_ks_tokubetu3.htm (2)正の場合の書式;負の場合の書式;ゼロの場合の書式 のほかに3つまで書式が設定できるように見える場合があるますね [=1]"男子";[=2]"女子";;のように。 しかし;でいくつでも続けられるわけでなく、3つまでのようです。それを超えると#VALUE!になるようです。ですから質問の例では使えません。本来正負0の各場合の書式のはずが、[=1]"男子";[=2]"女子";;のように使える関連は、同じパターンに当たるのかどうか、よく理解できないでいます。 http://www.excel.studio-kazu.jp/lib/e3g/e3g.htmlの「基本」のところ http://kiyopon.sakura.ne.jp/situmon/kaitou/index07.htm (3)条件の書式記号 これも文字色の書式設定。 http://homepage1.nifty.com/kenzo30/ex_kisotoku/ex_ks_tokubetu3.htmの最後のあたり そういうことで =TEXT(A1,("[=1]10台;[=2]20台;[=3]30台;[=4]40台;[=5]50台;;")) は無理があります。

その他の回答 (7)

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.7

書式の数値の条件付きの設定は例外をいれて3個までです。 それと、"[=1]10台"だと、A1の数値は0のところに入りますよ。 文字列として表示なら"[=1]!1!0台"とする必要があります。 ※表示形式にユーザー定義でなら[=1]"10台"となります。 上記の場合なら数を10倍して台と入れるだけなので =TEXT(A1,"0!0台") または =TEXT(A1*10,"0台") ですね。 対応する内容が複雑な場合は別途対応表を作ってVLOOKUP等の関数を利用してください。

mikulover
質問者

お礼

回答ありがとうございます。 大変勉強になりました。

noname#16474
noname#16474
回答No.6

>また、TEXT関数の他に何か良い方法がありましたら、ご伝授ください。 入力する数値(1~5)と 返す値(10台~50台)を 表にして、 VLOOKUPで取り出したらいかがでしょうか? VLOOKUPの使用方法 http://homepage1.nifty.com/kenzo30/ex_kisotyu/ex_ks_tyukyu9_9_4.htm

参考URL:
http://homepage1.nifty.com/kenzo30/ex_kisotyu/ex_ks_tyukyu9_9_4.htm
mikulover
質問者

お礼

回答ありがとうございます。 参考URLで勉強します。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.5

>数式結果が11台となってしまいます 質問文にあるようにしてみましたが、 #VALUE! エラーになってしまいます。 何かが質問で書かれていることと違っていると思われるのですが・・

mikulover
質問者

補足

以前、下記の関数を使って作業した時は反映されました。 =TEXT(A1,("[=1]男性;[=2]女性;;")) ※数式結果は別のセルB1へ 今回も同様に数式内の表示形式を変えれば、反映されるのでは?と思い =TEXT(A1,("[=1]10台;[=2]20台;;")) にしたところ、『11台』になり、 また、数式内の表示形式を増やしてみると =TEXT(A1,("[=1]10台;[=2]20台;[=3]30台;[=4]40台;[=5]50台;;")) エラーになります。 言葉不足で申し訳ありませんでした。

noname#204879
noname#204879
回答No.4

TEXT関数に固執する理由は何ですか?

mikulover
質問者

補足

特に固執はしていないのですが、以前、下記の関数を使った時は反映 されたので。 =TEXT(A1,("[=1]男性;[=2]女性;;")) この数式はB1に入れました 同じような考えで数式内の表示形式を変えれば、反映されるのでは?と 思い =TEXT(A1,("[=1]10台;[=2]20台;;")) を入れたら『11台』という数式結果になったことに疑問を持ちました。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

A1の1とB1の10はいつも10倍なのですか。それとも他の法則・算出ルールjがあるのですか。 いつも10倍ならB1に=A1*10と入れて、書式(ユーザー定義)で###台とすればよい。 10本』と10台は、本と台で違うがそれでよいのですか。 =TEXT(A1,("[=1]10台;[=2]20台;[=3]30台;[=4]40台;[=5]50台;;")) はこんな書式見たことないですが、場合わけをしているのですか・場合わけはできましたっけ?急いで2,3WEBのTEXT関数を見たが、それらしきものは見つからず。

mikulover
質問者

補足

回答ありがとうございます。 以前、アンケート結果の入力作業をする際にTEXT関数を使ったことが ありました。(アンケートの回答は選択式で『1.男性 2.女性』のどち らかに○を記入)そのときの関数は =TEXT(A1,("[=1]男性;[=2]女性;;")) でした。 1を入力すると隣のセルに男性、2を入力すると女性を表示させて、 『男性』『女性』という文字をいちいち入力するのではなく、自動的に 表示されるように上記の関数を使いました。 今回も同じ考えで表示形式を『10台』と変更したところ、 =TEXT(A1,("[=1]10台;[=2]20台;;")) 『11台』という数式結果になったので、みなさんに質問しました。 また、入力する値と表示形式は倍数という決まりはありません。 >10本』と10台は、本と台で違うがそれでよいのですか。 こちらの誤りでした。『10台』が正しいので『10本』は誤入力です。 大変失礼いたしました。

回答No.2

関数を探してみたらこんなのがありました。 =CHOOSE(A1,"10台","20台","30台","40台","50台") A1の数値がそのまま第2引数の位置になります。 ただ、このままだと1~5しか対応できず、それ以外の値を設定するとエラーになってしまいます。 これを回避するために、上記の関数は別のセルにおいておき(これをB1とすると)、さらに結果を表示したいセルに =IF(ISERR(B1),"",B1) という関数をおくとベストかもしれません。

mikulover
質問者

お礼

エラー表示の対応も説明していただき大変感謝です。 まだまだ私の勉強が足りないことを痛感しました。 hamaken5031さん、本当にありがとうございました。

  • Jodie0625
  • ベストアンサー率30% (397/1288)
回答No.1

=CONCATENATE(TEXT(A1*10,"00"),"台") とかはどうでしょう。

mikulover
質問者

お礼

どうもありがとうございました。 以前、TEXT関数で作業をしたことがあり、その時の関数は =TEXT(A1,("[=1]男性;[=2]女性;;")) でした。 1を入力すると男性、2を入力すると女性という数式結果がきちんと反映 されたため、今回も同じ考えで表示形式を『10台』と変更したところ、 『11台』という数式結果になったので質問投稿してみました。 Jodie0625さん、本当にありがとうございました。

専門家に質問してみよう