• ベストアンサー

EXCELの関数について

いつも大変お世話になっております。 今回はEXCELの関数についてご存知の方いらっしゃいましたら、ご教授頂けたらと思います。 添付の画像を見て頂けたらと思いますが、 A列に計算の元となる数字を入力し、 2行目に計算したい計算式を入れると、 その結果を自動的に算出するようにしたいのですが、 緑色のセル(B3~D5)を再現してくれる関数はあるでしょうか? 仕様:Excel2013 どうぞよろしくお願い致します。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.5

No.4です。 たびたびごめんなさい。 数式を入れるセルが違っていましたね。 やり方は同じですが、C3セルに =IF($A3="","",計算($A3,C$2)) という数式になります。 どうも失礼しました。m(_ _)m

yadopla
質問者

お礼

ご回答頂きましてありがとうございました。 確かに表現したい内容かと思います。 少しVBAを触らなければいけない点を除いて ほぼ要望通りの内容になっております。 ご回答頂きましてありがとうございました!

その他の回答 (6)

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.7

アナタの意図する「関数」が、常に「A3とかから始まる単純な算式」に限るという限定条件なら、確かに名前定義だけでもできます。 合理的な手順: ご相談で掲示された画像の通りに表を作成する C3セルを選ぶ(←必ず行う) 名前の定義で  名前 calc  参照範囲 =EVALUATE(!$A3&!C$2) と登録する 各セルに =calc と記入する。 言わずもがなで繰り返しになりますが、このやり方は =A3*20 とか =A3*15+2000 のように「=A3」から始まる算式でしか通用しません。 何かちょっとでも複雑な「関数」とか使わなきゃならない時は、回答したようにテーブルの機能を利用して「具体的にどんな数式を計算したいのか」を実際の数式として設定します。

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.6

>計算列が増えると設定が手間になるというデメリットもありますが、 計算対象列が連続している場合は纏めて名前の定義ができます。 calc=EVALUATE(Sheet1!$A:$A&Sheet1!$C$2:$F$2) 貼付画像はA列とC2~F2の関係で計算可能です。 但し、加算の場合は*1+100のようにするかセルの書式を文字列にする必要があります。

yadopla
質問者

お礼

回答ありがとうございます。 纏めて範囲指定できるのであれば、しっかり型を作ればずっと使えそうな気がします。 少し書式を触らなければいけないのは残念ですが、それを差し引いても やりたいことが表現できており助かります!ありがとうございました。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

こんにちは! 簡単なユーザー定義関数を作ってみてはどうでしょうか? Alt+F11キー → メニュー → 挿入 → 標準モジュール → VBE画面のカーソルが点滅しているところに ↓の3行をコピー&ペースト → Excel画面に戻り Function 計算(元 As String, 式 As String) 計算 = Evaluate(元 & 式) End Function C2セルに =IF($A2="","",計算($A2,C$1)) という数式を入れフィルハンドルで列・行方向にフィルハンドルでコピーしてみてください。 ※ ファイルを保存する場合は「マクロ有効ブック」で保存します。m(_ _)m

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.3

>A列に計算の元となる数字を入力し、 >2行目に計算したい計算式を入れると、 >その結果を自動的に算出するようにしたい ご相談の文字通りのことは、データタブのWhat-If分析▼の中にある「データテーブル」という機能を利用して行う事ができます。 手順: A3以下に計算したい数字を記入する B2セルに =A2*20 と数式を記入する C2セルに =A2*50+2000 のように数式を記入する A2:C5を選択する データテーブルを開始する 「列の代入セル」にA2セルを設定してOKする 空欄に自動で計算結果が現れる B2やC2の数式を変更すると、その下の計算結果が一斉に更新される。 新しいエクセルを用意、回答の通りに実際に手を動かしてください。

yadopla
質問者

お礼

回答ありがとうございます。 確かに表現したいことが表示されております。 実際に表現したいことはできましたが、 数式に「A2」と打ち込んでしまうのが少し残念です。。。 できれば「A2」と入れなくてもいいようにできれば、 かなりありがたいところですが、このような方法があるのは目からうろこでした! ご回答頂きましてありがとうございました!

  • ryo_ky
  • ベストアンサー率47% (112/237)
回答No.2

