• ベストアンサー

エクセル2003のj関数について教えてください

ある列にAが入力された場合:別セルにある数値×0.8 ある列にBが入力された場合:別セルにある数値×0.5 ある列にCが入力された場合:別セルにある数値×0.2 ある列にDが入力された場合:別セルにある数値×1 という数式を利用したいのですが、どの関数を利用して作成したら良いのかが分かりません。 どなたかご教授頂けますでしょうか。 宜しくお願い致します。

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

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.5

次の方法で如何でしょうか。 =LOOKUP(A1,{"A","B","C","D"},{0.8,0.5,0.2,1})*別セル

himefugu
質問者

お礼

ありがとうございます。 助かりました!

その他の回答 (5)

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

例データ A列  B列 A 0.8 B 0.5 C 0.2 D 1 B列は =CHOOSE(CODE(A1)-64,0.8,0.5,0.2,1) と入れて下へ複写。 A列データが、実際にABCDやabcdでないと使えないが。 (Aが例えの文字列の場合は使えない) abcdの場合はCODE(A1)-96にしてください。 これらを別セルに掛ければよい。 ーー まあVLOOKUP関数利用が一番良いでしょう。 ーー もうひとつ別解 =(A1="A")*0.8+(A1="B")*0.5+(A1="C")*0.2+(A1="D")*1 と入れて下方向に式を複写する。 これらを別セルに掛ければよい。

himefugu
質問者

お礼

ありがとうございます。 色々な方法があるんですね。

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

=IF(A1="A",.8,IF(A1="B",.5,IF(A1="C",.2,IF(A1="D",1,0))))*数値 または =CHOOSE(FIND(A1,"ABCD"&A1),.8,.5,.2,1,0)*数値 (↑の式はA1が1文字の場合だけ有効)

himefugu
質問者

お礼

ありがとうございました。

  • syou_ta85
  • ベストアンサー率57% (23/40)
回答No.3

