Excel関数 | 参照先のセルが空白の場合に他のセルの数値を使って計算する方法

このQ&Aのポイント
  • エクセルのバージョンが2007の場合、参照先のセルが空白の場合に別のセルの値を使って計算する方法について教えてください。
  • 現在、A3セルに空白のセルがあった場合には、A2セルを使って A2-A4を計算するように設定したいと考えています。
  • さらに、A2セルも空白の場合には、A1セルを使って A1-A4を計算するように設定する方法を教えてください。
回答を見る
  • ベストアンサー

Excel関数についての質問です。

Excel関数についての質問です。 エクセルのバージョンは2007を使用しております。 A1 A2 A3 A4 A5 という並びの表で、A5にはA3-A4の答えを表示させたく、 つまり関数 =A3-A4と入力しているのですが、 A3のセルに空白のセルがあった場合には、 A2のセルを使って =A2-A4 更にA2のセルが空白の場合には、 A1のセルを使って =A1-A4 という風に関数を設定したいと考えています。 「参照先のセルが空白の場合に、ほかのセルの数値を使って計算する」 ということだと思うのですが、どのような関数を入力すれば良いか、 ご教授いただけるとありがたいです。 IFERRORを使って設定すれば良いのかと考えたのですが、 =IFERROR(A3-A4,A4-A2) となり、一応答えが出るようなのですが、 その場合、更にA2が空白だった場合にA1を使って計算するようにするにはどうすればよいか?という点がわからず、質問させていただきました。 ご回答、お待ちしております。よろしくお願いいたします。

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

  • ベストアンサー
回答No.4

=IF(A3="",IF(A2="",A1-A4,A2-A4),A3-A4) みなさんいろんなやり方をご存じでおもしろいですね。 勉強になります。 No.1の方の答えがかっこが抜けていたので補足しました。 =IF(A3<>"",A3,IF(A2<>"",A2,A1))-A4

その他の回答 (7)

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.8

特定の範囲(たとえばA1:A10セル)の数値が入力されている一番下のセルと下から2番目のセルの差を求めたいということなら、以下のような配列数式を使用することになります。 下から2番目のセル =INDEX(A:A,LARGE(INDEX((A1:A10<>"")*ROW(A1:A10),),2)) 一番下のセル =INDEX(A:A,MAX(INDEX((A1:A10<>"")*ROW(A1:A10),))) 上記の2つの数式の差が最終的な答えとなります。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.7

範囲が大きくなっても式の長さは変わらずに対応できる式です。 =IF(COUNT(A1:A3),INDEX(A1:A3,MATCH(10^10,A1:A3)),0)-A4

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.6

A5セルには次の式を入力します。 =IF(A3<>"",A3,IF(A2<>"",A2,IF(A1<>"",A1,0)))-A4

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

=IF(COUNT(A1:A3),LOOKUP(MAX(A1:A3)+1,A1:A3),0)-A4 とか。 でも,最後の砦のA1もまた数字が入ってなかったらどうしたいのか,ご相談で説明が不足しています。 また,途中が抜けてる場合が絶対無いのかも重要なポイントです。 ●A1が抜けて,A2とA3に数字とか ●A2だけ数字で,A1とA3は空とか。 >更にA2が空白だった場合に =IFERROR(A3-A4,IFERROR(A2-A4,IFERROR(A1-A4,"数字が一つもない"))) 最初の段でIFERRORを「使えた」という事は,「数字が入っていないセル」は実は空っぽじゃなく,何か数式で「""を計算させている」って事ですね。こういった状況説明の言葉足らずが,折角皆さんが寄せてくださった回答を無駄にする場合が多くあります。

  • Turbo415
  • ベストアンサー率26% (2631/9774)
回答No.3

=IF(AND(ISBLANK(A3),ISBLANK(A2)),A1-A4,IF(AND(ISBLANK(A3),ISNUMBER(A2)),A2-A4,A3-A4)) こんな感じでしょうか?

  • kybo
  • ベストアンサー率53% (349/647)
回答No.2

以下でどうでしょうか? =OFFSET(A1,COUNTA(A1:A3)-1,0)-A4

  • nine999
  • ベストアンサー率44% (512/1140)
回答No.1

