• ベストアンサー

一つのセルに条件によって数式を変化させたい

x0000xの回答

  • x0000x
  • ベストアンサー率52% (67/127)
回答No.1

条件が見えないので具体的な回答ができませんが、 VBAによるユーザ定義関数をセルから呼び出せます。 セルの式=UserFnc(値,値) ユーザ定義関数は、標準モジュールに以下の様に記述します。 Public Function userfnc(argA, argB) As Double If argA < 100 Then userfnc = argA * argB ElseIf argB < 200 Then userfnc = argA * argB + 10 ElseIf 条件 Then 式 End If End Function ※ argA,argBなどの引数や、IF条件、式をいくつでも記述できます。

yuchan18
質問者

お礼

早速のご回答ありがとうございました。 VBAは始めたばかりで私にはむずかしかったですが 勉強して使えるようにしたいと思います。

関連するQ&A

  • 二つの条件を満たす数式

    エクセルで二つの条件を満たす数式を教えて下さい。 IF関数で一つの条件なら出来たのですが、二つだとどうすればいいのか 分かりません(汗) セルA1の数字によりセルB1に数式を入れたいと思います。 条件は、 セルA1が30000以下ならセルBは315 セルA1が30000以上ならセルBは525 以上です。どうぞよろしくお願い致します。

  • エクセル2010、複数条件のセルを数える

    エクセル2010です。 A列のリストの中から、「B1またはC1のセル」と同一の名前がいくつあるか、という計算式を作りたいです。 複数条件ですから、COUNTIFS関数で、 =COUNTIFS(A:A,B1,C1) としてみたのですが、これではエラーが出ます。 よく考えてみたら、「または」という、どちらかの条件が含まれるということですから、これでは駄目なようです。 そこで調べたところ(http://support.microsoft.com/kb/275166/ja)、こういう場合SUM(IF())を使うというのがわかり、 =SUM(IF((A:A=B1)+(A:A=C1),1,0)) としてみましたが、これでも結果がすべて0になってしまいます。 私は何か捉え違いをしているのでしょうか? こういう条件の場合、どういう式にすればよいのでしょうか。 どうぞよろしくお願いします。

  • 複数条件による複数判定

    excelにて、複数条件による複数判定をしたいのですが、  A1セルに"A"又は"B"又は"C" と入力された場合は  A2セルで入力規制リストによりB1~B5を選択可。  A1セルに"D"又は"E"又は"F" と入力された場合は  A2セルで入力規制リストによりB6~B10を選択可。 といった関数が組めずに困っています。 どうぞ宜しくご教授願います。

  • 複数のセルを参考にして、条件が合えばイコール

    エクセルの関数で悩んでいます。 複数のセルを対象として選択すると、どうもエラーになってしまいます。 セルが一つであれば、問題なく出来るのですが、下記の関数で何が 間違いなのでしょうか?(E2のセルに入れた関数です) =IF(B2:D2="田中",A2,"") B2からD2の中に「田中」と記載があれば、種類のA2がE2の部分に イコールになる、という式を作りたいのです。 添付した画像を見てください。 黄色い枠の中に、その関数を入れたいのですが、 なぜか、枠外のB7~B9までは、上記の関数が使用できますが その他のセルではエラーになってしまいます。 どなたか教えて下さい。

  • エクセルのセルに「1以上2未満」という条件を入れたい

    エクセルの関数でC1のセルに =IF(A1=B1,1,0) という関数を作ります。 A1のセルには0~100までの任意の数値が入ります。 B1のセルに「1以上2未満」という条件を入れたいのですが、 どのようにすれば良いでしょうか? エクセルの関数に「1以上2未満」と入れ込むのではなく、あくまでも B1のセルに「1以上2未満」という条件を入れたいのです。 よろしくお願いします。

  • EXCELで条件により文字列を変化させる関数

    EXCELで条件により文字列を変化させる関数を使いたいのですが、うまくいかないのでアドバイスをください。 気温情報を毎日インターネットから得て加工したいのです。 具体的には、 高い北海道 変わらず京都 低い東京 などのような、気温+地名からなる文字列が得られるのですが、これらの文字列から、「高い」「変わらず」「低い」といった部分だけを消して、地名だけを残したいのです。 「高い」「変わらず」「低い」のどれが表示されるかは日によって異なるので、どれが出てもそれらを消せるような関数を作りたいのです。 たとえば、A1セルに、「高い東京」「変わらず東京」「低い東京」 のどれが入っても、結果として「東京」だけ残るようにしたければどのような関数にすればよいのでしょうか? IF関数を複数使うんだろうとは思うのですが、素人なので手が出ません。どうかよろしくお願いします。

  • Excelの数式バーより条件式関数について

    Excelを勉強しております。 条件式関数IFで数式バーよりTRUEやFALSEに処理を追加したいのですが出来ますでしょうか。 例)=IF(A1=A2,"OK","NG" セルの色を変更する)                   ~~~~~~~~~~~~~~~~~~~ 実際に上記の例で試したのですがエラーになります。 他の条件式関数でもOKです。 ご教授よろしくお願いします。

  • 【EXCEL】セルの値の変化をトリガーにしてマクロを自動実行したい

    お世話になります。困っておりまして、もしよろしければ、ご助言いただけませんでしょうか? 【質問】 EXCELでVBA等を使って下記のことは実行可能でしょうか? (下記の1~3の方法はわかっていますが、知りたいのは4の部分です。) 0.(前提として)エクセルはOpenされた状態。 1.特定のセルの値は外部参照で一定時間毎に変化している。 2.そのセルの値を使って別のセルで数式計算 3.計算結果がIF条件に合致するかどうか判断 4.3の条件に合致したら、自動で登録済みのマクロ を実行する。 (なお、ExcelのXPでできれば望ましいですが、それ以外のバージョンでできるようでしたら、それでもかまいません。) よろしくお願いいたします。

  • 条件付き書式設定について

    エクセル2007を使用しています。 セルの『条件付き書式設定』について判らない事があるのでご教授願います。 条件付き書式設定では複数の条件を付けられますが、その全ての条件を満たした時のみと言う設定方法はできるのでしょうか? 今はやり方が判らないので、とりあえず、エクセルの別の場所にデータを移し、そこを見るように設定しています。 例 セルA1とA2の二つの数値が26≦ⅹの場合のみセルA1の数値を赤表示にしたい。 セルA3に『=IF($A2<=26,IF($A1<=26,$A1,1),1)』と入力し、 A1の条件付き書式設定でA3の値がA1と等しい時に赤表示にする と言う方法で設定しています。 これを関数を使用せずに、条件付書式のみで設定できないでしょうか?

  • Excel関数/数式内のセル番地を別セルの値で変化させたい

    Excelの関数についての質問です。 たとえばセルA11に =sum(A2:A10) という数式が入っているとします。 ここで、A1に入っている値が「20」であったら、この数式の内容が =sum(A2:A20) となるようにコントロールしたいのですが、どのように参照式を作ればよいでしょうか。 なお、実際には複数セルの数式を同時に変化させることを想定しています。ご助言いただければ幸いです。