みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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を使って計算するようにするにはどうすればよいか?という点がわからず、質問させていただきました。

ご回答、お待ちしております。よろしくお願いいたします。

投稿日時 - 2010-04-20 16:39:36

QNo.5839282

困ってます

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

=IF(A3="",IF(A2="",A1-A4,A2-A4),A3-A4)

みなさんいろんなやり方をご存じでおもしろいですね。
勉強になります。

No.1の方の答えがかっこが抜けていたので補足しました。
=IF(A3<>"",A3,IF(A2<>"",A2,A1))-A4

投稿日時 - 2010-04-20 17:01:49

このQ&Aは役に立ちましたか?

3人が「このQ&Aが役に立った」と投票しています

回答(8)

ANo.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つの数式の差が最終的な答えとなります。

投稿日時 - 2010-04-20 18:31:03

ANo.7

範囲が大きくなっても式の長さは変わらずに対応できる式です。

=IF(COUNT(A1:A3),INDEX(A1:A3,MATCH(10^10,A1:A3)),0)-A4

投稿日時 - 2010-04-20 17:54:12

ANo.6

A5セルには次の式を入力します。

=IF(A3<>"",A3,IF(A2<>"",A2,IF(A1<>"",A1,0)))-A4

投稿日時 - 2010-04-20 17:43:49

ANo.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を「使えた」という事は,「数字が入っていないセル」は実は空っぽじゃなく,何か数式で「""を計算させている」って事ですね。こういった状況説明の言葉足らずが,折角皆さんが寄せてくださった回答を無駄にする場合が多くあります。

投稿日時 - 2010-04-20 17:27:09

ANo.3

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

投稿日時 - 2010-04-20 16:57:06

ANo.2

以下でどうでしょうか?

=OFFSET(A1,COUNTA(A1:A3)-1,0)-A4

投稿日時 - 2010-04-20 16:54:58

ANo.1

=if(a3<>"",a3,if(a2<>"",a2,a1)-a4

これでセルが空でない場合に、a3、a2、a1の順番に数字を選んでもってきます。

投稿日時 - 2010-04-20 16:52:08

あなたにオススメの質問