dポイントプレゼントキャンペーン実施中!

セルの左隣に数字がある場合、そのセルから行内の一番近い数字と計算する
関数ご存じないですか。

「エクセル-セルから一番近い数字と計算」の質問画像

A 回答 (5件)

一例です。


仮にD1に基準値が入力されているとします。
D2に=IF(COUNT(C2),C2+INDEX($D$1:D1,MATCH(MAX($D$1:D1)+1,$D$1:D1,1),),"")として下方向にコピー
    • good
    • 0
この回答へのお礼

ありがとうございます。とても複雑な式になるのですね。
確認してみます。

お礼日時:2011/03/31 14:06

例データ


C列 D列
ーー31<--D1
 <--D2セル。ここに下記の式を入れて、下方向に式を複写
637<-D3



-370 <ーーD7

1111

314
D2セルの式
=IF(C2="","",LOOKUP(10^15,$D$1:D1)+C2)
10^15は、普通使う数では、ありえないほど大きい数の例として使っている。
===
同列の上方向行で最も近い「空白でないセル」を求める式が技巧的。
過去のそういう質問回答がヒントとなっているが、普通の人には難しい。
VBAが判ればVBAでやると素直な考え方で出来るが。
>そのセルから行内の一番近い数字と計算する
行内で無く同一列内で考えて、やっているがそれで良いのだろうね。
    • good
    • 1

ご質問通りの式を作るとしたら例えば1行目は空の行としてD2セルには次の式を入力して下方にオートフィルドラッグします。



=IF(OFFSET(D2,0,-1)<>"",OFFSET(D2,0,-1)+IF(COUNT(D$1:D1)=0,0,LOOKUP(10^10,D$1:D1)),"")
    • good
    • 0

D1=31 として


D2=IF(ISNUMBER(C2),SUM(C$2:C2,D$1),"")
D2を下方にコピーしてください。

上記は単純にC列に数値がある場合に、D列にD1とC列のその行までの合計を表示します。
    • good
    • 0

ちょっと発想を変えれば簡単に出来ます。



緑色の列がB列、最初の数字「31」がD1にあるとした場合、

6+31のセルは、(D2のセルと仮定)

=SUM($B$1:$B2,$D$1)

といれます。

-37+37=0の所はD2のセルをコピーし、D9に貼り付けます。

以下同様にすれば出来ます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!