- 締切済み
計算式を教えて下さい。
計算して出た値が 1.1以上2未満は「あ」 2.1以上3未満は「い」 3.1以上4未満は「う」等、値の枠の横に自動で出るようにするには どの様な計算式を作ったらいいのか、御指導頂きたいです。 本を買って読んだりしてますが良く分からなくて困っております。 不可解なところがあれば是非レスを下さい。 ・・・と伺ったところ、下記の計算式を教えて頂きました。 =IF(A1<2,"あ", IF(A1<3, "い",IF(A1<4, "う", "え"))) 早速試したところ、出来ました。有難う御座います。 ところで、少し増えましたので(あ行・か行・さ行・・・) =IF(A1<2,"あ", IF(A1<3, "い",IF(A1<4, "う", "え",IF(A1<5, "お"))))・・・といった具合に さ行まで増やしていったところ(さ行まで必要な為)、下記のメッセージが出ました。 ≪指定した数式で使用されている入れ子のレベル数が、現在のファイル形式で許容される上限を超えているため数式を入力できません≫ ・・・とメッセージが出ました。 この場合の対処方法を教えて下さい。 何分無知な者ですので言葉足らずですが 何卒宜しく御願い致します。
- みんなの回答 (7)
- 専門家の回答
みんなの回答
- noah7150
- ベストアンサー率46% (116/251)
いやいや、こっちにと勧めたら・・・ 流石にOffice系のコーナー、良回答ばかり・・・ 別なところでLOOKUP関数を使えばとかきましたが 結果として同じでも人それぞれのやり方があり こちらも勉強になりました。 各方法には長所、短所があります。 記述ミス、メンテナンス等を考えるならやはり値と文字が見えるように Cellに書いてLOOKUP系の関数を利用したほうがいいでしょうね。 そうそう、私も以上、未満の言葉でピッタシになった時、何を入れるのかなぁなんて疑問がありました。 エラーになる計算式で考慮されて無いし・・・? 最後は考え方に一番合った方法を選びましょう
- jo-zen
- ベストアンサー率42% (848/1995)
IF文のネストは、Excel2007では64まで可能となったようですが、それ以前のバージョンでは7くらいだと思いますので、あなたがやりたいことをネストだけで実現するのは無理となります(2007のバージョンだとできますが、長すぎて構造がわかりづらくなりますのでお勧めできません) その代用として、以下のようにすればいいかと思います。(あくまで例です) E列にあ行を、E1 1 E2 あ行 E3 あ E4 い E5 う E6 え E7 お F列にか行を、F1 2 F2 か行 F3 か F4 き F5 く F6 け F7 こ G列にさ行を、G1 3 G2 さ行 G3 さ G4 し G5 す G6 せ G7 そ と入力して、範囲E1:G2 に「対応」という名をつける。また、範囲E2:E7 に「あ行」、範囲F2:F7 に「か行」、範囲G2:G7に「さ行」と名前をつける。名前のつけ方がわからなければ、以下のURLを参考にしてみてください。 http://kokoro.kir.jp/excel/name.html さて、A10に13.1という数字などが入っているとして、B10に対応するひらがなを表示させるとして、 C10に =INT((A10-1)/5)+1 D10に =INT(A10)-(C10-1)*5 E10に =HLOOKUP(C10,対応,2,TRUE) と入力して、 B10に =HLOOKUP(E10,INDIRECT(E10),D10+1,TRUE) としてあげればOKです。INDIRECT関数で参照範囲を切り替えているのです。この場合、C10~E10は作業セルとして使っています。50音すべてに増えても上記の範囲設定追加で対応できます。INDIRECT関数の詳細は、以下のURLを参考にしてみてください。 http://office.microsoft.com/ja-jp/excel/HP052091391041.aspx
- mu2011
- ベストアンサー率38% (1910/4994)
1.1以上2未満は「あ」 2.1以上3未満は「い」 3.1以上4未満は「う」 以上の条件では、「以上」はその値を含む、「未満」はその値を含まないでは「1,2,3」が分離から外れますがどうなんでしょうか。 IF関数のネスト規定数(8回)があり、又、文法上ネストは間違い易く、手直しが大変ですから以下の様な検索関数が便利です。 一例です。 範囲条件は、○以上■未満で、最後は○以上になっています。 =LOOKUP(A1,{0,1,2,3,4,5,6,7,8,9,10,11},{"","あ","い","う","え","お","か","き","く","け","こ","さ"})
- mshr1962
- ベストアンサー率39% (7417/18945)
=CHOOSE(A1+1,"","あ","い","う","え","お","か","き","く","け","こ","さ","し","す","せ","そ") または =LOOKUP(A1,{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},{",""あ","い","う","え","お","か","き","く","け","こ","さ","し","す","せ","そ",""}) または =MID("あいうえおかきくけこさしすせそ",A1,1) 下記のような表を作るなら(表の範囲の例 $C$1:$D$17) =VLOOKUP(A1,表の範囲,2,TRUE) 0 - 1 あ 2 い 3 う 4 え 5 お 6 か 7 き 8 く 9 け 10 こ 11 さ 12 し 13 す 14 せ 15 そ 16 -
補足
=LOOKUP(A1,{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},{",""あ","い","う","え","お","か","き","く","け","こ","さ","し","す","せ","そ",""}) を入力したら出来ました! 有難う御座います。 0以下をを非表示、または-の様にするにはどうしたらいいですか? 宜しく御願い致します。
- kickknock
- ベストアンサー率31% (207/661)
>この場合の対処方法を教えて下さい。 対処方法はネストの限界があるので、・・・・ ただ、「ひとつのセルで対応する必要」があるのか? 複数セルにわければ、3つのセルで可能です。 解を三つのセルに分けてそれを一つにまとめるリンクの計算式をさくせいすれば、済むのではないですか? 限定なら出来ないですが、分割して、さらに収集、結合で一つにまとめるのも、楽しいですよ。
お礼
難しいですね・・・。 でも何とかやってみます。 回答有難う御座いました。
- redowl
- ベストアンサー率43% (2140/4926)
「あ~そ」 の範囲で… A1に数値 B1に =IF(A1<1,"",MID("あいうえおかきくけこさしすせそ",INT(A1),1)) INT(A1,0) で A1の数値を整数化
お礼
回答有難う御座いました。
- kickknock
- ベストアンサー率31% (207/661)
IF関数のネスト(式をつなげて一つの状態で複数の式)は8回までの規定があります。 ですので、あいうえおかき ぐらいでアウトになったのでしょう。
お礼
その通りです。 8回位でアウトでした。 有難う御座いました。
補足
=LOOKUP を入力したら出来ました! 有難う御座います。 0以下をを非表示、または-の様にするにはどうしたらいいですか? 宜しく御願い致します。