添付図のC2、D2の関数の内容が四則演算を含めて変更する事があるのならば,EVALUATEを使った方が良いです.方法は名前の管理を使用します. C列の方法 名前の管理で新規作成し,名前をcalc1,参照を=EVALUATE(A3&$C$2) とします. C3のセルに =calc1 と入力すればA3*C2の結果が表示されます.もちろんそのまま下方向にコピーで対応可です. D列の方法も同様で 名前の管理で新規作成し,名前をcalc2,参照を=EVALUATE(A3&$D$2) とすれば,計算できます.

yadopla
質問者

お礼

回答ありがとうございます。 計算列が増えると設定が手間になるというデメリットもありますが、 再現したいことはできたので、助かりました! ありがとうございました!

  • bajutsu
  • ベストアンサー率20% (139/693)
回答No.1

C3 =A3*20 D3 =A3*15+2000 あとは下にコピペ

yadopla
質問者

お礼

回答ありがとうございます。 その数式にしてしまうと、2列目の関数を変更したときに 全てやり直し作業が発生してしまうので、それを避けてやりたいと思っております。

関連するQ&A

  • Excel 関数 計算式について

    Excel関数について教えて下さい。 下記のようにExcelの縦列で、A列とB列があるとします。 まず、B列の数値が「2.5」以下になる際の”A列のセル数”を算出するには、どのような関数(計算式)を使えば宜しいでしょうか? また、B列の数値が「2.5」のみの”A列のセル数”を算出するには、どのような関数(計算式)を使えば宜しいでしょうか? 但し、実際に計算式を記入するセルはA列でもB列ではなく、X列となります。 A列   B列 1     2.4 3     3.5 5     3.6 2     2.7 1     2.1 1     3.0 4     2.2 1     2.5 2     1.6 1     1.9 1     3.4 3     1.7 1     1.4 6     2.5 1     3.6 5     2.5 宜しくお願い致します。

  • EXCEL COUNT関数で

    EXCEL COUNT関数で A列の1-10行目まで文字や数字なにかを入力したら セルA11に何行入力したかを自動計算させるようCOUNT関数を挿入しました。 例えば A1:123 A2:45-6 A3:ABC 上記は3行入力してるので3と表示させたいです。 だけどA2:45-6のように-があると計算せず2とでます。 なぜでしょうか? 宜しくお願い致します。

  • Excelの関数を用いた計算に関しての質問です。

    Excelの関数を用いた計算に関しての質問です。 A1:F10の範囲の60個のセルにそれぞれ1~9の数字がランダムに入力されています。 G1とH1に異なる任意の数字を入力し、1から10の列のうちから G1とH1の数字が両方とも入力されている行の数を算出したいのですが、 よい計算方法が分かりません。 どなたか私にご教示いただけたら幸いです。

  • EXCELでSUM関数が使えません。

    Windows2000でEXCEL2000を使用しています。 Access2000の列をコピーしてExcelのシートに貼り付けをしました。 一番下のセルにSUM関数を入れて合計を出そうとしているのですが、0になってしまいます。データのセルをダブルクリックすると、その数字だけは反映されるのですが、行数が多いのですべてをクリックしていくのは難しく感じます。 上のような状況下で、自動的に合計を算出させる方法はないでしょうか。 ご存知の方、よろしくお願いします。

  • エクセル(excel)の計算式(関数)について

    エクセル(excel)の計算式(関数)でよいアイディアがありましたら教えてください。 1行目は項目行です。 セルA1から右に15列=セルO1まで、 a | b | c | d | e | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 と入っています。 2行目からデータとして、 セルA2から右に5列=セルE2まで、 4 | 2 | 2 | 1 | 1 と入力したとします。(データ例(1)) あるいは、 セルA3から右にセルE3まで、 6 | 3 | 0 | 0 | 0 と入力したとします。(データ例(2)) 1つのデータの5個の数字のルールは2つで、 「合計で10以下である。」 「左から順に小さくなるか、同じ数字となる。」 です。 (目的は、) このとき、F列からO列にかけて、 データ例(1)のケースでは、 a | a | a | a | b | b | c | c | d | e データ例(2)のケースでは、 a | a | a | a | a | a | b | b | b | と表示されるように、 つまり、項目行の下にある数だけ、その列の1行目の記号を 1(F列)から右に向かって順に埋めていくような、 F列からO列までの2行目以下に入れる適当な計算式(関数)は ないでしょうか。 拙い説明で申し訳ありません。どなたかよい考えをお持ちの方がいらっしゃいましたらと存じます。 どうぞよろしくお願い致します。

  • エクセル2003及び2010の関数の使い方

    エクセルで月ごとの予定表を作成しています。 B列 2行目に今年の数字2014、月はE列1行目予定の表は、B列3行目に日、C列3行目に曜日、D列3行目、E列3行目、F列3行目の3列のセルを結合して予定を記入しています。 B列4行目より関数を下記の通り作成しています。 今年の年は、B2に記入しています。 =DATEVALUE(B2&”/”&E1&”/1”)によりE1に月の数字1とか2を入力すると自動的に C4に曜日が出力されるようにしましたが、これで良いのでしょうか。 またD E Fの結合したところに定期の水曜日なら休館日とか月曜日なら10時からとか出力するにはどの関数を作成すればよいのか、エクセル2003と2010それぞれ、教えて下さい。 宜しくお願いします。

  • エクセルの関数

    エクセルの関数についてですが。 1行目には見出しがあります 2行目から100行目までデータが入っています A列は店名B列は氏名  C列には、目標の数字  D列には成績 E列に関数を入れたいのです。D列の数字が5000を超えると☆、さらにC列よりD列が大きかったら ○ (目標を達成したら○が入るということです) さらに、C列よりD列が小さい場合は、D列の数字をそのまま入る)。。。目標を達成した場合は ○ 達成していない場合は そのままの数字を入れるということです どんな関数をいれたらいいか教えてください

  • Excel 関数 計算式について

    Excel関数について教えて下さい。 下記のようにExcelの縦列で、A列とB列があるとします。 A列の数値が「1」で、かつB列の数値が「2.5」以下の数(割合)を算出するにはどのような関数(計算式)を使えば宜しいでしょうか? また、上記の計算をすると同時に、その計算結果に当てはまる”B列”の数値を計算して、B列の合計数と平均数を割り出すためにはどのような関数(計算式)を使えば宜しいでしょうか。 個人的には、幾つかのセルに計算式を分ける必要があるかと思いますが、セルを分けるパターンでも分けないパターンてもどちらでも結構です。 但し、実際に計算式を記入するセルはA列でもB列ではなく、X列となります。 A列    B列 1      2.4 3      3.5 5      3.6 2      2.7 1      2.1 1      3.0 4      2.2 1      2.8 2      1.6 1      1.9 1      3.4 3      1.7 1      1.4 宜しくお願い致します。

  • エクセル関数について

    こんばんは。 エクセル関数に関して、質問させてください。 今現在、エクセルであるデータを作っているのですが、 そこに例えばB2セルに東京、C2セルに3という数字が、またB3セルに大阪、C3セルは空欄になっているとします。 そこで、C列に数字が入っている場合のみ、B列の都道府県名と、それに対応するC列の数字を他のシート(同じシートでも可)に書き出すようにしたいのですが、そのような関数はあるのでしょうか。 最終的には、マクロを組んで、自動化させたいのですが… 長々と申し訳ありませんが、よろしくお願いいたします。

  • Excelで関数同士のネストのやり方について

    Excel2003で下記のようなことがしたいのですが インターネット等を見たりしていますが どうしても分からないので質問します。 -------------------------------------        B列    C列   D列 1行目  0.978205321 成功  97 2行目  0.886081752 成功   87 3行目  0.553482324 失敗  56 4行目  0.05331816 失敗    6 5行目  0.562187845 失敗  1 ------------------------------------- 上記表にて IF関数でD列、1~5行目の中に1がある場合、 1のあるセルの隣(左側) 左列のC列の"失敗"と表示させたい場合 「IF関数とレフト関数を組み合わせてネストすれば 良いのでしょうか? その場合入れ子のやり方はどうしたら良いのでしょうか? =IF(D5:D9=1,LEFT(C:C,2))だと計算式自体意味不明となってしまうので、 関数もしくはVBAを使うとどのようなネスト関数/プログラムになるのか 教えていただけませんか? なにとぞ説明不足なこんな愚かで無知な私どもに ご教授宜しくお願いします。

専門家に質問してみよう