• ベストアンサー

Excel 関数

マクロを使わずに関数でこんな式を入れられないでしょうか。 考え方を少し変えれば出来そうな気もするのですが。 A1、A2・・A4と仮に四つのセルがある。 この何れかに数字が一つ入った時、例えばA1に10が入ったとき、 B1セルに=A1、B2セルに=B1/2 A2セルに10が入ったとき(A1はブランク又は0) B1セルに=A2/2、B2セルに=A2 と言うようなどこかのセルに入った数値によって、 返す式を変更できる様な計算式となるのですが。 よろしくお願いします。

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

  • ベストアンサー
  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

返す式を変更することはできませんので、IF関数で各セルを各々やってはいかがでしょう。 B1セルに、 =IF(A1=10,A1,IF(A2=10,A2/2,"")) B2セルに、 =IF(A1=10,B1/2,IF(A2=10,A2,""))

iton624
質問者

お礼

有り難うございました。 実際には計算が複雑な為に式は長くなりますが、 思い通りの形に出来ました。 重ねて御礼致します。

その他の回答 (1)

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

>A2セルに10が入ったとき(A1はブランク又は0) 現実にはA1にもA2にも数字を「入れること」は出来ますので ケース1)運用によって絶対そういう風にはしないと保証するので、数式で考量する必要はない ケース2)何かの間違いで両方に入るかもしれないので、数式側で手当てする どうしたいのかによって、具体的な対応は変わります。 >返す式を変更できる様な計算式となる 当たり前の事ですが、数式を書き換えるみたいな事は出来ません。 準備をしておいて、どの式で計算した結果が現れたらいいのか仕込んでおけばよいだけですが、方法は様々考えられます。 ごく簡単な仕分けとしては B1:ケース1 =IF(A1<>0,A1)+IF(A2<>0,A2/2)+IF(A3<>0,…)+IF(A4<>0,…) B2:ケース2 =IF(A1<>0,B1/2,IF(A2<>0,A2,IF(A3<>0,…,IF(A4<>0,…,"")))) などのように逐次ヤリタイ事を記入しておけばいいだけです。 他にも、たとえば他の表範囲にすべてのパターンで計算式を並べておいて、実際の状況に応じてその中からどの結果を取ってきたらいいのか仕分けるといった、計算機お得意の力技的解決方法もあります。

iton624
質問者

お礼

有り難うございました。 ご回答の計算式で出来ました。 重ねて御礼申し上げます。