=if(a3<>"",a3,if(a2<>"",a2,a1)-a4 これでセルが空でない場合に、a3、a2、a1の順番に数字を選んでもってきます。

関連するQ&A

  • EXCEL関数について質問です☆

    EXCEL関数について質問です☆ 一行の一部セル(例えば、C~Z)に何か入力されていれば、セルAに『*』印を表示させる、 何もなければ空白。。。 この場合の式は、どうしたらいいですか?

  • エクセルにて空白を利用した関数

    宜しくお願いいたします。 エクセル2003でセル空白を利用した関数を作成したいと考えております。 具体的には、 A1 B1 A2 B2      C2 とセルに数値を入力したとします。(C2に関数・計算式を入力) このときに、A1ーB2で単純な引き算を設定する際に、A2とB1が空白である場合に限って A1-B2の答えがC2のセルに反映されると言ったような、条件設定は関数でできるものなのでしょうか? つたない質問で誠に申し訳ありませんが、宜しくお願いいたします。

  • Excel関数について

    Excel関数について質問です。 以下の二つ (1) 下のように、セルA1から入力されてるものを、1、2、3・・と数字順に並び替える良い方法はありますでしょうか。 A-1 A-10 A-10A A-100 A-2 A-20 A-22.5 ・ ・ A-555 ・ ・ (2) 一行目と二行目に値の入ったセルと空白セルが混在しています。どちらも同じものに対する値の為、一行目にまとめようと、一行目の空白セルに二行目のセル(下)に値がある場合はその値を返し、空白の場合は空白のままにするというIF関数を使いましたがうまくいきませんでした。三行目と四行目、五行目と六行目・・とかなりあります。良い方法を教えていただけますでしょうか。 よろしくお願いいたします。

  • Excel2002でセルへの数値代入

    使用しているのはExcel2002なんですが 関数などを使用して空白セルへ数値及び文字列を 代入することって可能でしょうか? 例を挙げると、 セルA1に7という値を入力すると、 セルC1にある関数が「10-A1」という計算を行って セルB1に3という値を返すようにしたいのです。 また、セルB1に4という値を入力すると、 セルC1で計算を行い、セルA1には6が返る。 このようにセルA1、B1ともに、人の手で数値の 入力が行われる可能性があるので、表示部分のセルに 関数式を記述せず、空白としておく。 C1に入力する関数は IF(B1="",10-A1,10-B1) として、この結果を、またIFなどを使って 空白の方のセルに入力してあげればいいかなー というところまでは考え付いたのですが・・・ どなたか教えてください。

  • EXCEL関数について

    EXCEL関数について B1~E1セルが1箇所でも空白でない場合、A1セルに「1」を返す式を 「COUNTBLANK」関数と「IF」関数を使って試みたのですがうまく行きません。 B1~E1セルがすべて空白の場合はA1セルも空白になります。 ご教示頂きたくお願いいたします。

  • 入力されたときのみ有効になる、excel関数教えてください!

    入力されたときのみ有効になる、excel関数教えてください! たとえば、以下のような関数を入れた場合、 =(J3*0.25-250)-(800-K3) セルが空白のときは、常に-1050と表記されてしまいます。 結果、したの合計金額に反映されてしまいます。 それを防ぐために、 特定のセルJ3とK3に値が入力されたときのみ、セルが有効になる方法はありますでしょうか。 J3とK3になにかしらの数値が入っていない場合はゼロにしたいのですが。 初歩的な質問でもうしわけございませんが、よろしくお願いします。 よろしくお願いします!

  • EXCEL関数 数値セルが何個下に出てくるか?

    EXCEL関数で質問です。 A1:A5セルそれぞれに、文字列、空白、数値のいずれかが入っています。 そのうち数値のセルが最初に出てくるのは上から何番目か、というのを B1セルに関数で表示したいのです。 たとえば、A列上から、 あ、A、100、100、0 なら3、 愛、(空白)、百、8、ZZZ なら4 という具合です。 お知恵をお貸しください!

  • EXCEL関数について教えて下さい

    EXCEL初心者ですが、関数について質問致します。 1・10・25といった数字が8個ランダムにありますが、例えばA1からA8セルに数字が入力されています。 その8個の数字の中から1・10・25といった数字があればAと表示して、なければ空白にしたいのですが、どうすればいいかわかりません。どなたかご教授をお願い致します。

  • 関数 

    Excel関数で、二つのセルにある項目の数値を入力したら、他の一定のセルに+なら、+数値、 -なら、-数値というように、関数を設定することはできますか。 例えばA2のセルに100と入力されていて、B2のセルに150とすると、他のセルに、+50というように入力ができるようにしたいです。 お願いします。

  • EXCEL関数 MAX関数と複合的に・・・・

    EXCEL関数に関する質問です LAFT関数で抽出した数値群をMAX関数で最大値を導きたいのですが、「0」が帰ってきてしまいます。 1.1-1.1 1.6-2.5 2.4-4.7 と縦に3つ並んだセルのそれぞれ「-」より左の数値を、 関数 =LEFT(A1,FIND("-",A1)-1) で 1.1 1.6 2.4 と必要な数値を抽出し そのあとこの3つの数値の中の最大値を求めるために 関数 =MAX(B1:B3) を使ったのですが答えは「0」となります。 違う関数を使ってもOKですので、最大値の答えを得る方法を教えてください。

専門家に質問してみよう