[[20110520054238]] 『直近の、空白でない入力セルの値』       (トムダウ)  ページの最後に飛ぶ

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

 

『直近の、空白でない入力セルの値』       (トムダウ)

とびとびにランダムな数値が入っているA列上で
空白ではない次の値を見つけては、その引き算をしたいです。
下記の例ではB2のセルには、直近の入力セルであるところの
A6セルの値を、関数にてB2セルの式に代入したいのです。

      A       B
1
2     3      12(=15-A2)
3                ↑この15を関数で記述したい             
3
4
5
6    15      -5(=10-A6)
7    10      12(=22-A7)  
8          
9
10
11
12
13        
14      
15   22
16
17

他のサイトで最下行の値を検索する(上のB2の場合では=22-A2)式があり、
=INDEX(A:A,MATCH(MAX(A:A)+1,A:A,1))
 その式を、最上行の値を検索する式に修正できないかと試みたのですが
出来ませんでした。

いろいろ調べて回ったのですが、見つからないので質問させていただきました。
どうぞよろしくお願い致します。


 Excelのバージョンは何?
 (春日野馨)

  B1:=IF(A1="","",INDEX(A2:$A$1000,MATCH(1,1/(A2:$A$1000<>""),0))-A1)
 [Ctrl]+[Shift]+[Enter]で確定                (NB)

 ◆こんな方法はいかがでしょう
 B1=IF(OR(A1="",COUNT(A2:A100)=0),"",INDEX(A2:A100,MATCH(1,INDEX(1/(A2:A100<>""),),0))-A1)
 (Maron)

(春日野馨)様、こんばんは。
わたしのEXCELのバージョンは、2007です。
ご返信ありがとうございます。

(NB)様、(Maron)様、こんばんは。
先ほど帰宅して、早速わたしのEXCELシートに代入してみましたら、どちらの式でも見事に引き算の結果が表示されました。とても嬉しいです!
私はまだ初心者で、MATCH関数は使ったことがあるのですが、INDEX関数については全くの無知ですので、
この休日には、ご教示いただいた式の中身をしっかりと勉強させていただこうと思います。
この度は誠にありがとうございました。(トムダウ)

 見た目でよければ
 B1:=IF(A2="",B2-A1,A2-A1)
 条件付き書式  数式が「=COUNT(A1)=0」  書式 文字色を「白」(見えなくする)  (NB)

 横からすいません。NBさん、驚きました。
今回の質問者さんからの質問で、こういう発想はどの様な思考回路から出てくるのでしょうか。何か考え方の秘訣があれば教えて下さい。
それとも過去の経験からご存知の"定石"のようなものでしょうか。
(おいちゃん)

 B1:=IF(A1="","",-SUM(B2:$B$1000)-A1)                         
 最後にダミー行(ブランク行)が入ります。               (NB)


(NB)様 またまた興味深い新式を教えていただき有難うございます。

 簡単な式のようで、その計算過程としては、その都度 
 目的地(空白ではないセル)まで行ってきてはUターンして
 お土産(引き算結果)を手渡しているという感じでしょうか。
 (おいちゃん)様のご返信の通り、わたしも大変感嘆しております。
 まるで手品ですね。いやーEXCEL脳って、奥が深い!
  ただ、わたしのEXCELシートのA列上のデータは、IF文で作成した
 [ランダム数値]と[空白""]という内容で、新式では#VALUEが返されますので
 今回は昨日の式を使わせていただきます。  (トムダウ)

コメント返信:

[ 一覧(最新更新順) ]


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