関連するQ&A

  • エクセル関数について

    セルA24~A150の数値が隣同士のB24~B150の数値と比べてBのセルの値が大きい場合はBのセルを赤色に、小さければ黒色になるような関数式ができるでしょうか?ただしBのセルには数式が入っています。(Bのセルの数式=AVERAGE($A1:$A24)+STDEVP(A1:A24)*3) 出来るなら入力式を教えてください。簡単なマクロでもかまいません。

  • エクセルでの、関数を教えてください。

    エクセルでの、関数を教えてください。 A1セルの数値の条件に応じた計算結果をB2セルに自動表示させたいです。 A1セルの数値が0~499の時は、B2セルに「7500」と表示 A1セルの数値が500~1999の時は、B2セルに「A1*15」の計算結果を表示 A1セルの数値が2000~3999の時は、B2セルに「A1*14」の計算結果を表示 A1セルの数値が4000~4999の時は、B2セルに「A1*13」の計算結果を表示 A1セルの数値が5000~7888の時は、B2セルに「A1*11」の計算結果を表示 A1セルの数値が8000~9999の時は、「A1*9」の計算結果を表示 A1セルの数値が10000以上の時は、「A1*8」の計算結果を表示 詳しく教えていただけると助かります。 よろしくお願いします。

  • エクセル 関数 2008_12_12

    エクセル関数に詳しい方、教えてください。 どのセルに、どうゆう関数を入れればいいか教えていただきたいです。 1、A1に直接入力されていたら、A2を関数式計算させる(入力済み)  A2に関数式を無視して直接入力したら、A1は空白になる。  A2が空白なら、A1も空白。 2、あるセルに数値が無ければ(空白)、その列を非表示にする関数式。 3、これは関数ではないですが、マクロを使用してないのにセキュリテ ィー警告(開いたときに出るやつ)が出てくるので出ないようにした い。*セキュリティーレベルを下げないやり方。 以上、分かる方教えてください。

  • エクセルの関数を教えてください。

    パソコン初心者です。 関数の式を教えてください。IF関数だと思うんですが、 A1のセルには 20051221~20060620の数字が入っています。 B1のセルにA1の20051221~20060120の数字だったら180100と            20060121~20060220の数字だったら180200と            20060221~20060320の数字だったら180300と             20060321~20060420の数字だったら180400と            20060421~20060520の数字だったら180500と            20060521~20060620の数字だったら180600と 表示されるにはどのような式がありますか? 是非、教えてください。

  • エクセル関数で・・・

    エクセル表についての質問です。 A1セルに数値で“180”、B1セルに同じく“200”と入力したとします。 これは180時間、200時間を意味する数字で、以後のエクセル表では “180:00”、“200:00”と認識させる必要があります。 以前はA2セルに手打ちで“180:00”、B2セルに“200:00”と入力して この数値を元に以後の計算をしておりました。 ここで質問です! A1セルに“180”と入力して、A2セルに“180:00”と表示され、以後の 計算式に活用させるためにはどのような関数をA2セルに使えばよろしいですか? 未熟者をお助け下さい。

  • 関数計算されたセルを数値にする方法

    すいませんが、教えてください。関数計算されたセルを関数計算の状態ではなく、数値として変更することは可能でしょうか? たとえばA1セル(1),B1セル(2)があり、C1セルに=SUM(A1+B1)と入力すると画面上では3とでますが、セルの中身としては関数式の状態です。これを"3"と認識したいのですが・・・。

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

    エクセルで表を作成している際 例えばA1、A2には何らかの数字が入力され、A3はブランク という場合、A1で入力されているセルの隣のB1には決まった数字(20など)、ブランクのA3の隣のB3には何も表示されないという関数を入れたいと考えました。 IF関数を使うのだろうと思い色々と入力したのですが、エクセル初心者ゆえ、勉強不足で上手く出来ませんでした。 お分かりになる方にご教授いただければと思い、質問させていただきます。 宜しくお願い申し上げます。

  • エクセルの関数を教えてください

    作りたい表は以下の通りです。 セルA1に「110」と入力してあります。 (110は110円で1ドルを円換算した数字です) セルB2には商品名 セルB3には商品名の価格(円) セルB4にはセルB3からA1を割ってドル換算した価格を自動でだしたいと思っています。 マクロは良くわかりません。 B4に入れる関数、もしくはマクロ以外でこうすれば簡単だよ。 などありますでしょうか? 関数初心者です。どうぞよろしくお願いいたします。

  • 2つの数字の変化を読み取るエクセル関数はありますか

    エクセルの関数についてです。2つの数字の変化を A列  B列 100    1 103    1 109    1 120    1 105    -1 102    -1 120    1 123    -1 ・    ・ ・    ・ ・    ・ となっている時に,以下の2つの条件を満たす式を作ることはできますでしょうか。 (1)B列の数字を3行ずつ見てゆく。3行目までずっと1が続き,数字が変わらなければ(-1が出なければ)3行目のA列の数値(109)を取り出す (2)数字を取り出してから次の3行目までの間でB列の数字が変わったとき(1→-1,-1→1)には,変わった行のA列の数値(105)を取り出す。次は,B7なので120,次はB8なので123…と 数字を取り出す度にリセットして,新たに3行の中から新しい数字を取り出すようにしたいのです。 やはりマクロを組まないといけないのでしょうか? 分かりにくかったら申し訳ございません…

  • エクセル関数について教えてください。仮に、A1セルにプルダウンで“A”

    エクセル関数について教えてください。仮に、A1セルにプルダウンで“A”と“B”を選択できるようにしたとします。ちなみにA・Bは数字ではなく単語です。“A”を選択した場合、B1セルにある数値に-1(マイナスイチ)を乗じて表示させる方法はありますか?(“B”を選択した場合はB1セルにある数値には何も乗じません。)IF関数でできるかな?とおもったのですが、いまいちよくわかりません。エクセル関数についてくわしい方、ぜひ教えてくださ~い!!

専門家に質問してみよう