• 締切済み

エクセル関数について(IF関数)

エクセルの関数について教えて下さい。 セルに1と入力した場合Aと出てきて、2と入力した場合B、3と入力した場合Cとなるような計算式を入れたいのですが、どのような式を入れればよろしいのでしょうか? 別のシートから呼び出す(?)というような方法でもいいのですが、どんな式を入れればよいのか、全く分かりません。 自分で調べてみた結果、IF関数を用いるということは解りました。 『IF(A1="1","A",IF(A1="2","B",IF(A1="3","C")))』 上記のような式を入れてみて、実際に実践してみたところ、結果としては入力した数字が表示されるだけで、計算式は消えてしまいました。 どうしたらいいのか解りません。 素人故に恥ずかしい質問ですが、お知恵を貸して下さい。 よろしくお願いします。

  • ecos
  • お礼率66% (18/27)

みんなの回答

  • e46_2005
  • ベストアンサー率32% (15/46)
回答No.7

思ったとおりに表示してくれないと悩んでしまいますよね。 おそらく関数の入力方法に間違いがあると思います。 >自分で調べてみた結果、IF関数を用いるということは解りました。 >「IF(A1="1","A",IF(A1="2","B",IF(A1="3","C")))」 No5の方の(1)の補足となりますが、 関数は「=」で始めなければいけません、計算式が消えましたということですが、 「=」を入れなければ上記の式が文字列として表示されるだけです。 まず、A1のセルに「1」を入力してB1のセルに「A」を表示させるために、B1のセルにIF関数の式を入力してください。 この後はご自身で解決できることを願います。

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.6

別のセルでいいならこんな方法もあります。 方法1.CHOOSE関数を利用して1~30の数値を別の値に置き換える =CHOOSE(A1,"A","B","C","D","E") 方法2.MID関数を利用して用意した文字の特定の位置から1文字抽出する =MID("ABCDE",A1,1) 方法3.キャラクターコード(A=65,B=66,C=67...)を文字に変換する =CHAR(A1+64) 自セルの場合は3通り(正確には2通りと、例外)なら#4のかたの方法で可能ですが それ以外だとマクロを組んで入力されたら変換する方式しかありません。

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

質問の表現から意味がわからない。 (1)まずIF(A1="1","A",IF(A1="2","B",IF(A1="3","C")))』 は先頭に=を入れましたか (2)式を入れたセルはA1セルですか。それではダメ。 あ1セル以外に入れること。 (3)A1には数字1か’1(文字列)を入れますか。 式の中に”1”とダブルクオートで囲んでいるので、文字列で1を入れないと、思ったように結果になりません。 >別のシートから呼び出す(?)というような方法でもいいのですが 意味不明。 VLOOKUP関数の利用があるが、この場合は検索表を別シートにする やり方という質問はありえる >自分で調べてみた結果、IF関数を用いるということは とは断定できない。初歩的。私はVLOOKUPを使う。 >結果としては入力した数字が表示されるだけで、計算式は消えてしまいました。 この意味不明。A1にIF関数の式をいれ、その後A1に1というデータを入れたのでしょう。当たり前、後から入れた数字・文字がセルの値として、優先され、式は消えてしまう。 もう少し、身近な方にでも聞いて、エクセルの経験を積むべきです。

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.4

>セルに1と入力した場合Aと出てきて、2と入力した場合B、3と入力した場合Cとなるような計算式を入れたいのですが ◆関数ではなく、表示形式による方法です ◆条件が3種類まで可能です ◆ただし、この回答では3以上の入力がCとなります ★範囲を指定して、表示形式をユーザー定義で、 [=1]"A";[=2]"B";"C" としてください

noname#46899
noname#46899
回答No.3

まず、計算式を入れたデータに別のデータを入れたら上書きされて計算式は消えます。これは表計算ソフトの基本です。その基本を無視して計算式を入力したセルにデータを入れたから計算式が消えたのでしょう。 計算式を使うには、計算するデータを入力するセルとは別のセルに計算式を入力し、計算するデータを入力するセル地番を参照する形をとります。 質問の件は、色々方法がありますが、簡単なのは、あらかじめ   A列  B列 1  1   A 2  2   B 3  3   C といった表をつくることでしょう。これを利用して、仮にA5セルにデータ(1、2、3)を入力し、B5に表示データ(A、B、C)を表示するとした場合、B5セルに =VLOOKUP(A1:B3,A5,2) の計算式をすれば、実現できると思います。

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