いくつか方法はありますが・・・ シートの別の場所、あるいは別シートに下記のような2列4行のマスター表を作ります。 A 0.8 B 0.5 C 0.2 D 1 その上で計算式を入れるところに =VLOOKUP(値を入力するセル,マスターテーブルの範囲,2,false)*別セル とすればできます。 入力前はエラー表示されますので、それを回避するなら =if(iserror(評価する式・・・などでクリアしてください。 あとは、vlookupの代わりにsumifを使えばエラーはでません

himefugu
質問者

お礼

ありがとうございます。 色々な方法があるので非常に勉強になります!

  • Chimrin
  • ベストアンサー率49% (42/85)
回答No.2

セルA1に値aが入力された場合:セルB1の数値×0.8を表示、 セルA1に値bが入力された場合:セルB1の数値×0.5を表示、 セルA1に値cが入力された場合:セルB1の数値×0.2を表示、 セルA1に値dが入力された場合;セルB1の数値×1を表示、 例1:IF関数を使った場合 =IF(A1=a,B1*0.8,IF(A1=b,B1*0.5,IF(A1=c,B1*0.2,IF(A1=d,B1,"")))) ※セルA1がa,b,c,d以外の値の場合は、空白("")を表示 例2:LOOKUP関数を使った場合 =B1*LOOKUP(A1,{a,b,c,d;0.8,0.5,0.2,1}) ※セルA1がa,b,c,d以外の値の場合は、エラー値が表示される。 a,b,c,dは数値に置き換えてください。 それぞれの関数の詳細はヘルプ等を参照してください。

himefugu
質問者

お礼

ありがとうございました!

  • anaguma99
  • ベストアンサー率59% (1620/2727)
回答No.1

lookup関数を使いたいところですが、 この関数はうまく条件の表を並べないと機能しないので、 sumif関数を使うといいでしょう。 F1にA、G1に0.8 F2にB、G2に0.5 というように別途今回の条件を書いておく。 A列にA~Dを入力することにする。 B列に「別セルにある数値」を入れる。 C列に答えが出るようにする。 ここでC1には =B1*SUMIF($F$1:$F$4,A1,$G$1:$G$4) を入れる。C2以降はこれをコピーすればOK。

himefugu
質問者

お礼

ありあとうございました!

関連するQ&A

  • エクセル関数について

    エクセル関数について質問です。 簡単に説明すると特定のセルに特定の数値を入力するとその行の別のセルの数値を別のセルに表示させたい。 たとえば     A      B       C 1  100            2  200      1      100 3  300      1      300 4  400 5  合計            400 上記の様になっていた場合 A列は定数で固定です。B列のセルに1と入力(1でなくてもよい)した行のA列の数値を Cに表示したいのですが、 C列にどの様な関数を使ったらいいんでしょうか?宜しくお願い致します。

  • Excelセル関数入力

    セルC2の合計がF1の数値と同じになるようにセルB4に数式を入力したいのですが。D列が数式となります。尚、F1の値は都度手入力で変更されます。数式を何度か入れたのですが数値がちぐはぐになりうまくいきません。B4に入力する関数もしくは何か良い方法はないでしょうかよろしくお願いします。

  • Excelの関数について

    [C1のセル値]-[A1またはB1のセル値] を使って計算したい場合の計算式を教えて下さい。 A列、B列、C列には具体的な数値を入力します。 D列にその結果を表示させる関数を入力したい。 と考えています。 但し、以下の条件を満たす事が必須となります。 (1)A、B、またはCのセルが未入力の場合はDは空白セルのまま。 (2)A、Bいずれかの一方が入力されている場合はCの値を使って計算し結果を表示。 (3)A、Bいずれも入力されている場合はBを優先してCの値を使って計算し結果を表示。 よろしくお願いします。

  • エクセル関数を使いこの様なことができますか?

    こんにちは エクセルのあるセルに数式(又は関数)を入力し、別のセルに数字を入力したら、セルの塗りつぶしの色が設定しておいた色に変わるようなことはできないでしょうか? (例えば、C1には当初は何も入力されておらず、そのC1にある数字を入力するとA1のセルの色が赤に変わるようなことを考えています。なお、色を変えたいセル自身には数字が入力されている場合といない場合と二通りあるため、いずれの場合も対応できるようにしたいのです。 つまり、初期状態では、A列(色を変えたいセル列)には数字が入ったセル、入っていないセルが混在しており、C列(ここに数字が入力されるたびにA列の対応する行のセルの色を変えたい)には何も入力されていない。この状態で、任意のC列のあるセルに数字を入力すると同じ行にあるA列のセルの色を変えたい、ということをしたいのです。) 具体的にA列にどの様な数式を入力すればよいかを教えて下さい。 (或いは、そのようなことをするための式(関数)はA,C以外の列のセルに入れる必要があるかもしれませんが(例えばB列)、それでもかまいません) よろしくお願いします。

  • IF関数について教えてください。

    IF関数について教えてください。    A    B    C    D     1              ここの関数     この場合D1の数式をご教授お願いします。   もしA1に数値を入力した場合は「C1+A1」、もしB1に数値を入力した場合は「C1-B1」   おそらく2つのIFがあるのはわかるのですができません。      よろしくお願いいたします。

  • エクセル 関数

    教えてください。Aセルには文字列が入力されていて、Cセルには何も数値が反映されていない時(Bセルに対する数式は有)だけにDセルに1を表示させる方法を教えてください。

  • Excel 関数について

    Excel 関数について データにちょっと数値を追記したいのですが、頭が混乱して何をやっているかわからなくなり、質問させて頂きます。 D1セルに以下セルの数値を入れたいのですが・・・ A1セルが0の時はB1セルの数値を。。でもA1セルに0以外の数値が入っている時はそれをD1セルに入れる。 B1セルも0の時はC1セルの数値を。。でもB1セルに0以外の数値が入っている時はそれをD1セルに入れる。 要するにA列B列C列にはそれぞれ数値が入っているのですが、A列とB列は0のところもあり。。。 列の優先順位としてはA列を最優先としてB列→C列の順に優先列の数値が0の時は最終的にはC列の数値が入るようにしたいです。 説明もわけがわからなくてすみません~どなたか教えて下さい(>_<)

  • エクセルの関数の数式がわかりません。

    A列 B列 1 10 2 20 3 30 a 4 40 エクセルの関数の数式がわかりません。 B1~B4のどこかにaの入力があった場合、aの入力がある行と同じ行のA列に入力されている数字を別のセルに表示させたいです。 例えば、上記のようにB3にaがあるので、A3の30を、別のセルに自動で30と出るようにしたいです。 B列には、ランダムにaを入力しますので、aが別の行にある場合もあります。 この場合の数式を教えてください。 よろしくお願い致します。

  • Excel 数値比較について

    A列に基準値、B列に結果の数値、C列にその差異の数値を表示したい場合は、どんな数式?関数?を利用すればいいですか。 例えば, セルA1に10、B1に8の場合、C1に2という数値を表したい。 セルA1に5、B1に10の場合、C1に-5という数値を表したい。 お願いします。

  • エクセル関数について

    エクセルの関数について質問です。 例えば、 C1セルには、数値データが入っています。 A2~A10セルに日付データ。 B2~B10セルに数値データが入っている表があります。 B11セルの値に、(C1データ)-(A列の最新日付セルと同行のB列データ)を表示させたい場合、 どのような関数を作成すればよいですか。 宜しくお願いします。

専門家に質問してみよう