• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル:複数の不明なデータを平均で埋める)

エクセルで不明なデータを平均で埋める方法

このQ&Aのポイント
  • エクセルで複数の不明なデータを平均で埋める方法をご紹介します。
  • データが入手できない年が続く場合には、前後の年のデータから推移を予測する方法もあります。
  • データの量が多い場合でも一括で処理することができます。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

計算自体はごく簡単な中学(?)の式ですが,「一括で出来る方法」がエクセルの構造上ありません。 エクセルの関数や数式には,自分の上や下にあるのが「生数字」なのか「(自分と同じ)式なのか」を見分ける事が出来ないからです。 という訳で,一括にしたいのが重要ならマクロを併用する必要があります。 ところで平均は「上下」で見たいのか「左右」方向で見たいのか,ご相談に書かれていません。 とりあえず上下方向だけ書いておきますので,実は左右だったときは適宜修正して利用してください。 手順: マクロのセキュリティを中にしてエクセルを再起動する ALT+F11でVBE画面を出す 挿入メニューから標準モジュールを選ぶ 現れたシートに下記をコピー貼り付ける Function myavrV()  Dim x As Long  Dim s As Long  Dim e As Long  Dim c As Long  Dim LB As Long  Application.Volatile  x = Application.Caller.Row  s = x  e = x  c = Application.Caller.Column  LB = Cells(65536, c).End(xlUp).Row  Do  s = s - 1  Loop Until s < 2 Or Not Cells(s, c).HasFormula  Do  e = e + 1  Loop Until e > LB Or Not Cells(e, c).HasFormula  myavrV = (Cells(e, c) - Cells(s, c)) / (e - s) * (x - s) + Cells(s, c) End Function 終了してエクセルに戻り,表中の空欄に =myavrV() とまとめて記入する。

sutemixxxx
質問者

お礼

早速のご対応ありがとうございます。 エクセルは毎日のように使うのですが、マクロに苦手意識がありました。 「左右方向」だったのでこちらで対応して、 教えて頂いた方法で解決させて頂きました。 しかし、実はこの方法だと表の最後の数字以降に、見当違いな予測が記入されます。 説明が難しいのですが、 1、不明A、不明B、不明C、5の場合は問題が無いのですが、 1、不明A’、不明B’、4、不明C’のように、表の最後の数字(この場合は4)以降に不明な蘭があった場合、不明C’に平均ではない何らかの数字(有意とは思えない数字)が書き込まれてしまいます。 これはこちらで適宜削除していきましたが、今後大量のデータでご活用なさる方は、ご注意くださいませ。

関連するQ&A