#01です >結果としては入力した数字が表示されるだけで、計算式は消えてしまいました。 式は値を入力してセルとは別のセルに入力してください

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

=IF(A1=1,"A",IF(A1=2,"B",IF(A1=3,"C",""))) で試してみてください 文字列の"1"と、数字の1は別のものと認識されます。 元の式なら「'1」(先頭に「'」をつけると文字列になる)なら動くと思いますよ

関連するQ&A

  • エクセル・if関数

    シート名「計算式」のセルA1には日付の入力 シート名「計算式」のセルB1には計算式が入力されている シート名「計算式」のセルB1は別シート セルC1にリンクしている シート名「計算式」のセルA1に入力した日付が 2008/12/31以降ならば、 別シート セルC1の数字を100倍にしたい場合の 関数を教えていただきたく思います。 質問が分かりづらくて申し訳ありません。 よろしくお願いいたします。

  • エクセルIF関数(「#DIV/0!」表示)について

    エクセルを使っていて、「#DIV/0! 」 と表示される部分があり解決方法を調べてみたところ、 「DIV」は「divisor:除数(割る数)」の略であり、数字は「ゼロ(0)」では割れないために出たエラーだと知りました。 (参考URL:http://www.724685.com/weekly/qa090819.htm) 上のサイトには、「除数がゼロ、つまり計算結果が「#DIV/0!」のときは、別の表示に(たとえば空欄に)する条件式(IF文)を使えばいい」とあったのでIF関数式をあてはめたところ、一部分は「#DIV/0! 」表示でなく「0」表示にすることができました。 ただ、その IF関数を入力したセル(セルC1と仮定)を参照して新たな関数式を作ったとき、値を出すセルがまた「#DIV/0! 」となってしまいます。 最初に入力した式→ =IF(A1=0,"0",B1/A1) 次に入力した式→ =IF(C1=0,"0",100/C1/100*1000/10000) C1のセルを手入力で「0」と入力すると「#DIV/0! 」 表示にはなりませんでした。 これは、式を入力したセルを新たな計算式には反映できないということなのでしょうか? 「0」と手入力すると最初の式も消えてしまい、なおかつ手間なので何か解決方法はありませんでしょうか。 つたない説明ですが、どなたかアドバイス頂ければ嬉しいです。

  • エクセルのif関数で

    エクセルのif関数でこれができるのかわかりませんが、 C1~C10の中の文字列の中にA1と同じ文字列があればB1に「1」を入れ、なければ「2」を入れるということをやりたくて B1のセルに IF(OR(C$1:C$10=A1),1,2) という計算式を入れました。 関数の引数の中の数式の結果では、正しい結果が表示されてるのですが、B1のセルには間違った結果が表示されます。 また、B2以下B20まで計算式をコピーするとB11以下は#VALUE!になってしまいます。 一つ一つを見てみると、どうやらセルに正しく表示されるのはAの行とCの行が=だった場合のみのようです。 #VALUE!が表示されているセルも含めて、数式の結果では正しい結果が出ているのにセルの表示が違っているのが納得できませんが、おそらく何かが間違っているのでしょう。 間違いを教えてください。 よろしくお願いします。

  • Excel 長すぎるif関数

    こんにちは。Excelを使って、条件によって表す表示を変える場合、 例えばa1のセルには0~100までの任意の数字を入れるとして、b1のセルにa1の数字に応じていろいろな表示をしたい場合(具体的には100ならAを表示、90~99ならB、70~89ならC、55~69ならD・・・といったように)、if関数を使うと思いますが、 =if(a1=100,"A"1,if(a1>=90,"B",if(a1>=70,"C",if・・・・)))というように長々と続きますね。条件が少ないうちはいいのですが、条件が多くなると、大変複雑な式になり、入力もしづらいし、頭も使うし、閉じる括弧の数もわからなくなるし、作成に時間もかかりますよね。2つ以上の条件が重なる(例えばA1が90~99の範囲でかつa2がAならb1にB1と表示するなど)など複雑になってくるともうお手上げです。 これらを短時間で要領よく作成する方法はないでしょうか?次の観点で教えてください。 1 if以外の良い関数はあるか?または良い機能はあるか?それとも複雑であってもif関数が妥当なのか? 2 (if関数が妥当であるとして)複雑なif文の作成を簡単にできる方法があるか?あるいはそんなソフトがあるか? 3 やっぱりそういうのはVBAとかで作った方がいいのか?(できれば使いたくないのですが。)

  • Excelのif関数を使ったのですがうまくいきません。

    Excelのif関数を使ったのですがうまくいきません。   | A | B | C | D | E ----------------------- 1 | A | A | A | A | 5 2 | B | A | A | B | 4 3 | C | C | A | C | 2 のようにA1~D4のセルに入力されたA,B,C の組み合わせによって E5のセルに1~5の数字を入れていきたいのですがAAAA~CCCCの組み合わせが 15通りあってif関数では入れ子ができません。 AAABもAABAも同じと判断させて1~5の数字を自動的に入力させたいのですが 何かいい方法はないでしょうか。 教えてください。

  • エクセル if関数

    エクセル初心者なのでうまく説明できないのですが、以下のような条件で数式を入力したいのですが教えていただけないでしょうか。 例えばなのですが、A1のセルに入力されている文字列に”高橋”を含んでいたならば、C1のセルにB1のセルに入力されている数字×”1500”の計算結果を表示したい。 また同様に、A1に入力されている文字列に”伊藤”を含んでいるならば、C1のセルにB1のセルに入力されている数字×”1000”の計算結果を表示したい。 つまりひとつのセル”高橋”が入力されている場合と”伊藤”が入力されている場合の二つの条件をつけたいのですが、このようなことは可能でしょうか。 宜しくお願いいたします。

  • エクセルでのIF関数:この場合どうすれば?

    IF関数を使うと思うのですが、このような場合どのように入力すればよろしいのでしょうか? 特定のセル(たとえばC1のセル)にマイナスの数字もしくは、プラスの数字もしくは空白が入力されており、たとえばB1のセルに関数を入力するとき C1に空白以外の数値が入力されている場合に限り、A1に入力されている数値をB1のセルに入力(反映)させたい場合。 また同時に、C1が空白の場合、B1も0ではなく空白にしたい。 どなたかご教授ください。よろしくお願い致します。

  • EXCELのIF関数?

    質問させてください。 3つの数字がありAとB、AとC、BとCの強弱をそれぞれみていて、Aが一番大きいとします。 このとき、EXCELの関数を使いセルに一番強いAが表示されるようにしたいのです。 この3つの数字は毎秒変わっているのでAじゃないときももちろんあるので、そのとき一番強いものが 常に表示されるようにしたいのですが、 最初IF関数で式を書こうと思ったのですが、うまくいきません。 どなたかご教示ください。よろしくお願いいたします。

  • エクセル IF関数について

    C1セルに結果を求めたく、例えば下記のように A1セルがTRUEだったときにC1セルに0(数字)と結果が出る。 A1セルがFALSEで、B1セルが0(数字)だったときにC1セルに1(数字)と結果が出る。 A1セルがFALSEで、B1セルが0(数字)よりも大きい数字だったときにC1セルに2(数字)と結果が出る。 のような場合、C1セルに入れる式を教えてください。

  • エクセルのIF関数について

    エクセルの数式でIFを使って、下記のような複数の条件の時に、それぞれの計算結果を算出する式を作りましたが、単純に条件を並べただけで(IFとAND使用)、式が長くなってしまいます。これを短く出来る式の方法はありますでしょうか?(他の関数を使用する方法など)また、エクセルの関数の数式を応用編まで詳しく調べられるサイトをご存知でしたら教えてください。 (条件の例)R1への式入力 (1)A1がに"A"か"B"かを入力 (2)A1がAで、B2の値がC3以下の時、R1には8、C3より大きい場合は、B2-C3の値を表示 (3)A1がBで、B2の値がC3以下の時、R1には5、C3より大きい場合は、(B2-C3)/2の値を表示 といった条件を満たすものが作成したいです。 ちなみに私が作成した式は、 =IF(AND(A1=A,B2<=C3),8),IF(AND(A1=A,B2>C3),B2-C3,・・・・)って感じです。こんな方法しか無いでしょうか?

専門家に質問してみよう