
参照先のセルが空白の場合に値が入力されているセルまで列を遡って参照したいのですが、そのような時はどういった関数を使えば可能でしょうか?
具体的には添付画像のようなケースです。
A列には日付、B列にはニューヨークダウの終値が入力されています。
C列では当日終値の前営業日に対する変動率を求めます。
当日のB列が空白の場合はC列にも空白を返します。
前日の終値が空白のC3048とC3057にエラーが出ます。
C3048ではB3048のB3046に対する変動率、
C3057ではB3057のB3052に対する変動率 を求めます。
このケースではC列にどのような関数式を使えばよろしいでしょうか。
質問の文章が分かりづらくて申し訳ありませんが、よろしくお願いいたします。

No.7
- 回答日時:
参考までに
LOOKUP関数を使った方法が提示されていますが、関数を使うなら以下のような方法の方が計算の負担が少ないように思われます(該当セルの上4つのセルの中から一番下のセルを検索しています)。
=IF(B3048="","",B3048/INDEX(B:B,MAX(INDEX((B3044:B3047<>"")*ROW(B3044:B3047),)))-1)
ただし、上記の数式で検索範囲を5つにすると、逆にこの数式の方が負担が多いようですので1万行を超える行に入力するような場合は、このセル範囲を空白が続く最大範囲に合わせるようにしてください。
No.6
- 回答日時:
質問のやり方について、画像も良いが、文章で論点を表現する訓練をしてほしい。
ーーー
その列でそのセルやその上が空白セルの場合、上にさかのぼって、空白で無い最初(最下)のセルの値を取りたいなら
VBAのユーザー関数を使って
標準モジュールに
Function ue(a)
Application.Volatile
ue = a.End(xlUp).Value
End Function
を貼り付ける。
ーー
使い方は、例えば
B列
B1:B7
a
g
c
c
B7の式は=ue(B7)
VBAでは、最終行をとらえるときEnd(xlUp)は良く使うものだから、すぐ思いつく。
ーー
関数では正面きってこの質問課題に対する関数がない。
LOOKUP関数を奇抜なアイデアで応用したりするのが定石になっているが、天下り的な点はぬぐえない。
でも他に無いので定石化しているといえよう。
http://hpcgi1.nifty.com/kenzo30/a_cbbs/cbbs.cgi? …
No.5
- 回答日時:
C3048に
=IF(B3048="","",B3048/LOOKUP(1E7,$B$1:B3047)-1)
を記入,%書式(桁数表示調整)を施し,上下のセルにコピー。
No.4
- 回答日時:
マクロ組んだ方が、すっきりしますが関数のみで対応しようと思うと1行作業列を追加してください。
具体的に追加する作業列は、自セルより上にいくつ空白のセルがあるかをカウントしてその結果を表示させます。
そして、変動率を算出する際の分母となるセルについてオフセット関数を用いて作業列の結果分だけ上方向にずれるように組めば出来ます。
【作業列に入れる関数例】
=IF(C2="",D2‐1,0) こんな感じで内容としては次のようにします。
=IF(前日の日付セル="",前日の作業列での空白カウント結果+1,空白じゃない場合は「0」)
これで、連続して休日(空白)でも前日分の作業列の結果を引き継いで計算するので結果として大型連休だろうが連休日数がカウントされます。
【変動率に入れる関数例】
=IF(C3="","",(C3/OFFSET(C2,D3,0)-1)) こんな感じです。
offsetの部分を抜き出して説明するとOFFSET(前日のセル*オフセットする時の基準となるセル,当日の作業列のセル,行方向へのオフセット*今回は必要ないので「0」)
これで、作業列が平日なら「0」が入っているのでオフセットなしで前日が分母にきます。
作業列が0以外ならば作業列分上にオフセットしたセルを分母として計算します。
if分は、当日が空白の場合は変動率のセルも空白処理です(たぶん、これは既にされていると思いますが)
こんな感じで、各関数を2行目以降に入れてコピーすれば出来ると思います。
細かい関数の書き方は、質問者様で調整いただければと思います。
あくまでも、発想だけ参考にしてもらえればと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel VBA マクロ ある列の最終行迄を参照し、別の列の空白セルに値を入力したいです 2 2023/03/05 02:44
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) エクセル 自動計算 1 2023/01/30 13:28
- Visual Basic(VBA) エクセルVBAについて 2 2023/01/31 16:21
- Excel(エクセル) Excel2019、2021の日付、曜日の表示について 2 2022/11/29 15:01
- Excel(エクセル) 列の複数ある空白セルを飛ばして、セルに並べて表示したい 3 2023/02/12 16:49
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- Visual Basic(VBA) エクセルVBAで『A列』に新規で数値を入力し『B列』から右方向の空白セルにその値を貼り付ける方法 4 2022/11/05 08:37
- Excel(エクセル) Excelについて質問です(ver2019) 1 2023/06/30 21:20
- Excel(エクセル) Excel2019 列と列(2列)の数値の重複を調べたい 1 2023/05/11 13:35
このQ&Aを見た人はこんなQ&Aも見ています
-
いちばん失敗した人決定戦
あなたの「告白」での大失敗を教えてください。
-
ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
ゴリラ向け動画配信サイト「ウホウホ動画」にありがちなことを教えて下さい。
-
これ何て呼びますか
あなたのお住いの地域で、これ、何て呼びますか?
-
一番好きなみそ汁の具材は?
みんなで大好きなみそ汁の具材について語り合おうよっ!
-
かっこよく答えてください!!
あなたは今にも別れそうなカップルの彼女の恋愛相談に乗っています。
-
Excel-参照セルが空白の場合、別のセルを参照するには。
Excel(エクセル)
-
Excelで空白セル直前のセルデータ値を取得したい
Visual Basic(VBA)
-
エクセルで空白を無視して一番左にあるセルを参照したい
Excel(エクセル)
-
-
4
セルが空だったら一つ上のセルを自動入力したいです
Excel(エクセル)
-
5
エクセルで空白セルを含む列の最終行の値を取得する式を教えてください
Excel(エクセル)
-
6
[エクセル] セルが空だったら一つ上のセルを自動入力する
Excel(エクセル)
-
7
エクセルで、条件の合うものだけに連番をつけたいです。
Excel(エクセル)
-
8
エクセル もし、セルが空欄なら、その上のセルの値を入力する
Excel(エクセル)
-
9
空白セル内の数式を残したままで空白セル扱いとしたいのですが
Excel(エクセル)
-
10
値が入っている一番右のセル位置を返す方法
Excel(エクセル)
-
11
リンク先のファイルを開かなくても、値が読み込めるようにできますか?(SUMIFSを使ってます)
Excel(エクセル)
-
12
Excel に貼り付けた図形が、保存した後、再度、開くと勝手に動いている。
Excel(エクセル)
-
13
数式の置換がうまく行かない
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・昔のあなたへのアドバイス
- ・字面がカッコいい英単語
- ・許せない心理テスト
- ・歩いた自慢大会
- ・「I love you」 をかっこよく翻訳してみてください
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・はじめての旅行はどこに行きましたか?
- ・準・究極の選択
- ・この人頭いいなと思ったエピソード
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【マクロ】条件付き書式設定を...
-
空白のはずがSUBTOTAL関数でカ...
-
至急お願いします!エクセルの...
-
VBA_日時のソート
-
Excelファイルを開くと私だけVA...
-
エクセルの数式について教えて...
-
Excelの数式?について質問です...
-
エクセルで教えてください。 例...
-
ミリ秒を時間へ変更するには? ...
-
【マクロ】上のデータに下のデ...
-
テーブルの合計、エラーをはぶ...
-
【オートフィルター】3つのシ...
-
Excelのチェックボックスについ...
-
Excel 日付の表示が直せません...
-
2枚のエクセル表で数字をマッチ...
-
エクセルで、一部のセルだけ固...
-
マクロ セルを右クリックした時...
-
UNIQUE関数の代用
-
弥生青色申告オンライン .csvの...
-
Excel「VLOOKUP関数」について...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの設定、下へスクロー...
-
別のシートの指定列の最終行を...
-
【マクロ】シート追加時に同じ...
-
Excelファイルを開くと私だけVA...
-
Excelの関数を教えて下さい。
-
マクロを実行すると、セル範囲...
-
エクセルの設定、特定の列以降...
-
Excelの条件付書式について教え...
-
Excelで作成した出欠表から日付...
-
Excelでの文字入力について
-
Excel 日付の表示が直せません...
-
Excel関数の解決方法
-
システムファイルについて
-
自動的に日付入力 応用
-
UNIQUE関数の代用
-
エクセル内に読み込んが画像の...
-
勤務外時間を出す表が作りたい
-
Excel 偶数月の15日(土日祝...
-
【マクロ】Call関数で呼び出し...
-
【マクロ】1回目の実行後、2...
おすすめ情報