[[20170221173521]] 『隣の列の一番近い数値と計算させたい』(tak) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『隣の列の一番近い数値と計算させたい』(tak)

A B

179234 (空)
(空) 16832
(空) (空)
(空) (空)
24380  (空)
(空) (空)
(空) 23416
(空) (空)

という感じにデータが入っています。
B列に数字が入っている場合、C列に直上の数値との差分を入れたいです。

<アウトプット>
A B   C

179234(空)(空) 
(空) 16832 =16832-179234
(空)(空)(空)
(空)(空)(空)
24380 (空)(空)
(空)(空)(空)
(空) 23416 =23419-24380
(空)(空)(空)

という感じです。

ifでひとつづつ上に遡っていってもうまく行かず、困っています。indexですと、最下値の関数は見つけたのですが、うまく行きませんでした。よろしくお願いします。

< 使用 Excel:Excel2016、使用 OS:Windows10 >


 24380が無い時は、どう云う事になるんですか?

(半平太) 2017/02/21(火) 18:39


 > 23416 =23419-24380

 23419 → 23416 の間違い?

 A列とB列の同じ行に数値が入ることはないのか、
 あったらどうなればいいのか? ということがわかりませんけど、
 とりあえずそういうことはないものとして、

 1行目からデータが始まっている場合

 C1 =IF(B1="","",IFERROR(B1-LOOKUP(10^16,$A$1:A1),""))

 下コピー

 ちなみに「10^16」は10の16乗のこと。

 こういうこと?
(笑) 2017/02/21(火) 18:45

 例題のように

 ・A列データ間にはB列データは必ず1個だけ
 ・A列、B列 同じ行にデータがならばない

 ならば

 C2 =IF(B2="","",SUM(B$1:B2)-SUM(A$1:A2,C$1:C1))

 で、いいんでない?
(GobGob) 2017/02/22(水) 10:16

 B列の数値より上の行のA列に必ず数値があるんだったら、
 エラー処理は必要ないので ↓ な感じ。

 C1 =IF(B1="","",B1-LOOKUP(10^16,$A$1:A1))

 同じ行のA列とB列両方に数値が入る場合、どうしたいのかによって若干変わってきますけど。

 ついでに書いておくと、A列の空白セルを上にある値で全部埋めるか、
 または作業列を使ってもいいんだったら、横のセルと単純に引き算するだけ。

 参考まで。
(笑) 2017/02/22(水) 13:01

有難うございます。

まだうまく行っていませんが、頂いた答えを元に、頑張ってみます。
「上のセルの値をコピーシて引き算させる」するだけ、うまくいったのですが。

もう少し、頂いたものをもとに頑張ってみます。
有難うございます。
(tak) 2017/02/23(木) 17:38


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.